حذف البيانات من قاعدة بيانات mysql من خلال ملف php

0
استكمالا للدرس الماضي " استعراض البيانات " ساقوم اليوم بشرح الية حذف البيانات بواسطة ملف php وسأقوم بربط خيار الحذف بصفحة " admin " بمعنى صفحة الادارة حيث ستتكون ببساطة من جدول استعراض البيانات وارتباط تشعبي للحذف


  • اولا انشأت ملف php جديد باسم delete.php
  • اضفت الاكواد التالية بداخله :

<?php 
require('db.php');

     

$id = $_GET['id']; 


    $query = " DELETE FROM stores WHERE id = '$id'";
    
    $result =mysql_query($query);
if($result)
{

header("Location:admin.php");
}
else
echo"no";








 ?>


  • حيث ان require('db.php'); كود الاتصال بقاعدة البيانات 
  • $id = $_GET['id']; تعريف الحذف بواسطة الـ ID
  •  $query = " DELETE FROM stores WHERE id = '$id'"; استعلام الحذف حيث ان DELETE امر الحذف و stores جدول البيانات where id = id امر لتحديد الحقل المراد حذفه وهو $id
  • $result =mysql_query($query); استعلام تنفيذ النتئج "نتيجة الحذف" 
  • if($result) في حالة ظهور النتيجة : 
    {

    header("Location:admin.php"); حددت موقع الربط وهو ملف admin.php وهذا الملف سأقوم باضافة اكواد ملف استعراض البيانات في الدرس السابق (الدرس السابق) بداخلة بالاضافة الى الارتباط التشعبي الذي سأشرحه في اخر الدرس
    }
    else في حالة وجود خطأ ستظهر رسالة " no
    echo"no";
  • احفظ الملف باسم delete.php

  • اخيرا عمل ارتباط تشعبي لملف الحذف السابق بداخل ملف الادارة : كما ذكرت سابقا نقوم باضافة اكواد ملف الاستعراض في الدرس السابق  واعدل فقط على جدول النتائج التالي : 
echo"<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]</td><td><a href=delete.php?id=$row[0]>احذف المتجر</a></td>

  • حيث ان <a href=delete.php?id=$row[0]>احذف المتجر</a> هو الارتباط  
نلاحظ ظهور الارتباط التشعبي

بعد النقر على الارتباط نلاحظ خلو الصفحة من البيانات  

وكذلك عند دخولنا على جدول البيانات من phpmyadmin نلاحظ خلو جدول البيانات من اي بيانات حيث انها حذفت فعليا بواسطة ملف delete.php

اخراج البيانات من قاعدة بيانات mysql الى صفحة php

0
في درسنا السابق شرحنا طريقة ادخال البيانات في قاعدة بيانات mysql بواسطة صفحة php راجع الدرس السابق من هنا

ملاحظة سنتستخدم القاعدة السابقة في هذا الدرس


  • انشىء صفحة php جديدة ثم ادرج هذه الاكواد البرمجية بداخلها


<link type="text/css" rel="stylesheet" href="vewstyle.css">

<body>
<?php
require("db.php");
$query="select * from stores";
$result=@mysql_query($query);
if($result)
{
echo"<table  id=r1><tr><th id=h55>معرف المتجر</th><th id=h55>اسم المتجر</th><th id=h55>هاتف المتجر </th><th id=h55>معلومات اضافية</th></tr>";

while($row=mysql_fetch_array($result,MYSQL_NUM))
{
echo"<tr id=t56><td id=t55>$row[0]</td><td id=t55>$row[1]</td><td id=t55>$row[2]</td><td id=t55>$row[3]</td>

</tr>";
}

}

else
{
echo"no view";
}

?></body>


  • اولا قمت بالاتصال بقاعدة البيانات بواسطة استدعاء ملف الاتصال بالقاعدة 
require("db.php");
  • ثانيا طلبت سحب البيانات جميعها من جدول البيانات حيث ان الرمز * يعني تحديد جميع الصفوف في الجدول و stores هو اسم الجدول
$query="select * from stores";

  • ثالثا كتبت دالة النتائج 
$result=@mysql_query($query);

  • رابعا طلبت من القاعدة في حالة ظهور نتائج ماورد في النقطة الخامسة ⬇ بواسطة الدالة الشرطية 
if($result){}

  • خامسا طلبت من الدالة في حال كان الاتصال ناجح طباعة رأس الجدول التالي بواسطة امر الطباعة echo"";
