مولاتى

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


<meta name="propeller" content="7edb445ea1f8a84d8d2c566f754a8268" />
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا


او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي


سنتشرف بتسجيلك


شكرا
ادارة المنتدي

مولاتى


 
البوابةالرئيسيةس .و .جبحـثقائمة الاعضاءالمجموعاتالتسجيلدخول

شاطر | 
 

 الدرس 20: استرجاع البيانات من قاعدة البيانات

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


الساعة الأن :
الدوله :
ذكر عدد المساهمات : 210
نقاط : 6469
تاريخ التسجيل : 25/11/2014
العمر : 30
الموقع : www.moulati.arab.st

مُساهمةموضوع: الدرس 20: استرجاع البيانات من قاعدة البيانات   الثلاثاء ديسمبر 16, 2014 11:00 pm

الآن علينا استرجاع البيانات من قاعدة البيانات لنضعها في صفحات PHP.
هذا هو أحد أهم الدروس، عندما تقرأ وتفهم هذا الدرس ستدرك لم حلول مواقع الويب المعتمدة على قواعد البيانات قوية ونظرتك لتطوير المواقع ستتسع بشكل كبير.

استعلامات SQL

لاسترجاع البيانات من قاعدة البيانات سنستخدم الاستعلامات، مثال الاستعلام قد يكون بهذا الشكل: "استرجع كل البينات من جدول 'people' مرتبة أبجدياً" أو "استرجع كل الأسماء من جدول 'people' ".
مرة أخرى، لغة Structured Query Language أو (SQL) تستخدم للتواصل مع قواعد البيانات، انظر إلى المثال البسيط:
Get all data from the table 'people'




Will be written like this in SQL:
SELECT * FROM people




المثال يشرح نفسه، أكمل القراءة لترى كيف يستخدم استعلام SQL الأمثلة أدناه.

مثال 1: استرجاع البيانات من قاعدة البيانات

هذا المثال يستخدم قاعدة البيانات والجدول من [وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط] و[وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط]، لذلك من المهم أن تقرأ هذه الدروس أولاً.
المثال يوضح كيف أن البيانات في جدول "people" من خلال استعلام SQL.
استعلام SQL يعود بسلسلة نتائج على شكل سجلات، هذه السجلات تخزن في ما يسمى recordset أو مجموعة السجلات وهو ما يمكن وصفه بجدول في ذاكرة المزود يحوي صفوفاً من البيانات (سجلات) وكل سجل مقسم إلى حقول أو اعمدة.
مجموعة السجلات يمكن مقارنتها بجدول حيث كل سجل يمكن مقارنته بصف في الجدول، في PHP يمكننا أن نمرر مجموعة السجلات في حلقة ووظيفة [وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط] التي تعطينا كل صف كمصفوفة.
المثال أدناه يوضح كيف تستخدم وظيفة [وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط] للتعامل مع مجموعة السجلات:



Retrieve data from database
[size]




[/size]

// Connect to database server

mysql_connect("mysql.myhost.com", "user", "sesame") or die (mysql_error ());



// Select database

mysql_select_db("mydatabase") or die(mysql_error());



// SQL query

$strSQL = "SELECT * FROM people";



// Execute the query (the recordset $rs contains the result)

$rs = mysql_query($strSQL);


// Loop the recordset $rs

// Each row will be made into an array ($row) using mysql_fetch_array

while($row = mysql_fetch_array($rs)) {



// Write the value of the column FirstName (which is now in the array $row)

echo $row['FirstName'] . "
";



}



// Close the database connection

mysql_close();

?>

[size]



[/size]
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة] [وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط]
لاحظ كيف نستخرج البيانات من عمود "FirstName" بكتابة $row['FirstName']، بنفس الطريقة يمكننا استخراج بيانات عمود "Phone" بكتابة $row['Phone'].
ترتيب مجموعة السجلات هو نفس ترتيبها في الجدول داخل قاعدة البيانات، لكن في المثال التالي سنوضح كيف يمكن إعادة ترتيب مجموعة السجلات.

المثال 2: ترتيب البيانات أبجدياً، زمنياً أو حسب الأعداد

غالباً من المفيد عرض قائمة أو جدول بيانات بترتيب أبجدي أو زمني أو بحسب الأرقام، هذا الترتيب يمكن إنجازه بسهولة في SQL، حيث طريقة كتابته Order By ColumnNameتستخدم لترتيب المحتويات بحسب محتويات أحد أعمدة الجدول.
أنظر إلى استعلام SQL التالي:
strSQL = "SELECT * FROM people"



السجلات يمكن ترتيبها مثلاً أبجدياً بحسب الاسم الأول للأشخاص بهذه الطريقة:
strSQL = "SELECT * FROM people ORDER BY FirstName"



أو زمنياً بحسب تاريخ الميلاد بهذا الشكل:
strSQL = "SELECT * FROM people ORDER BY BirthDate"



يمكن تغيير الترتيب من تصاعدي إلى تنازلي بإضافة DESC:
strSQL = "SELECT * FROM people ORDER BY BirthDate DESC"



في المثال التالي الأشخاص يعرضون في قائمة مرتبة بحسب العمر:



Retrieve data from database




[size]



[/size]

// Connect to database server

mysql_connect("mysql.myhost.com", "user", "sesame") or die (mysql_error ());



// Select database

mysql_select_db("mydatabase") or die(mysql_error());



