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

كما عودتكم في دروسي سأقوم بشرح شيء جديد هذه المرة

وستكون حذف البيانات من قاعدة البيانات

هذه خاصية سهلة جدا بالتعامل معها

ولكن لديك شيء عليك الاهتمام به وهو انه عندما تقوم بتجريب الحذف في قواعد البيانات

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

البيانات من القاعدة فلن تعود ابدا الا اذا قمت بادخالها من جديد

حسنا يكفي كلاما ولنذهب للتطبيق البسيط

مثال (1) :
قم بفتح ملف جديد وسمية delete.php

وقم بكتابة الكود التالي بداخلة


كود PHP:
                       <?php 
  $link 
mysql_connect("localhost""root""")  
    or die(
"Could not connect: " mysql_error());  
  
mysql_select_db('moviesite'$link)  
    or die ( 
mysql_error());  

  if (!isset(
$_GET['do']) || $_GET['do'] != 1) { 
?> 
  <p align="center" style="color:#FF0000"> 
    Are you sure you want to delete this <?php  
    
echo $_GET['type']; ?>?<br> 
    <a href="<?php echo $_SERVER['REQUEST_URI']; ?>&do=1">yes</a>  
    or <a href="index.php">Index</a> 
  </p> 
<?php 
  
} else { 
    if (
$_GET['type'] == "people") { 
      
      
$actor "UPDATE movie  
                SET movie_leadactor = '0'  
                WHERE movie_leadactor = '" 
$_GET['id'] . "'"
      
$result mysql_query($actor
        or die(
"Invalid query: " mysql_error()); 
       
       
      
$diractor "UPDATE movie  
                   SET movie_diractor = '0' 
                   WHERE movie_diractor = '" 
$_GET['id'] . "'"
      
$result mysql_query($diractor
        or die(
"Invalid query: " mysql_error()); 
    } 
     
    
$sql "DELETE FROM " $_GET['type'] . 
            WHERE " 
$_GET['type'] . "_id = '" $_GET['id'] . "' 
            LIMIT 1"

    
    echo 
"<!--" $sql "-->"
    
$result mysql_query($sql
      or die(
"Invalid query: " mysql_error()); 
?> 
  <p align="center" style="color:#FF0000"> 
    Your <?php echo $_GET['type']; ?> has been deleted.  
    <a href="index.php">Index</a> 
  </p> 
<?php 
  

?>
طبعا الي حاب يستفيد ويفهم شو كتبنا بالكود بيقدر يكتب الكود مره ثانية بدون مينسخه

الان افتح ملف Index.php وحاول انك تحذف اي شيء موجود في جدول movie

وشاهد النتيجة

طيب رح اشرح كم شي مهم في هالكود

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


كود PHP:
                       $actor "UPDATE movie  
                SET movie_leadactor = '0'  
                WHERE movie_leadactor = '" 
$_GET['id'] . "'"
      
$result mysql_query($actor
        or die(
"Invalid query: " mysql_error()); 
عن طريق هالكود رح نعيد ترتيب ارقام الممثلين الموجودين عندنا ورح نبدأ من الصفر
ففي كل مره بينحذف فيها شخص او فيلم او ما الى ذلك بهالطريقة بنعيد ترتيب الارقام
حتى لا تظهر لدينا اي مشاكل

اما في هذا القسم فقد قمنا بالتالي


كود PHP:
                       $sql "DELETE FROM " $_GET['type'] . 
            WHERE " 
$_GET['type'] . "_id = '" $_GET['id'] . "' 
            LIMIT 1"

    
    echo 
"<!--" $sql "-->"
    
$result mysql_query($sql
      or die(
"Invalid query: " mysql_error()); 
لاحظ اننه يطلب منه حذف المدخل من النوع type الموجود في رقم اي دي معين والحذف بيتم
لمره واحده فقط

طيب نشوف الحين كيف بدنا نعمل تحرير للبيانات
متذكرين الملف الي اسميناه movie.php
افتحوه واعملو التعديلا الي رح تظهر عندكم


كود PHP:
                       <?php 
  $link 
mysql_connect("localhost""root""")  
    or die(
"Could not connect: " mysql_error());  
  
mysql_select_db('moviesite'$link)  
    or die ( 
mysql_error());  
  
$peoplesql "SELECT * FROM people"

  
$result mysql_query($peoplesql)  
    or die(
"Invalid query: " mysql_error());  
  while (
$row mysql_fetch_array($result)) { 
    
$people[$row['people_id']] = $row['people_fullname']; 
  } 

  switch (
$_GET['action']) { 
    case 
"edit"
      
$moviesql "SELECT * FROM movie 
                   WHERE movie_id = '" 
$_GET['id'] . "'"
      
$result mysql_query($moviesql)  
        or die(
"Invalid query: " mysql_error());  
      
$row mysql_fetch_array($result); 
      
$movie_name $row['movie_name']; 
      
$movie_type $row['movie_type']; 
      
$movie_year $row['movie_year']; 
      
$movie_leadactor $row['movie_leadactor']; 
      
$movie_diractor $row['movie_diractor']; 
      break; 
       
    default: 
      
$movie_name ""
      
$movie_type ""
      
$movie_year ""
      
$movie_leadactor ""
      
$movie_diractor ""
      break; 
  } 
?> 
<html> 
<head> 
<title><?php echo $_GET['action']; ?> movie</title> 
<style type="text/css"> 
TD{color:#353535;font-family:verdana} 
TH{color:#FFFFFF;font-family:verdana;background-color:#336699} 
</style> 
</head> 
<body> 
<form action="commit.php?action=<?php  
  
echo $_GET['action']; ?>&type=movie&id=<?php  
  
echo $_GET['id']; ?>" method="post"> 
<table border="0" width="750" cellspacing="1" cellpadding="3"  
       bgcolor="#353535" align="center"> 
  <tr> 
    <td bgcolor="#FFFFFF" width="30%">Movie Name</td> 
    <td bgcolor="#FFFFFF" width="70%"> 
      <input type="text" name="movie_name"  
        value="<?php echo $movie_name?>"> 
    </td> 
  </tr> 
  <tr> 
    <td bgcolor="#FFFFFF">Movie Type</td> 
    <td bgcolor="#FFFFFF"> 
      <select id="game" name="movie_type" style="width:150px"> 
<?php 
  $sql 
"SELECT movietype_id, movietype_label " 
         
"FROM movietype ORDER BY movietype_label"
  
$result mysql_query($sql
    or die(
"<font color=\"#FF0000\">Query Error</font>" 
           
mysql_error()); 
  while (
$row mysql_fetch_array($result)) { 
    if (
$row['movietype_id'] == $movie_type) { 
      
$selected " selected"
    } else { 
      
$selected ""
    } 
    echo 
'<option value="' $row['movietype_id'] . '"' .  
         
$selected.'>' $row['movietype_label'] . '</option>' .  
         
"\r\n"
  } 
?> 
      </select> 
    </td> 
  </tr> 
  <tr> 
    <td bgcolor="#FFFFFF">Movie Year</td> 
    <td bgcolor="#FFFFFF"> 
      <select name="movie_year"> 
        <option value="" selected>Select a year...</option> 
<?php 
  
for ($year date("Y"); $year >= 1970$year--) { 
    if (
$year == $movie_year) { 
      
$selected " selected"
    } else { 
      
$selected ""
    } 
?> 
        <option value="<?php echo $year?>"<?php  
        
echo $selected?>><?php echo $year?></option> 
<?php 
  

?> 
      </select> 
    </td> 
  </tr> 
  <tr> 
    <td bgcolor="#FFFFFF">Lead Actor</td> 
    <td bgcolor="#FFFFFF"> 
      <select name="movie_leadactor"> 
        <option value="" selected>Select an actor...</option> 
<?php 
  
foreach ($people as $people_id => $people_fullname) { 
    if (
$people_id == $movie_leadactor) { 
      
$selected " selected"
    } else { 
      
$selected ""
    } 
?> 
        <option value="<?php echo $people_id?>"<?php  
        
echo $selected?>><?php echo $people_fullname?></option> 
<?php 
  

?> 
      </select> 
    </td> 
  </tr> 
  <tr> 
    <td bgcolor="#FFFFFF">diractor</td> 
    <td bgcolor="#FFFFFF"> 
      <select name="movie_diractor"> 
        <option value="" selected>Select a diractor...</option> 
<?php 
  
foreach ($people as $people_id => $people_fullname) { 
    if (
$people_id == $movie_diractor) { 
      
$selected " selected"
    } else { 
      
$selected ""
    } 
?> 
        <option value="<?php echo $people_id?>"<?php  
        
echo $selected?>><?php echo $people_fullname?></option> 

  [IMG]http://cdn5.tribalfusion.com/media/37536.gif[/IMG]    
<?php 
  

?> 
      </select> 
    </td> 
  </tr> 
  <tr> 
    <td bgcolor="#FFFFFF" colspan="2" align="center"> 
      <input type="submit" name="SUBMIT" value="<?php  
        
echo $_GET['action']; ?>"> 
    </td> 
  </tr> 
</table> 
</form> 
</body> 
</html>
وافتحو ايضا الملف commit.php

وقوموا بعمل التعديلات التالية


كود PHP:
                       <?php 
// COMMIT ADD AND EDITS 
  
$link mysql_connect("localhost""root""")  
    or die(
"Could not connect: " mysql_error());  
  
mysql_select_db('moviesite'$link)  
    or die ( 
mysql_error());  
  switch (
$_GET['action']) { 
    case 
"edit"
      switch (
$_GET['type']) { 
        case 
"movie"
          
$sql "UPDATE movie SET 
                    movie_name = '" 
$_POST['movie_name'] . "', 
                    movie_year = '" 
$_POST['movie_year'] . "', 
                    movie_type = '" 
$_POST['movie_type'] . "', 
                    movie_leadactor = '" 
.$_POST['movie_leadactor']."', 
                    movie_diractor = '" 
$_POST['movie_diractor'] . "' 
                  WHERE movie_id = '" 
$_GET['id'] . "'"
          break; 
      } 
      break; 
    case 
"add"
      switch (
$_GET['type']) { 
        case 
"movie"
          
$sql "INSERT INTO movie 
                    (movie_name,  
                    movie_year,  
                    movie_type,  
                    movie_leadactor,  
                    movie_diractor) 
                  VALUES 
                    ('" 
$_POST['movie_name'] . "',  
                    '" 
$_POST['movie_year'] . "',  
                    '" 
$_POST['movie_type'] . "',  
                    '" 
$_POST['movie_leadactor'] . "',  
                    '" 
.  $_POST['movie_diractor'] . "')"
          break; 
      } 
      break; 
  } 
  if (isset(
$sql) && !empty($sql)) { 
    echo 
"<!--" $sql "-->"
    
$result mysql_query($sql
      or die(
"Invalid query: " mysql_error());  
?> 
  <p align="center" style="color:#FF0000"> 
    Done. <a href="index.php">Index</a> 
  </p> 
<?php 
  

?>
انتهينا الان افتحو الملف اندكس وحاولو تجريب ما قمنا بعملة في هذا الدرس

كل ما قمنا بتعلمة هو طريقة اضافة وحذف المدخلات وتعديلها اتمنى لكم الفائدة

تطبيق
قومو بعمل ما سبق على الجدول people واستخدمو ملف الموفي كمثال


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

مكتبة الصور في الـ php ومن خلالها رح نتعلم كيف نكتب على الصور وكيف نحررها
ونصغرها ونكبرها ونرفعها على الموقع اما بمجلد او بقاعدة البيانات
اتمنى لكم التوفيق ^^