echo"<table  id=r1><tr><th id=h55>معرف المتجر</th><th id=h55>اسم المتجر</th><th id=h55>هاتف المتجر </th><th id=h55>معلومات اضافية</th></tr>";
  • سادسا ثم يتبعها مباشرة دالة اظهار النتائج على شكل مصفوفة 
while($row=mysql_fetch_array($result,MYSQL_NUM))
{}

  • سابعا  طبعت بداخل الدالة السابقة محتويات خلايا الجدول باستخدام امر الطباعة echo""; ثم بدخال هذه الحقول طلبت منه اخراج نتائج صف كامل لكل حقل موجود بداخل قاعدة البيانات حيث ان الصف $row[1] بحسب ترتيبه في القاعدة هو صف " اسم المحل التجاري" 
echo"<tr id=t56><td id=t55>$row[0]</td><td id=t55>$row[1]</td><td id=t55>$row[2]</td><td id=t55>$row[3]</td>

</tr>";
  • ثامنا طلبت من القاعدة في حالة فشل الاتصال ابلاغي برسالة خطأ باستخدام دالة الاستثناء else{} وبداخلها رسالة الخطأ ادرجته بواسطة امر الطباعة آنف الذكر  echo "";  
else
{
echo"no view";
}

  • ختاما ظهرت النتيجة بنجاح 

انشاء سكربت php لاإدخال البيانات الى قاعدة بيانات mysql

1

في هذا الشرح سأقوم ببرمجة سكربت ادخال الى قاعدة بيانات mysql باستخدام الـphp والـhtml
ليكون سكربت دليل الهاتف للمحلات التجاريه او سكربت اسماء الموظفين والمشتركين او اي فكرة تود العمل عليها، فالقائمة تطول ،،،،،

هنا قررت كبداية انشاء سكربت دليل الهاتف للمحلات التجارية ولكن قبل ذلك يجب علينا تحليل السكربت قبل البدء كخطوة اولى لاتقان العمل على السكربت فمن فكرة السكربت سنحتاج الى صفحة ادخال البيانات، وصفحة تاكيد نجاح الارسال، واخيرا صفحة لاستعراض وحذف المتاجر  ،
قبل البدء قم بالتوجه الى التدوينة متطلبات انشاء السكربت

المرحلة الاولى انشاء قاعدة بيانات 


 وسنسميها بـ (Directory_of_ shops) بمعنى دليل التسوق بداخلها جدول بأسم (STORES) بمعنى المحلات التجاريه يظم الصفوف التالية :

  1. رقم المعرف التلقائي  (ID)
  2. اسم المحل التجاري و سنضع اسم الصف في الجدول (STORE_NAME)
  3. رقم الهاتف وسنضع اسم الصف في الجدول (PHONE_NUMBER)
  4. معلومات اضافية عن المتجر وسنضع اسم الصف في الجدول ( INFO)
