الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برمج منتدى بسيط (2)

مغلق
بدأه ahmad123 في 30 يوليو 2007 · 39 رد · 3,731 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

نبدأ بدرس الثاني من سلسله

تأ ملو معي هذه الصوره

d7f2fe67a9.gif

ماذا تلاحظون؟

القسم الاساسي من منتدى يتكون من :-

اسم منتدى وهو رقم واحد

وصف المنتدى وهو رقم اثنان

لندخل في تفاصيل الدرس ..

الملفات التي سننشئها اليوم:-

index.php

css.css

الملف الاول هو المهم

اما الملف الثاني يترك لك حريه في تنفيذه او عدمه

كود الصفحه كاملا

<?
include("config.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <link rel="stylesheet" type="text/css" href="css.css" />
  <title>WELCOME TO MY FORUM</title>
</head>

<body>
<h1 align="center">اهلا بكم في المنتديات</h1>
<?php
$query="SELECT*FROM section ORDER BY `sid` ASC";

$results=mysql_query($query);

while($row=mysql_fetch_array($results)){
	 echo"<div class='title'>$row[section_name]";
	 echo"<div class='des'>$row[description]</div></div><br/>";
	 }
?>

</body>

</html>

الجزء الاول من درس اول الدرس يتضمن استدعاء ملف الاتصال بقاعدة البيانات والتي كنا انشئناها في الدرس الاول

وقمنا بحفظه لملف لوحده config.php

الان...الداله التي سوف تقوم بهذه المهمه هي include ومعناها بلعربي احتوي او شيء من هاذا القبيل

تقوم الداله بهذه الوظيفه وسأشرح كيفية استخدامها

include("myfile.php");

ونحن قمنا باستدعاء الملف هاذا اي كأن الصفحه index.php اصبحت هكذا

<?
$name="root";
$pass="";
$host="localhost";

$link=mysql_connect($host,$name,$pass) or die(mysql_error());
mysql_select_db("forum",$link);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <link rel="stylesheet" type="text/css" href="css.css" />
  <title>WELCOME TO MY FORUM</title>
</head>

<body>
<h1 align="center">اهلا بكم في المنتديات</h1>
<?php
$query="SELECT*FROM section ORDER BY `sid` ASC";

$results=mysql_query($query);

while($row=mysql_fetch_array($results)){
	 echo"<div class='title'>$row[section_name]";
	 echo"<div class='des'>$row[description]</div></div><br/>";
	 }
?>

</body>

</html>

الجزء الثاني من درس

تذكروا معي هاذا ما قمنا بعمله في درس الاول

CREATE TABLE `section` (
  `sid` int(11) NOT NULL auto_increment,
  `section_name` varchar(250) NOT NULL,
  `description` text NOT NULL,
  PRIMARY KEY  (`sid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1256 AUTO_INCREMENT=3

;

sid:مفتاح رئيسي اي لا يتكرر في جدول

section_name:اسم قسم مثل "قسم المقالات وتكنولوجيا"

description:وصف المنتدى الذي سوف يضاف

تستطيع القيام بهاذا عن طريق phpmyadmin او طرق اخرى كثيره..

-------------------------------------------------------------------------------------

الان نقوم بــ

الاستعلام التالي لندخل بعض المعلومات التجريبيه لجدول لكي نظهرها :-

INSERT INTO `section` (`sid`, `section_name`, `description`) VALUES 
(1, 'المقالات ، و أخبار التكنولوجيا  ', 'منتدى يناقش آخر أخبار تكنولوجيا المعلومات و المواضيع العلمية ، لو رأيت خبر ما في مجال تكنولوجيا المعلومات في الانترنت يمكنك الإشارة إليه في هذا المنتدى، و حتى مناقشته مع الأعضاء الآخرين '),
(2, 'مجتمع الفريق العربي  ', 'يهتم هذا القسم بمجتمع أعضاء الفريق العربي للبرمجة ، زواجات ، تهاني منوعه ، مواليد ، زيارات تعارف بين الأعضاء ، ترقيات .\r\n\r\nلن تظهر أي مشاركة قبل إعتمادها من قبل المشرفين و ستحذف أي مشاركه خارجه عن مجتمع الفريق العربي و بدون الرجوع إلى كاتبها .');

كما تلاحظون ادخلنا للجدول معلومات كما في الصوره الاولى

تستطيع ايضا تنفيذ الاستعلام عن طريق phpmyadmin او طرق اخرى سوف تستنجها

الان نريد استعراض هذه المعلومات

عن طريق الكود التالي:-

<?php
$query="SELECT*FROM section ORDER BY `sid` ASC";

$results=mysql_query($query);

while($row=mysql_fetch_array($results)){
	 echo"<div class='title'>$row[section_name]";
	 echo"<div class='des'>$row[description]</div></div><br/>";
	 }
?<

نقوم بتعريف المتغير $query

والذي يحتوي على الاستعلام التالي

$query="SELECT*FROM section ORDER BY `sid` ASC";

ملاحظه :تستطيع ان تتعلم لغة sql بسهوله تامه ولا تواجه اي صعوبه هناك الكثير من المواضيع في نت تشرحها اضافه الى كتب عديده

الان سوف يتضح لك لماذا قمنا بذلك..

الداله mysql_query

تقوم بهذه الداله بتفيذ استعلام mysql

وصيغتها العامه

mysql_query("هنا الاستعلام"(;

نقوم بتفيذ الاستعلام ووضعه في المتغير $ressult

هكذا...

$

results=mysql_query($query);

نحن قمنا بهذا الاستعلام بختيار جميع محتويات الجدول ولكن ماهي الطريقه التي

سوف نستخدمها لأظهارها؟؟؟

لعمل ذلك يتطلب وضع الاستعلام داخل حلقه مثل while و for

وسف نستخدم في هذه الدرس while لعمل ذلك

الصيغه العامع

while(الشرط الذي نريده)
}
النتائج اذا تحقق شرط
}
سنقوم نحن بلكود التالي
while($row=mysql_fetch_array($results)){
	 echo"<div class='title'>$row[section_name]";
	 echo"<div class='des'>$row[description]</div></div><br/>";
	 }

هاذا كود

$row=mysql_fetch_array($results)

قمنا باستخدام الداله mysql_fetch_array حيث تقوم هذه داله بسماح لنا بتعامل مع الجدول وكأنه

مصفوفه

وقمنا بتخزين الناتج في المتغير $row

وكأننا قمنا بتالي

نفرض ان الجدول يحتوي عل حقلين name id

ونريد ان نضع name,id في مصفوفه نقوم بلاتي

نقوم بتعريف متغير جديد

$array=array('id','name');

وعندما نريد استدعاء id

$array[id]

ارجو ان تكون قد وضحت الامور

الان لطباعة المخرجات نستخدم الداله echo

وصيغه العامه

echo"mystring"

انتبه!!

يجب اذا اردنا طباعة متغير يجب وضعه داخل " " وليس ' '

الان

نريد طباعة اسم و وصف

ونستطيع اخراجهم من جدول

كتالي

$row[name]
$row[descrption]

وباستخدام الداله echo ووضعهم داخل لووب

يصبح الكود

<?php
$query="SELECT*FROM section ORDER BY `sid` ASC";

$results=mysql_query($query);

while($row=mysql_fetch_array($results)){
	 echo"<div class='title'>$row[section_name]";
	 echo"<div class='des'>$row[description]</div></div><br/>";
	 }
?<

وكود صفحه كاملا

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <link rel="stylesheet" type="text/css" href="css.css" />
  <title>WELCOME TO MY FORUM</title>
</head>

<body>
<h1 align="center">اهلا بكم في المنتديات</h1>
<?php
$query="SELECT*FROM section ORDER BY `sid` ASC";

$results=mysql_query($query);

while($row=mysql_fetch_array($results)){
	 echo"<div class='title'>$row[section_name]";
	 echo"<div class='des'>$row[description]</div></div><br/>";
	 }
?>

</body>

</html>

ملف css اختياري

.title
{
  width: 900;
  background-color: #D4D0C8;
  border: #000000 solid 1px;
  text-align: right;
  font-size:32px;
}
.des
{
  font-size:16px;
  font-family: Tahoma;
}

الناتج معنا اصبح كما في صوره الاتيه

767eaee0f7.gif

هاذا درس كان طويلا ولكنه سهل ولا يحتاج الا قليل من تركيز

الاسئله المطلوبه منكم...

1 - كيف يمكننا تكوين جدول عن طريق php&mysql

- 2 ماهي الداله التي تغنينا عن include

3 - ماهي الداله التي تغنينا عن echo

4 - ما هي التعديلات اللازمه لاستخدام for بدلا من do

5 - السؤال المهم ارجو التفكير به

في منتدى الفريق العربي للبرمجه للانتقال الى منتدى قسم مقالات وتكنولوجيا او اي منتدى يكون الرابط كتالي

/index.php?showforum=12

ماذا يعني هاذا؟؟؟ الرقم؟؟

اي سؤال مهما كان بسيط ارجو سؤاله

اكتفي بهذا القدر واي تعليق او تصحيح

يرجى منقاشته هنا

وسلام عليكم ورحمة الله وبركاته

تم تعديل هذه المشاركة بواسطة ahmad123 في 30 يوليو 2007 في 01:04

#2

جزاك الله خيرا وجعل كل حرف في ميزان حسناتك

يعني نعمل دلوقتي فايلين بالاسامي دي دوت بي اتش بي ونسيبهم فاضيين؟

#3

اه معلش انا رديت كانت الاكواد عندي مش ظاهرة

#4

جزاك الله كل خير , بعد اذنك كنت عاوز اضيف حاجة صغيرة :

ان فى دالة تانية بتعمل نفس وظيفة include اسمها require وهى تؤدى نفس الوظيفة بفارق بسيط انه فى حالة لم يتم ايجاد الملف المطلوب اضافته لن تتم عملية تحميل الصفحة وستقف على التحذير على العكس من انكلود التى ستكمل التحميل وطباعة الاخطاء التى ستظهر من عدم تحقيق الاتصال نتيجة الخطأ فى اضافة الملف , لذالك انا بفضل شخصيا استخدام require فى الحالة ديه ..

مدونة مهندس ميكانيكى

“Any fool can make things bigger, more complex, and more violent”

#5

بالفعل درس دسم و مفيد حدا ..

ساقوم بتطبيق الدرس لاحقا و قد استوعبت محتوياته كاملة ..

مشكووور يا باشا على الدرس !!!!

#6

ما حد جاوب الاسئله؟؟؟؟!!

جواب سؤال الاول

عن طريق جملة استعلام SQL :CREATE DATABASE

مثال

$sql = 'CREATE DATABASE my_db';
if (mysql_query($sql, $link)) {
	echo "Database my_db created successfully\n";
} else {
	echo 'Error creating database: ' . mysql_error() . "\n";
}
#7

جواب السؤال الثاني كما اجابه الاخ

FemTo 10/10

اقتباس
ان فى دالة تانية بتعمل نفس وظيفة include اسمها require وهى تؤدى نفس الوظيفة بفارق بسيط انه فى حالة لم يتم ايجاد الملف المطلوب اضافته لن تتم عملية تحميل الصفحة وستقف على التحذير على العكس من انكلود التى ستكمل التحميل وطباعة الاخطاء التى ستظهر من عدم تحقيق الاتصال نتيجة الخطأ فى اضافة الملف , لذالك انا بفضل شخصيا استخدام require فى الحالة ديه ..
#8

جواب السؤال الثالث

وهي الداله print

مثال

print"welcome"
#9

جواب السؤال الثالث

عن طريق for يلزمنا ان نجد عدد الصفوف من الاستعلام عن طريق

$num=mysql_num_rows($res);

ومن ثم نضعه في لووب for

for($i=0;$i<=$num;$i++)
{
.
.
.

.
}

تم تعديل هذه المشاركة بواسطة ahmad123 في 2 أغسطس 2007 في 18:04

#10

السؤال الخامس واخير سوف نتابعه في درس قام

شكر لكم :lol:

#11

السلام عليكم

انا كتبت الكود

<?php
///////////////////connect database/////////////////
$name="root";
$pass="";
$host="localhost";

	$link=mysql_connect($host,$name,"");
		if(!$link)
						{
							die(mysql_error());
						}

		 else
							echo "connected sucessfully";
/////////////// create database////////////////////////
	$query="CREATE DATABASE IF NOT EXISTS myforum";

if(!query)


						{
							die(mysql_error());
						}

		 else
							echo "Database Created";

mysql_select_db("forum",$link); 							


?>

وبيِشتغل عادي بيكتب

connected sucessfullyDatabase Created

بس لما افتح

http://localhost/phpmyadmin/

مش بلاقي اسم الداتابيز الي عملتها موجودة

تم تعديل هذه المشاركة بواسطة ensana في 4 أغسطس 2007 في 01:08

#12

عرفت الخطأ كان يجب انا اكتب هذا السطر

$result= mysql_query($query);
#13

ما معنى هذا؟

) ENGINE=MyISAM DEFAULT CHARSET=cp1256 AUTO_INCREMENT=3];
#14

اهلا بكم في المنتديات

الجمل بتتكتب عندي علامات استفهام

ليه مش بيقبل عربي؟

#15
ensana كتب:
اهلا بكم في المنتديات

الجمل بتتكتب عندي علامات استفهام

ليه مش بيقبل عربي؟

جرب استخدام سيرفر الجمل

#16
ensana كتب:
ما معنى هذا؟

) ENGINE=MyISAM DEFAULT CHARSET=cp1256 AUTO_INCREMENT=3];

راجع الدرس السابق

#17
ahmad123 كتب:
راجع الدرس السابق

لم اجدها

#18
/index.ph...34046&st=10
#19

السلام عليكم ورحمة الله وبركاته

اسفة مش اخدت بالي من اجابة السؤال السابق لاني عندما فتحته لأول مرة كان لم يحرر بعد ببقية اجابتك وجزاك الله خيرا

الداتا الي مدخلاها لما بفتح الداتابيز مش بلاقيها ليه وانا عملالها انسيرت؟

config.php

<?php
///////////////////connect database/////////////////
$name="root";
$pass="";
$host="localhost";

	$link=mysql_connect($host,$name,"");
		if(!$link)
						{
							die(mysql_error());
						}

		 else
							echo "connected sucessfully";
/////////////// create database////////////////////////
	$query="CREATE DATABASE IF NOT EXISTS myforum";
	$result= mysql_query($query);
if(!query)


						{
							die(mysql_error());
						}

		 else
							echo "Database Created";



$query= "CREATE  TABLE `section` (
  `sid` int(11)  NOT NULL auto_increment,
  `section_name` varchar(250) NOT NULL,
  `description`  text NOT NULL,
  PRIMARY KEY   (`sid`))";

mysql_select_db("myforum",$link);  
$result=mysql_query($query,$link);
if(!$result)
{
	echo"DB Error ,could not query the database<br>";
	echo'MySQL Error: '.mysql_error();
	exit;
}else
 echo" the table sections is created sucessfully ";

?>

index.php

<?php
include("config.php")
?>
<head>
 <title>WELCOME TO MY FORUM</title>
</head>

<body>
<h1 align="center">Wellcome</h1>
<?php
 $query="insert into section (`sid`, `section_name`, `description`) values ('1','php','this talk about all things related to php programming language')"; 
$result=mysql_query($query,$link);
if(!$result)
   {
	echo" <strong><center> New user could not be saved.. Error is : ".mysql_error()." </strong></center>";
} else
echo "saved sucessfully";
	/* echo"<br><h1><center> New user have been saved  successfuly
insert into `section` (`sid`, `section_name`, `description`) VALUES ('1','php','this talk about all things related to php programming language');

mysql_select_db("myforum",$link);  
$result=mysql_query($query,$link);
if(!$result)
{
	die "cannot be inserted";
}
else
	echo "Data inserted";*/
	?>
#20

الافضل اتبع بعد كل استعلام وضع داله mysql_error

حتى تتأكد اذا الخطأ في بي اتش بي ام قاعدة بيانات

#21

انا لما بفتح صفحة config.php

بييجي عندي

connected sucessfullyDatabase CreatedDB Error ,could not query the database

MySQL Error: Table 'section' already exists

#22

عرفت خطأي

لان الكود كل مرة بينشا داتا بيز بنفس الاسم

#23

$link = mysql_connect('localhost','root');
if(!$link)
{

die(mysql_error());
}

else
echo "connected sucessfully";
?>
<head>
<title>WELCOME TO MY FORUM</title>
</head>
<body>
<h1 align="center">Wellcome</h1>
<?php
$query="insert into section (sid,section_name,description) values (1,'Web Sites Programming','this talk about all things related to Web Site programming language'),(2,'Programming language','this is teke about all programming language like C .. C++ .. java'),(3,'DataBase','this is take about DataBase')";
mysql_select_db("myforum",$link);
$result=mysql_query($query,$link);
if(!$result)
{
echo" <strong><center> Not inserted : ".mysql_error()." </strong></center>";
} else
echo "inserted sucessfully";

?>
<?php

Output


Wellcome
Not inserted : Duplicate entry '1' for key 1
connected sucessfully

#24

تقريبا الخطأ لأننا اعطينا للمتغير sid

ثلاث معطيات

فما الحل؟

نترك السرفر هو يعطي الارقام بنفسه؟

هكذا

<?php
	$link = mysql_connect('localhost','root');
		if(!$link)
						{

							die(mysql_error());
						}

		 else
							echo "connected sucessfully";
?>
<head>
 <title>WELCOME TO MY FORUM</title>
</head>
<body>
<h1 align="center">Wellcome</h1>
<?php
$query="insert into section (section_name,description) values ('Web Sites Programming','this talk about all things related to Web Site programming language'),('Programming language','this is teke about all programming language like C .. C++ .. java'),('DataBase','this is take about DataBase')"; 
mysql_select_db("myforum",$link);
$result=mysql_query($query,$link);
if(!$result)
{
	echo" <strong><center> Not inserted : ".mysql_error()." </strong></center>";
} else
echo "inserted sucessfully";

	?>

الكود الي حضرتك كاتبه هل يعمل؟؟

INSERT INTO `section` (`sid`, `section_name`, `description`) VALUES 
(1, 'المقالات ، و أخبار التكنولوجيا  ', 'منتدى يناقش آخر أخبار تكنولوجيا المعلومات و المواضيع العلمية ، لو رأيت خبر ما في مجال تكنولوجيا المعلومات في الانترنت يمكنك الإشارة إليه في هذا المنتدى، و حتى مناقشته مع الأعضاء الآخرين '),
(2, 'مجتمع الفريق العربي  ', 'يهتم هذا القسم بمجتمع أعضاء الفريق العربي للبرمجة ، زواجات ، تهاني منوعه ، مواليد ، زيارات تعارف بين الأعضاء ، ترقيات .\r\n\r\nلن تظهر أي مشاركة قبل إعتمادها من قبل المشرفين و ستحذف أي مشاركه خارجه عن مجتمع الفريق العربي و بدون الرجوع إلى كاتبها .');

حيث اعطى لل sid ثلاث قيم؟

تم تعديل هذه المشاركة بواسطة ensana في 6 أغسطس 2007 في 01:40

#25

بما ان sid مفتاح اساسي لا يتكرر وmysql تعطيه ارقام تلقائيه

اما ان تضع بدل 1 2 3 .. --> NULL

او فرغ قاعدة البيانات وقم باستعلام من جديد :)

هذا الموضوع مغلق.

مواضيع مشابهة