// SQL query

$strSQL = "SELECT * FROM people ORDER BY BirthDate DESC";



// Execute the query (the recordset $rs contains the result)

$rs = mysql_query($strSQL);


// Loop the recordset $rs

while($row = mysql_fetch_array($rs)) {



// Write the value of the column FirstName and BirthDate

echo $row['FirstName'] . " " . $row['BirthDate'] . "
";



}



// Close the database connection

mysql_close();

?>



[size]



[/size]
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة] [وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط]
جرب تغيير استعلام SQL بنفسك ورتب السجلات بحسب الاسم الأول أو الاسم الأخير أو رقم الهاتف.

استرجاع معلومات مختارة

حتى الآن استعلامات SQL تطلب كل الصفوف من الجدول، لكن غالباً ستحتاج لوضع شروط أو معايير في استعلام SQL للبيانات التي تريدها، فمثلاً يمكنك أن تطلب صفوف البيانات للأشخاص الذين يملكون أرقام هواتف محددة أو أسم أخير محدد.
لنقل بأننا نريد استرجاع بيانات للناس الذين يملكون رقم الهاتف "66554433"، يمكننا فعل ذلك بهذا الشكل:
strSQL = "SELECT * FROM people WHERE Phone = '66554433 '"



هناك 6 عوامل (operators) اتصال في SQL:
= يساوي


< أصغر من


> أكبر من


<= أصغر من أو يساوي


>= أكبر من أو يساوي


!= لا يساوي


بالإضافة لذلك هناك عوامل منطق:
AND


OR


NOT


راجع [وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط] للمزيد من المعلومات حول كيفية استخدام الشروط والعوامل.
في المثال التالي سنستخدم الشروط لإنشاء دفتر عناوين.

مثال 3: دفتر عناوين

في هذا المثال سنحاول الجمع بين عدة أشياء تعلمناها، سننشأ قائمة أسماء من قاعدة البيانات حيث كل اسم يكون رابطاً لمزيد من التفاصيل حول الشخص.
لهذا نحن بحاجة لملفين - list.php وperson.php - يحويان هذا الكود:

الكود في list.php




Retrieve data from the database
[size]






    [/size]

    // Connect to database server

    mysql_connect("mysql.myhost.com", "user", "sesame") or die (mysql_error ());



    // Select database

    mysql_select_db("mydatabase") or die(mysql_error());



    // SQL query

    $strSQL = "SELECT * FROM people ORDER BY FirstName DESC";



    // Execute the query (the recordset $rs contains the result)

    $rs = mysql_query($strSQL);


    // Loop the recordset $rs

    while($row = mysql_fetch_array($rs)) {



    // Name of the person

    $strName = $row['FirstName'] . " " . $row['LastName'];



    // Create a link to person.php with the id-value in the URL

    $strLink = "[وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط]";



    // List link

    echo "
  • " . $strLink . "
  • ";



    }



    // Close the database connection

    mysql_close();

    ?>




[size]





[/size]

الكود في person.php




Retrieve data from database
[size]






[/size]

// Connect to database server

mysql_connect("mysql.myhost.com", "user", "sesame") or die (mysql_error ());



// Select database

mysql_select_db("mydatabase") or die(mysql_error());



// Get data from the database depending on the value of the id in the URL

$strSQL = "SELECT * FROM people WHERE id=" . $_GET["id"];

$rs = mysql_query($strSQL);


// Loop the recordset $rs

while($row = mysql_fetch_array($rs)) {



// Write the data of the person

echo "
Name:
" . $row["FirstName"] . " " . $row["LastName"] . "
";

echo "
Phone:
" . $row["Phone"] . "
";

echo "
Birthdate:
" . $row["BirthDate"] . "
";



}



// Close the database connection

mysql_close();

?>




[وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط]

[size]






[/size]
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة] [وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط]
مثال دفتر العناوين بسيط إلى حد ما، لكن يظهر لنا الإمكانيات المتوفرة عند العمل مع PHP وقواعد البيانات.
تخيل أن قاعدة البيانات تحوي 10 آلاف منتج بتفاصيلها ووصفها، بتعديلات قليلة في الملفين السابقين يمكنك بسهولة إنشاء دليل منتجات يحوي أكثر من 10 آلاف صفحة، يمكن إنجاز ذلك بقاعدة بيانات واحدة وملفي PHP فقط.
أهلاً بك في عالم المواقع الواسعة التي يسهل تطويرها وصيانتها، عندما تتعلم العمل مع قواعد البيانات فلن تكون حلول الويب الخاصة بك مثلما كانت من قبل.


قناة المعلم التعليميه للشروحات المصوره والشروحات التعليميه والثقافيه والفنيه والتكنلوجيا
نحن نؤمن بأنه ليس هناك رجلا يعرف كل شئ ولكننا نؤمن بتبادل الافكار
اذا اعجبكم الشرح ارجو ان تضغطو على زر ( اعجاب + مشاركه )
ومتابعتنا على قناة المعلم عبر الرابط التالى
[وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط]

ومتابعتنا عبر صفحتنا فى الفيس بوك عبر الرابط التالى
[وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط]


[وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط]
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://moulati.arab.st
 
الدرس 20: استرجاع البيانات من قاعدة البيانات
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
مولاتى :: youtube :: قناة المُعلم :: دروس كامله وشامله عن الـ PHP-
انتقل الى: