كيفاش تسجل تعدل تمسح من قاعدة البيانات بإستعمال Ajax الجزء الثاني

فهاد الجزء الثاني من كيفاش تسجل تعدل تمسح من قاعدة البيانات بإستعمال Ajax غادي نكملو باقي الملفات لي غادي يمكنو من إضافة المعلومات لقاعدة البيانات ديالنا وملفات التعديل والحدف.

نظرة سريعة بالفيديو


1- الملف database.php


فالمجلد libraries غادي تزيد ملف جديد سميه database.php فيه الكود لي غادي يمكنا من القيام ب les requêtes ديالنا فعندنا __construct لي كنديرو فيه الإتصال مع قاعدة البيانات من بعد مكنسترجعو لي constantes لي عندنا ف config.php يلا متمش الأتصال كتعرض رسالة الخطأ من بعد كاين ل fonction query لي فقط كتاخد requête لي غادي تنفد من بعد كاين fonction bind لي كتقاد كل paramétre مع la valeur ديالو مثلا nom = samir ثم كاين fonction execute لي كتنفد requête ثم fonction resultset لي كترجعنا المعلومات من قاعدة البيانات الكود ديال الملف هو :

                                    
                                        <?php
class Database{
   private $host = DB_HOST;
   private $user = DB_USER;
   private $pass = DB_PASSWORD;
   private $db = DB_NAME;
   private $dbh;
   private $error;
   private $stmt;
   public function __construct(){
      $dsn = 'mysql:host='.$this->host.';dbname='.$this->db;
      $options = array(
          PDO::ATTR_PERSISTENT=>true,
          PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION
      );
      try {
          $this->dbh = new PDO($dsn,$this->user,$this->pass,$options);
      }catch(PDOException $e){
          $this->error = $e;
      }
   }
   public function query($query){
      $this->stmt = $this->dbh->prepare($query);
   }
   public function bind($param,$value,$type = null){
      if(is_null($type)){
          switch(true){
             case is_int($value):
                $type = PDO::PARAM_INT;
             break;
             case is_bool($value):
                $type = PDO::PARAM_BOOL;
             break;
             case is_null($value):
                $type = PDO::PARAM_NULL;
             break;
             default :
                $type = PDO::PARAM_STR;
          }
      }
      $this->stmt->bindValue($param,$value,$type);
   }
   public function execute(){
      return $this->stmt->execute();
   }
   public function resultset(){
     $this->execute();
     return $this->stmt->fetchAll(PDO::FETCH_OBJ);
   }
}
?>

                                    
                                

2- الملف add_contact.php


فالمجلد الرئيسي لي هو adresse_book غادي تزيد ملف جديد سميه add_contact.php فيه الكود لي غادي يمكنا من إضافة contact لقاعدة البيانات منبعد مكن créer l'objet من ل class Database كنعطي لfonction query الrequête لي غادي تنفد من بعد كنعطي لfonction bind المعلومات لي غادي يتزادو من بعد كنفد بexecute يلا تزاد كنعرض رسالة الإضافة متزادش كنعرض رسالة الخطأ الكود ديال الملف هو :

                                    
                                        <?php
include('core/init.php');
?>
<?php
$db = new Database();
$db->query('INSERT INTO  contacts (nom,prenom,email,adresse,ville,phone,date_added) values (:nom,:prenom,:email,:adresse,:ville,:phone,:date_added)');
$db->bind(':nom',$_POST['nom']);
$db->bind(':prenom',$_POST['prenom']);
$db->bind(':email',$_POST['email']);
$db->bind(':adresse',$_POST['adresse']);
$db->bind(':ville',$_POST['ville']);
$db->bind(':phone',$_POST['phone']);
$db->bind(':date_added',date('Y-m-d h:i:s'));
if($db->execute()){
    echo "Contact ajouté";
}else{
    echo "Erreur veuillez réessayer";
}
?>
                                    
                                

3- الملف edit_contact.php


فالمجلد الرئيسي لي هو adresse_book غادي تزيد ملف جديد سميه edit_contact.php فيه الكود لي غادي يمكنا من تعديل المعلومات الخاصة ب contact اختارو المستخدم منبعد مكن créer l'objet من ل class Database كنعطي لfonction query الrequête لي غادي تنفد من بعد كنعطي لfonction bind المعلومات لي غادي يتعدلو من بعد كنفد بexecute يلا تم التعديل كنعرض رسالة التعديل متمش كنعرض رسالة الخطأ الكود ديال الملف هو :

                                      
                                        <?php
include('core/init.php');
?>
<?php
$db = new Database();
$db->query('UPDATE  contacts SET nom = :nom,
                                 prenom = :prenom,
                                 email = :email,
                                 adresse = :adresse,
                                 ville = :ville,
                                 phone = :phone
          WHERE id = :id');
$db->bind(':nom',$_POST['nom']);
$db->bind(':prenom',$_POST['prenom']);
$db->bind(':email',$_POST['email']);
$db->bind(':adresse',$_POST['adresse']);
$db->bind(':ville',$_POST['ville']);
$db->bind(':phone',$_POST['phone']);
$db->bind(':id',$_POST['id']);
if($db->execute()){
    echo "Contact modifié";
}else{
    echo "Erreur veuillez réessayer";
}
?>
                                      
                                    

4- الملف delete_contact.php


فالمجلد الرئيسي لي هو adresse_book غادي تزيد ملف جديد سميه delete_contact.php فيه الكود لي غادي يمكنا من حدف المعلومات الخاصة ب contact اختارو المستخدم منبعد مكن créer l'objet من ل class Database كنعطي لfonction query الrequête لي غادي تنفد من بعد كنعطي لfonction bind ل id ديال لcontact لي غادي يتحدف من بعد كنفد بexecute يلا تم الحدف كنعرض رسالة التأكيد متمش كنعرض رسالة الخطأ الكود ديال الملف هو :

                                        
                                            <?php
include('core/init.php');
?>
<?php
$db = new Database();
$db->query('DELETE FROM  contacts WHERE id = :id');
$db->bind(':id',$_POST['id']);
if($db->execute()){
    echo "Contact supprimé";
}else{
    echo "Erreur veuillez réessayer";
}
?>
                                        
                                    

كلمات مفاتيح :