لمعرفة طريقة انشاء قاعدة بيانات او جدول قم بزيارة الشروحات السابقة  بالنقر على  : ( انشاء قاعدة بيانات MYSQL - انشاء جدول بداخل قاعدة بيانات MYSQL

بعد ادخال الصفوف في جدول البيانات قمت بالتالي


  • تحديد الصف ID كمفتاح اساسي بالاضافة الى AUTO_INCREMENT اي يتم تعبئته تلقائيا 
  • قمت بتحديد انواع الصفوف TYPE
بعد انشاء القاعدة والجدول سأقوم بإنشاء مجلد بأسم STORES "والتسميه هنا اختياريه " حتى اضيف ملفات الموقع بداخله على مسار السيرفر المحلي التالي:

C:\xampp\htdocs\stores

المرحلة الثانية انشاء نموذج ادخال بيانات بلغة الويب html


  • بعد الدخول الى المسار اقوم بإنشاء ملف نصي جديد notepad 
  • بعد فتح الملف اقوم بتصميم نموذج ادخال البيانات بلغة html يحتوي على الحقول التالية : 

  1. ادخال اسم المحل التجاري 
  2. ادخال رقم جوال المحل التجاري 
  3. ادخال معلومات اضافية عن المحل التجاري 
  4. زر ارسال البيانات 


مثال على الكود : 


<html>
<head>

<link type="text/css" rel="stylesheet" href="mystylefor.css">
</head>

<center>



<h2>قم بادراج محل تجاري جديد</h2>
<body><form action="insert.php" method="POST">

<table>
<tr>
<td>أسم المحل التجاري:</td><td><input type="text" name="name" ></td>
</tr>
<tr>
<td>رقم الهاتف:</td><td><input type="text" name="phone"></td>
</tr>

<td>معلومات اكثر:</td><td><textarea name="info"></textarea></td>
</tr>
</div>



<td></td><td><input type="submit"value="إضـافة" ></td>
</table>


</body></form></center></html>

الشرح :

  • استخدمت اكواد تنسيق النصوص <H> للعناوين والرقم الذي يليه لتحديد حجم النص حيث ان اكبر حجم يبدأ من 1 الى اصغر حجم ينتهي بـ 6 
<h2>قم بادراج محل تجاري جديد</h2>

  • قمت بفتح كود ادراج النماذج <form> وقمت بتحديد وجهة ارسال البيانات الى الصفحة التالية insert.php باستخدام الكود action= وحددت اسلوب النموذج بـ POST باستخدام الكود method
<form action="insert.php" method="POST">   هنا ستتم كتابة حقول الادخال   </form>


  • بداخل كود النموذج قمت بإدراج جدول باستخدام الكود <table> لضبط تنسيق الحقول التي سأضيفها بداخله وقمت بانشاء صف الجدول باستخدام الكود <tr> حيث انني احتاج الى صف لكل حقل ثم بداخل كل صف قمت بإنشاء خليتين خلية لعنوان الحقل وخلية اخرى لكود حقل الادخال باستخدام الكود <td>

<table><tr><td>عنوان الحقل</td><td>هنا كود حقل الادخال</td>

  • بداخل الخليتين السابقتين اولا اقوم بكتابة العنوان الذي سيظهر بجوال الحقل 
<td>
أسم المحل التجاري:
</td>
  • ثانيا اضافة كود الحقل باستخدام الكود <input> ثم قمت بتحديد نوع الحقل type="text" نصي ثم حددت اسم الحقل بأستخدام name = "اسم الحقل" ويرجى ملاحظة ان هذا الاخير مهم جدا لربطه لاحقا بقاعدة البيانات ثم اخيرا قمت باغلاق وسمي الخلية والصف وقمت بتكرير هذه العملية لحقول الادخال الاخرى 
<td><input type="text" name="name" ></td>
</tr>


  • ثالثا اضافة كود زر ارسال البيانات وهو نفس الطريقة السابقة ولكن احدد نوع الادخال الى type="submit" واضيف على ذلك قيمة الحقل أي الاسم الذي سيظهر بداخل الزر بأستخدام الكود value = "اضافة" وهنا لا احتاج الى تسمية الحقل باستخدام كود التسمية name = "" ويرجى ملاحظة انه عند النقر على الزر سيتم توجيهنا مباشرة الى الصفحة التي حددناها مسبقا في بداية كود النموذج "insert.php"
<td></td><td><input type="submit"value="إضـافة" ></td>

  • ختام هذه المرحلة اقوم بحفظ الملف النصي واقوم بتسميته insrt.html  واقوم بتحديد نوع الحفظ الى all files واقوم بتحديد الترميز " utf8" حتى يظهر النتائج بالعربية بدون اخطاء


المرحلة الثالثة الاتصال بقاعدة البيانات 

قمت مسبقا بشرح اكواد الاتصال بقاعدة البيانات من خلال ملف php  للشرح التفصيلي انقر هنا

  • قمت بانشاء ملف نصي بنفس الطريقة السابقة وقمت بكتابة كود الاتصال التالي بداخله وقمت بكتابة اسم قاعدة البيانات directory_of_ shops بداخل الكود mysql_select_db("اسم قاعدة البيانات")
<?php
$con = mysql_connect("localhost","root","");
mysql_select_db("directory_of_ shops") OR die('db not connected' .mysql_error());
if (!$con)
{
die('Could not connect: ' .myaql_error());
}

  • اخيرا حفظت الملف باسم db.php وعند دخولى على مسار القاعده من المتصفح http://localhost/stores/db.php الاحظ صفحة فارغه وهذا يعني ان الاتصال ناجح✅ ولكن في حال حوث خطأ ❌ستظهر لي الرساله التالية حيث ان الخطأ في اسم قاعدة البينات تعمدت كتابة اسم القاعدة بطريقة خاطئة لتظهر رسالة الخطأ في حال لم تظهر لك اي رسالة فأنت في المسار الصحيح انتقل مباشرة الى المرحلة الرابعة ،، 


المرحلة الرابعة والاخيرة ارسال البيانات المدخلة الى قاعدة البيانات

في هذه المرحلة سأقوم برط صفحة النموذج الذي قمت بتصميمه في المرحلة الثانية بقاعدة البيانات ولاتمام هذه العملية سأحتاج الى وسيط بين الموذج وبين قاعدة البيانات هو ملف php بواسطة هذا الملف سأقوم بتضمين ملف الاتصال db.php وربط حقول ادخال البيانات مع ما يقابلها من حقول في قاعدة البيانات لتفهمها القاعدة   ،، سيكون الملف الوسيط هذا باسم insert.php دعوني اشرح ذلك بالتفصيل لتتضح الصورة 

  • اولا انشىء ملف نصي جديد وقم بكتابة الكود التالي بداخله 
<?php
require("db.php");

$store_name=$_POST['name'];
$phone_number=$_POST['phone'];
$info=$_POST['info'];
$query="INSERT INTO stores VALUE('','$store_name','$phone_number','$info')";
$result=@mysql_query($query);
$lastItemID = mysql_insert_id();
if($result)
{
echo"تم الادراج بنجاح بواسطة رقم المعرف الخاص بالمتجر 
ID: ".$lastItemID;

}

else{echo"لم يتم التسجيل";}

?>


  • ثانيا قمت باستدعاء ملف الاتصال بالقاعدة بواسطة كود الامر require
  • ثالثا قمت بربط حقول الادخال التي انشأتها في ملف النموذج insert. html  مع قاعدة البيانات بواسطة الدالة post_$ 
هنا قمت بشرح تعريف الحقل " اسم المحل التجاري " الذي رمزت له ب"name" في المرحلة الثانية بالحقل المقابل له في قاعدة البيانات الذي اسميناه في المرحلة الاولى بـ store_name وللتنويه اذا قمنا باستدعاء اي حقل في قاعدة البيانات نقوم بكتابة الرمز $ قبله 


$store_name=$_POST['name'];

إيضاح

  • اسم الحقل في قاعدة البيانات 
  • دالة الربط وهي كذلك : اسلوب النموذج في الملف insert.html
  • اسم الحقل " اسم المحل التجاري " الذي رمزنا له ب"name" في الملف insert.html


  • رابعا قمت بكتابة  الامر  بادراج البيانات التي تم تعريفها الى قاعدة البيانات بإستخدام الامر :
$query="INSERT INTO stores VALUE('','$store_name','$phone_number','$info')";

إيضاح : 

قبل كتابة الامر استخدمت الدالة $query ويتبعها نص الامر INSERT INTO  ثم اسم الجدول في قاعدة البيانات " stores" ثم قمت بتحديد القيم باستخدام الامر value  ثم بين قوسين ( اسماء القيم "الحقول ") ونلاحظ ان اول قيمة حددتها فارغة "" وهي للمعرف ID الذي اضفت له في المرحلة الاولى الخاصية AUTO_INCREMENT اي يتم تعبئته تلقائيا لذلك لست بحاجة هنا الى كتابته اما فيما يخص القيم الاخرى حددتها بأسمائها $store_name','$phone_number','$info
على سبيل المثال store_name سيتم تخزين بيانات "اسم المحل التجاري" بداخله مع مراعاة الفصل بين القيم "" ب الفاصلة , ثم في نهاية الكود نقوم بإغلاقه بالفاصلة ;

  • خامسا سيتم ارسال البيانات الى القاعدة بواسطة كود "النتائج" 
$result=@mysql_query($query);

  • سادسا عند ارسال البيانات طلبت من قاعدة البيانات اخباري عن معرف ارسال البيانات "معرف اخر قيم تم ارسالها لقاعدة البيانات فقط " 
$lastItemID = mysql_insert_id();

  • سابعا طلبت من قاعدة البيانات اخباري برسالة اذا تم ارسال البيانات بنجاح بإستخدام الدالة الشرطية {}() if
   بداخل اقواس {} الدالة الشرطية ساقوم بكتابة الرسائل بإستخدام امر طباعة الرسائل echo " " ; مرفقا برقم المعرف Id الذي قمت بتعريفه سابقا .$lastItemID;

echo"تم الادراج بنجاح بواسطة رقم المعرف الخاص بالمتجر 
ID: ".$lastItemID;


  • ثامنا طلبت منه طباعة رسالة في حالة وجود خطأ في الارسال بإستخدام الدالة else{}وبداخلها امر طباعة الرسائل echo

else{echo"لم يتم التسجيل";}

  • تاسعا  اقوم بحفظ الملف باسم insert.php 

  • عاشرا واخيرا اقوم بتجربة السكربت بالدخول من المتصفح على المسار التالي
http://localhost/stores/insert.html

  
تم ارسال النتائج بنجاح الى قاعدة البيانات حيث ان الجزء المضلل في الصورة السابقة هو رقم المعرف lastitemid.
المسجل في قاعدة البيانات باسم ID
ندخل الى مسار قاعدة البيانات من خلال phpmyadmin لمشاهدة المدخلات في قاعدة البيانات 
http://localhost/phpmyadmin/

في الدرس القادم سأقوم بشرح اخراج البيانات من قاعدة البيانات الى ملف php كونوا قريبين :) ولا تترددوا بطرح اي استفسار في حال واجهتكم اي اشكالية .

كود الاتصال بقاعدة بيانات MYSQL من خلال ملف PHP

0
#لمعرفة طريقة انشاء قاعدة بيانات mysql تابع القسم [تعلم الـ php]

الخطوات 


  • نقوم بالأتصال بالسيرفر من خلال كود $con = mysql_connect حيث ان " LOCALHOST " اسم السيرفر و " ROOT " اسم المستخدم للسيرفر و "   " هذا الاخير كلمة مرور السيرفر وغالبا السيرفر المحلي يكون غير مخصص وان وجد قم بوضعه حتى يتم الاتصال بنجاح 
  • قمنا بتحديد قاعدة البيانات من خلال استخدام النص البرمجي " mysql_select_db" ثم كتابة اسم القاعدة بادخل القوسين ( " اسم القاعدة ، STORTE") 
  • قما بالتحقق من نجاح الاتصال بكتابة الدالة "او " في حال كان الاتصال فاشل فستظهر لنا رسالة الخطأ db not connected وفي حال كان الاتصال ناجح لن تظهر اي رسالة 

كود الاتصال بقاعدة بيانات mysql من خلال php
<?php
$con = mysql_connect("localhost","root","");
mysql_select_db("store") OR die('db not connected' .mysql_error());
if (!$con)
{
die('Could not connect: ' .myaql_error());
}



