شبكة تيمورنت
خش ومتخفش مش هنموتك لو مسجلتش
شكرا لزيارتكم
ادارة المنتدى
شبكة تيمور نت
شبكة تيمورنت
خش ومتخفش مش هنموتك لو مسجلتش
شكرا لزيارتكم
ادارة المنتدى
شبكة تيمور نت
شبكة تيمورنت
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

شبكة تيمورنت

 
الرئيسيةالرئيسية  البوابةالبوابة  المنشوراتالمنشورات  أحدث الصورأحدث الصور  التسجيلالتسجيل  دخولدخول  

شاطر
 

 الدرس الثالث من الفصل الثاني :قاعدة البيانات

استعرض الموضوع التالي استعرض الموضوع السابق اذهب الى الأسفل 
كاتب الموضوعرسالة
معلومات العضو
الخواجه


المشرفون

المشرفون
معلومات إضافية
ذكر
العقرب
الأبراج الصينية القط
عدد المساهمات : 29
نقاط : 9055
تاريخ الميلاد : 18/11/1999
تاريخ التسجيل : 18/01/2012
العمر : 24
العمل/الترفيه : lj
المزاج : lll
معلومات الاتصال
مُساهمةموضوع: الدرس الثالث من الفصل الثاني :قاعدة البيانات   الدرس الثالث من الفصل الثاني  :قاعدة البيانات Emptyالثلاثاء أبريل 10, 2012 7:00 am


الفصل التاني :قاعدة البيانات
*قراءة البيانات :

نعود من جديد لنداعـــــــــب صفحات وأكواد PHP

سنتعرف في درس اليوم على كيفية ربط قاعدة البيانات و قراءة المعلومات منها وسنتعرف أيضا عن بعض مؤشرات البحث أو الأختيار
بالأضافة إلـــى اوامر الاستعلام

بصراحة درس جــــــد مهـــم ,لأننا سنتعلم الشيء الكثيــر
لدا أتوخــى منكـم أن تتابعوا الدرس بكل جديــة وحــــزم

-الربط بقاعدة البيانات :

للتعامل مع قاعدة البيانات وجب الاتصال بMySQL أولا

الاتصال همـممم ,أين هو الموديــــم ؟!!

لا لا أمزح ,سنقوم في هذا الدرس بطلب معلومات من قاعدة البيانات ,لكن وحده PHP الوسيط بينا وبين MySQL .


مشكلــة: لا يمكن لPHP أن يطلب من MySQL البيانات من أول وهلــة.MySQL يطلب اسم مستخدم وكلمة مرور .وإلا يمكن لأي شخص أن يدخل إلى قاعدة بياناتكــ و...

لهذا يلزم على PHP أن يدلي بمعلومات الدخول ,وهكذا نقول أنه أحرز اتصال بMySQL.

بعد بدء الاتصال يمكننا أن نجري أي عملية على قاعدة البيانات

في الفقرة الأولى من هذا الدرس سنقتصر على :
-الاٍتصال ب MySQL

-اختيار قاعدة البيانات
-انهاء الاٍتصال

*الإتصال :

للإتصال نستعمل دالة PHP : اسمها mysql_connect

هذه الدالة تحتاج ثلاث متغيرات :

-اسم الجهاز :إنه IP الجهاز الذي نصب عليه MySQL. في أغلب الحالات ينصب MySQL في جهاز نصب فيه كذلكــ PHP لهذا يسمح لنا أن نستعمل القيمة :localhost ويمشي معنا الحال


-اسم المستخدم :يتم
إعطائه لكــ من قبل الشركة المستضيفة لموقعكــ .وعموما بالنسبة للشركات
المستضيفة المجانية يكون هو نفسه المستعمل في حسابكــ FTP.


-كلمة المرور :وهنا أيضا تكون نسبة 99% هي نفسها المستعملة في حسابكــ FTP.

سنعتبر أن اسم الجهاز في الأمثلة التي سنقوم بها هو localhost واسم المستخدم هو Yass أما كلمة المرور فهي bramjnet


وبالتالي سيكون كود الإتصال على الشكل التالي :



كود PHP:




<?

mysql_connect
("localhost", "Yass", "bramjnet");

?>




إذا قمتم بكتابة هذا الكود ستتمكنون من إجراء اتصال جد جد مباشر ببياناتكم.

معلومة :إذا كنتم تشتغلون على جهازكم فإن اسم الجهاز هو localhost واسم المستخدم root وبدون كلمة مرور يعني :



كود PHP:




mysql_connect("localhost", "root", "");






*اختيار قاعدة البيانات :

OK ,نحن الآن نربط الإتصال ب MySQL مايلزمنا هو اختيار قاعدة البيانات التي سنشتغل عليها

الدالة التي تمكننا من إختيار قاعدة البيانات هي :mysql_select_db

ولاتحتاج إلا متغير واحد وهو اسم قاعدة البيانات

مثلا ليكن الأسم هو MyBase :



كود PHP:




<?

mysql_connect
("localhost", "Yass", "bramjnet"); // Connexion à MySQL