انشاء جدول وحقول داخل قاعدة بيانات mysql

0
#لمعرفة طريقة انشاء قاعدة بيانات mysql تابع القسم [تعلم الـ php]

الخطوة الاولى

  1. افتح قاعدة البيانات التي قمت بإنشائها مسبقا 
  2. قم بكتابة اسم الجدول
  3. حدد عدد الأعمدة في الجدول
  4. قم بحفظ التغييرات 

الخطوة الثانية 
  • قم بكتابة الاعمدة وتحديد انواع الحقول والعمليات الاخرى كطول الحقل والمفتاح الاساسي 
  • قم بحفظ الجدول 


خطوات انشاء قاعدة بينات mysql

0
  • قم بفتح برنامج السيرفر المحلي في جهازك 
  • قم بتشغيل السيرفر المحلي apache وسيرفر قواعد البيانات mysql

  • قم فتح ادارة قواعد البيانات 

  • انشىء قاعدة بيانات جديدة 

  • سم قاعدة بيانات ثم انشئها

  • ستلاحظ وجود القاعدة في قائمة قواعد البيانات 
 في التدوينة القادمة ساشرح اضافة جداول وسجلات البيانات  بداخل القاعدة تابع القسم (تعلم الـ php, )

متطلبات انشاء صفحات ويب بلغة php

0
لغة php هي لغة برمجية مفتوحة المصدر  مخصصة لبرمجة وتطوير المواقع الديناميكية التفاعيلة وتكتب بخليط  اكواد php للاتصال بقواعد البيانات و html لدعم بنية الموقع بالاضافة الى لغة css لتصميم نمط الموقع


متطلبات برمجة موقع بلغة php

(جميع البرامج المقترحه مجانية)
  • خبرة جيدة في لغة html و javascript (يمكنك تعلمها مع الممارسة)
  • برنامج محرر اكواد برمجية يمكنك اختيار اي من ( widows notpad - notpad++ - )
  • برنامج سيرفر محلي (xampp  - appserver)
  • التعامل مع قواعد بيانات mysql ( تتوفر ضمن حزمة السيرفرات المحلية اعلاه )

جميع الحقوق محفوظه © مدونة فـاب

تصميم الورشه