mysql_select_db("MyBase"); // Sélection de la base MyBase

?>




*انهاء الإتصال :

وأخيرا بعد الأتصال و انهاء الأستعلام من قاعدة البيانات لم يبقى لنا إلا أن ننهي الإتصال

الدالة التي تمكننا من انهاء الإتصال هي :mysql_close
ولا تحتاج لأي متغير



كود PHP:




<?

mysql_connect
("localhost", "Yass", "bramjnet");// Connexion - MySQL

mysql_select_db("MyBase"); // Selection BDD MyBase

// we are connected, we can work on the BDD

// ...

// ...

// we finished working, we close connection:

mysql_close(); // Deconnexion - MySQL

?>





-استرجاع البيانات :
سنتعرف في هذه الفقرة عن كيفية إجراء استعلام على جدول ما.

ليكن الجدول Games موجود في قاعدة بياناتنـــا MyBase ويحوي هاته الحقول :
-ID
-name
-price


الدالة التي تمكننا من ارسال الاستعلام هي :mysql_query

وتحتاج لمدخل الاستعلام المطلوب -query- :



كود PHP:




<?

$reponse
= mysql_query("SELECT * FROM Games");

?>




*طباعة نتائج الإستعلام :
المشكلــة هي أن المتغير $reponse يحتوي على قيم غير مرتبة أو يمكن أن نقول أنها تحتاج لنوع آخر من المتغيرات حتى تقرأ بالشكل الجيد.
تعرفتم على هذا النوع من المتغيرات المعقد الذي سيخلصنا من هده الورطة ؟
إنه المصفوفة الحرفية , نعم فنتائج البحث أو الإستعلام سنضعها في هذا النوع من المتغيرات
أتتذكرون عندما قلت لكم أن المصفوفات جد مهمة في الدروس القادمة.

فحثما كيف كان لنا أن نقرأ البيانات وطباعتها بدون المصفوفات


فPHP له دالة خاصة تقوم بتحويل نتائج الإستعلام إلى مصفوفة وهي الدالة :mysql_fetch_array
وكل مرة نستعمل هذه الدالة ننتقل للعنصر التالي في نتيجة الإستعلام


واليكم الكود الخاص بطباعة اسم وثمن الألعاب الموجودة في قاعدة بياناتنـــا :



كود PHP:




<?

mysql_connect
("localhost", "Yass", "bramjnet"); // Connexion - MySQL

mysql_select_db("MyBase"); // Selection BDD MyBase

$reponse = mysql_query("SELECT * FROM Games "); // Query SQL

// We make a loop to list all that the table contains :

while ($donnees = mysql_fetch_array($reponse) )

{

?>

<p>

Game : <? echo $donnees['name']; ?><br />

The price : <? echo $donnees['price']; ?>

</p>

<?

}

mysql_close(); // Deconnexion - MySQL

?>








كود PHP:




<?

mysql_connect
("localhost", "Yass", "bramjnet"); // Connexion - MySQL

mysql_select_db("MyBase"); // Selection BDD MyBase

$reponse = mysql_query("SELECT * FROM Games "); // Query SQL

// We make a loop to list all that the table contains :

while ($donnees = mysql_fetch_array($reponse) )

{

?>

<p>

Game : <? echo $donnees['name']; ?><br />

The price : <? echo $donnees['price']; ?>

</p>

<?

}

mysql_close(); // Deconnexion - MySQL

?>




-مؤشرات الأختيار:
سنرى في هذه الفقرة العبارت التي ممكن أن نستعملها في صياغة الإستعلام

ومنهــــــــا :
-WHERE
-ORDER BY
-LIMIT

*WHERE :
بمساعدة هذا التعبير يمكنكم فرز نتائج الإستعلام

مثلا نريد طباعة الألعاب التي ثمنها أقل من 10 دولار :

سيكون الكود على الشكل التالي :



كود PHP:




<?

mysql_connect
("localhost", "Yass", "bramjnet"); // Connexion - MySQL

mysql_select_db("MyBase"); // Selection BDD MyBase

$reponse = mysql_query("SELECT * FROM Games WHERE price <= 10"); // Query SQL

// We make a loop to list all that the table contains :

while ($donnees = mysql_fetch_array($reponse) )

{

?>

<p>

Game : <? echo $donnees['name']; ?><br />

The price : <? echo $donnees['price']; ?>

</p>

<?

}

mysql_close(); // Deconnexion - MySQL

?>




كما يمكنكم وضع أكثر من شرط على الإستعلام ووجب تفريق الشرطين بعبارة AND أو OR

*ORDER BY :

هذا التعبير يسمح لنــا بترتيب وتصنيف نتائج الإستعلام حسب حقل يكون من إختيارنا إليكم المثال :



كود PHP:




<?

mysql_connect
("localhost", "Yass", "bramjnet"); // Connexion - MySQL

mysql_select_db("MyBase"); // Selection BDD MyBase

$reponse = mysql_query("SELECT * FROM Games ORDER BY price "); // Query SQL

// We make a loop to list all that the table contains :

while ($donnees = mysql_fetch_array($reponse) )

{

?>

<p>

Game : <? echo $donnees['name']; ?><br />

The price : <? echo $donnees['price']; ?>

</p>

<?

}

mysql_close(); // Deconnexion - MySQL

?>




للأشارة فهذا الترتيب يكون ترتيب تزايدي , فإذا رغبت أن يكون العكس أي الترتيب يكون تناقصي :

فبلزمكــ اضافة العبارة DESC الى نص الأستعلام :



كود PHP:




SELECT * FROM Games ORDER BY price DESC






*LIMIT :
سيكون هذا التعبير -LIMIT - آخر تعبير في هذه الفقرة ويسمح لنا بأخذ جزء
محدد من نتيجة الإستعلام , يضاف إلى آخر نص الإستعلام زيادة على عددين
تفصلهمــا علامة (,)

مثال :


كود PHP:




SELECT * FROM Games LIMIT 0, 20






ماذا يقصد بالعددين ؟

سؤال مهم :p


-نحدد الطرف الأول الذي سنبدأ منه قراءة نتيجة الإستعلام :حددته في 0
في MySQL العدد 0 يقابل النتيجة الأولى في الإستعلام و1 الثانية و2 الثالثة وهكذا
-بعد ذلك نضع العدد الثاني الذي يحدد مجموع النتائج التي سنقرأها , هنا وضعت 20


وبالتالي إذا وضعت :

*LIMIT 0,20 :يعني ستقرأ السطور العشرين الأولى

*LIMIT 5,10 :ستقرأ السطور من الرقم 6 إلى الرقم 15

*LIMIT 10,2 :ستقرأ السطرين 11 و12

مفهــــــوم ؟


هيا بنا نختم هذه الفقرة بمثال من قاعدة بياناتــــنا ,سنعرض عشر لعب الأولى من الجدول :



كود PHP:




<?

mysql_connect
("localhost", "Yass", "bramjnet"); // Connexion - MySQL

mysql_select_db("MyBase"); // Selection BDD MyBase

$reponse = mysql_query("SELECT * FROM Games LIMIT 0, 10"); // Query SQL

// We make a loop to list all that the table contains :

while ($donnees = mysql_fetch_array($reponse) )

{

?>

<p>

Game : <? echo $donnees['name']; ?><br />

The price : <? echo $donnees['price']; ?>

</p>

<?

}

mysql_close(); // Deconnexion - MySQL

?>




لدي سؤال بخصوص كل هاته التعابيــــر التي رأيناها في هذه الفقرة
-هل يمكنني أن أستعمل جميع هاته التعابير في نص إستعلام واحد ؟


نعم يمكنكـــم ذلكــ :



كود PHP:




SELECT name, price FROM Games WHERE price <10 OR price =10 ORDER BY price DESC LIMIT 0,10






إنتباه :وجب عليكم أن تضعوا هاته التعابير في نفس الترتيب الذي أوردته في المثال:WHERE ثم ORDER BY ثم LIMIT وإلا فلن يستطيع MySQL فهم نص الإستعلام


-حساب عدد السطور في الجدول :
قبل نهاية هذا الدرس لابأس أن نتعلم شيئا مفيدا نراه بإستمرار في العديد من المواقع والمنتديات
وهو إعطاء احصائيات حول أعضاء الموقع أو المواضيع أو ماشابه


مثلا في موقعنا الذي يهتم بألعاب الفيديو نود أن نظهر عدد الألعاب الموجودة بقاعدة البيانات :



الكود اللازم لهذه العملية :



كود PHP:




<?

mysql_connect
("localhost", "Yass", "bramjnet"); // Connexion - MySQL

mysql_select_db("MyBase"); // Selection BDD MyBase

$reponse = mysql_query("SELECT COUNT(*) AS NbrGames FROM Games"); // Query SQL

$donnees = mysql_fetch_array($reponse) ;

?>

We have <? echo $donnees['NbrGames']; ?> Games on sale currently!

<?


mysql_close
(); // Deconnexion - MySQL

?>




العبارة الجديدة في هذا الكود هي COUNT , تقوم بإعطاء أمر لMySQL بأن
يعد عدد أسطر الجدول وبهذا نستطيع أن نحصل على إحصائية تهم الألعاب
بموقعنا وأتركوا لكم المجال في أن تبدعوا في هذا الإتجاه

مع السلامة



الى هنا نصل الى نهاية الدرس الثالث من الفصل الثاني
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
الدرس الثالث من الفصل الثاني :قاعدة البيانات
استعرض الموضوع التالي استعرض الموضوع السابق الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» الدرس الثاني من الفصل الثاني :قاعدة البيانات
» الدرس الرابع والأخير من الفصل الثاني :قاعدة البيانات
» الفصل التاني :قاعدة البيانات
» الدرس الثالث: المتغيرات , الثوابت و المعاملات
» الفصل الأول :بدائيات لغة PHP

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
شبكة تيمورنت :: خاص لاصحاب المواقع :: بدائيات لغة PHP-

زوار

.: عدد زوار المنتدى :.