صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 21

الموضوع: الحذف جماعي checkbox delete شرح مبسط من بوصالح

  1. #1

    الحذف جماعي checkbox delete شرح مبسط من بوصالح



    اخواني الكرام

    مساكم الله بالرضا والعافية

    اليوم راح نشرح checkbox delete فقط تأشر على الحقول المراد حذفها وتضغط حذف وتنحذف من قاعدة البيانات

    بسم الله نبدء

    افتح ملف النوتباد واكتب

    اولاً راح نتصل في قاعدة البيانات بطلب ملف الكونفيغ

    كود PHP:
    require_once("config.php"); 
    الخطوة [2] راح نطلب SELECT للجدول المدار جلب المعلومات منه وانا مسميه في ملف الكونفيغ $tbl_name

    كود PHP:
    $sql="SELECT * FROM $tbl_name order by ID DESC";
    $result=mysql_query($sql);
    $count=mysql_num_rows($result); 
    والآن راح ندرج الجدول وفيه كامل البيانات مثال :
    الاسم + العنوان + الايميل الخ الخ

    وما يهمنا في هذا الدرس هو

    كود:
    <input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $rows['id']; ?>">
    والان راح نكتب كود الحذف

    كود PHP:
    if($delete){
    for(
    $i=0;$i<$count;$i++){
    $del_id $checkbox[$i];
    $sql "DELETE FROM $tbl_name WHERE id='$del_id'";
    $result mysql_query($sql

    وفي حال تم العملية بنجاح راح نتوجه مجدداً الى صفحة الحذف delete.php

    كود PHP:
    if($result){
    echo 
    "<meta http-equiv=\"refresh\" content=\"0;URL=delete.php\">";
    }
    }
    mysql_close(); 

    والكود كامل بالمرفقات

    ولا تنسونا بصالح الدعــاء لي ولوالدي
    اخوكم بوصالح :nice:





    الملفات المرفقة الملفات المرفقة
    __________________
    +======================+
    شبكة تصميم لتطوير المواقع
    www.tsmim.com
    سكربتات حصرية - وتصاميم مميزة لموقعك
    +======================+


  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2007
    المشاركات
    393


    بارك الله فيك ..

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

    كود PHP:
     if($delete){ 
    for(
    $i=0;$i<$count;$i++){ 
    $del_id $checkbox[$i]; 
    $sql "DELETE FROM $tbl_name WHERE id='$del_id'"
    $result mysql_query($sql
    >>>
    كود PHP:
     if($delete){ 

    if(
    count($checkbox))
     
    $del_id join(',',$checkbox); 
    else  
    $del_id 0;
    $sql "DELETE FROM $tbl_name WHERE id IN($del_id)"
    $result mysql_query($sql); 


    أيضا يفضل عدم الاعتماد على register_globals ..


    ولاتحرمنا جديدك بارك الله فيك .....



    تحياتي





    __________________
    موقعي الشخصي
    www.Flasher.ws

    جزيرة الفنون
    www.Artsisland.net

  3. #3
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    أستاذ Abosaleh_2003 شرح ممتاز بارك الله فيك ..

    Flasher تعليق ممتاز أيضاً وهذا ما خطر ببالي في بداية الموضوع ..

    لكني مررت سريعاً ووجدت :
    <STRONG>
    كود PHP:
    $count=mysql_num_rows($result); 


    أحس انه كذا رح يحذف كل الحقول .. مادري ليش !!

    ممكن يا اخوان تراجعون الكود انا مررت سريعاً ووالله للأسف مستعجل جداً ..

    بارك الله فيك اخي ولا تحرمنا جديدك ..

    تحياتي، أشرف السمهوري







  4. #4
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    اسف الان فهمت الفكرة .. لكن حتى لو لم يكن قد تم التأشير إلى القسم سيتم تنفيذ استعلام كهذا :
    كود:
    DELETE FROM $tbl_name WHERE id=''


    أعتقد أن كود الأخ Flasher أكثر منطقية .. مع وافر احترامي ..

    والاختلاف في الرأي لا يفسد للود قضية ..

    تحياتي، أشرف السمهوري






  5. #5


    اقتباس المشاركة الأصلية كتبت بواسطة Flasher
    بارك الله فيك ..

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

    كود PHP:
     if($delete){ 
    for(
    $i=0;$i<$count;$i++){ 
    $del_id $checkbox[$i]; 
    $sql "DELETE FROM $tbl_name WHERE id='$del_id'"
    $result mysql_query($sql
    >>>
    كود PHP:
     if($delete){ 

    if(
    count($checkbox))
     
    $del_id join(',',$checkbox); 
    else  
    $del_id 0;
    $sql "DELETE FROM $tbl_name WHERE id IN($del_id)"
    $result mysql_query($sql); 


    أيضا يفضل عدم الاعتماد على register_globals ..


    ولاتحرمنا جديدك بارك الله فيك .....



    تحياتي
    الله يثيبك ومداخلة حلوه ومفيدة





    __________________
    +======================+
    شبكة تصميم لتطوير المواقع
    www.tsmim.com
    سكربتات حصرية - وتصاميم مميزة لموقعك
    +======================+

  6. #6


    اقتباس المشاركة الأصلية كتبت بواسطة أشرف السمهوري
    أستاذ Abosaleh_2003 شرح ممتاز بارك الله فيك ..

    Flasher تعليق ممتاز أيضاً وهذا ما خطر ببالي في بداية الموضوع ..

    لكني مررت سريعاً ووجدت :
    <STRONG>
    كود PHP:
    $count=mysql_num_rows($result); 


    أحس انه كذا رح يحذف كل الحقول .. مادري ليش !!

    ممكن يا اخوان تراجعون الكود انا مررت سريعاً ووالله للأسف مستعجل جداً ..

    بارك الله فيك اخي ولا تحرمنا جديدك ..

    تحياتي، أشرف السمهوري
    هلا بك يالغالي

    الكود انا مجربة قبل لا انزله





    __________________
    +======================+
    شبكة تصميم لتطوير المواقع
    www.tsmim.com
    سكربتات حصرية - وتصاميم مميزة لموقعك
    +======================+

  7. #7
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    اخي عارف انك جربته .. راجع ردي الثاني ..

    تحياتي، أشرف السمهوري






  8. #8
    عضو نشيط
    تاريخ التسجيل
    Oct 2003
    المشاركات
    280


    ما رائيكم هكذا :nice:
    كود:
    <input type="checkbox" name="delt['.$rw[id].']" ">
    <input type='submit' onclick="window.confirm('r u sure');" value='delet' name='del'>
    كود:
    if($del){
    
         foreach ($_POST['delt'] as $id ) {
    
    mysql_query ("DELETE FROM table WHERE id='$id'");
    
    }}






    __________________
    سبحان الله وبحمده سبحان الله العظيم

    العضوية يستخدمها اكثر من شخص
    Nabeel A. Galal
    Hawk Eye
    nabeel.galal AT hotmail.com

  9. #9
    عضو نشيط جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    364


    كود PHP:


     
    if($_POST['delete']){ 

    $checkbox array_unique(array_map("intval",$_POST['checkbox']));

    if(
    count($checkbox) > 0)
    {
      
    $del_ids join(',',$checkbox); 
      
    $sql "DELETE FROM $tbl_name WHERE id IN($del_ids)"
      
    $result mysql_query($sql);  

    }
    else
    {
      echo 
    "No selected items to DELETE";

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





    __________________
    الخدمات البرمجية
    تعديلات برمجية - تطوير برمجيات جاهزة - صيانة قواعد بيانات
    برمجة خاصة (الأولوية للأفكار الجديدة والخاصة)

    المراسلة : http://it.rewaq.com

  10. #10
    عضو فعال
    تاريخ التسجيل
    Nov 2005
    المشاركات
    1,283


    الطريقة المثلى فى نظرى
    كود PHP:
    <?php
    if($_POST['delete'])
    {    
        if(
    count($_POST['dev']) > 0)
        {
            foreach(
    $_POST['dev'] AS $id)
            {
                
    mysql_query("DELETE FROM table WHERE id='$id'");
            }
            echo 
    "تم الحذف بنجاح";
        }
        else
        {
            echo 
    "لم تقم بإختيار اى شئ";
        }
    }
    else
    {
        
    $i 0;
        while(
    $row mysql_fetch_array($result))
        {
            
    $i++;
            echo 
    "<input type=\"checkbox\" name=\"dev[" $i "]\" value=\"" $row[id] . "\">";
        }
    }
    ?>






    __________________
    سبحان الله وبحمده ... سبحان الله العظيم.
    إقرأ .. لتتعلم
    [AJAX] سكربت إتصل بنا (ديف كونتاكت) النسخة 2.3.2
    للتواصل ..

  11. #11
    عضو نشيط
    تاريخ التسجيل
    Jul 2001
    المشاركات
    115


    سلام عليكم
    اخ هل استطيع استخدام الدالة في عملية الاضافة الى قواعد البيانات .. بتغيير جمله الاستعلام ...
    اي اضافة اكثر من سجل بنفس الوقت ..
    الرجاء ممن عنده خلفيه يحاول يساعدني في تعديل الكود .. ودمتم

    تحياتي





    __________________
    وما نيل المطالب بالتمني ولكن تؤخذ الدنيا غلابا

  12. #12
    عضو نشيط
    تاريخ التسجيل
    Oct 2003
    المشاركات
    280


    نعم استخدم insert بدلا من delete
    واذا كنت ستستخدم foreach مثل الذي ارفقته انا سابقا
    فعدل
    كود:
    foreach ($_POST['ins'] as $id => $value)
     $sql ="INSERT INTO `table` VALUES ('','".$value."')";
     $result = mysql_query( $sql )or die("faild");
    لم اجربها ولكن هذه هي الفكره وان لم تكن مفهومه فاعلمنا
    او احد من الاخوة الافاضل سيقدم فكره اخرى





    __________________
    سبحان الله وبحمده سبحان الله العظيم

    العضوية يستخدمها اكثر من شخص
    Nabeel A. Galal
    Hawk Eye
    nabeel.galal AT hotmail.com

  13. #13
    عضو سوبر نشيط
    تاريخ التسجيل
    Aug 2002
    المشاركات
    715


    موضوع جيد وكنت أبحث عنه من زمان

    بس ممكن أحد يعدل الكود

    يحط خانة لتحديد الكل





    __________________
    Linux For Server | Mac For Graphic | Windows For ٍٍٍٍٍSolitaire

  14. #14
    عضو سوبر نشيط
    تاريخ التسجيل
    Aug 2002
    المشاركات
    715


    up





    __________________
    Linux For Server | Mac For Graphic | Windows For ٍٍٍٍٍSolitaire

  15. #15
    عضو سوبر نشيط
    تاريخ التسجيل
    Jun 2001
    المشاركات
    707


    كيف أستطيع القيام بعملية التحديث بإستخدام الأمر update بهذه الطريقة ؟ فرضاً أريد عمل تحديث جماعي لإعدادات خاصة ببرنامج معين .. ولدي جداول بهذا الشكل :
    option_id
    option_name
    option_value
    option_description

    أريد تحديث أحد حقول الموجودة في الجدول option_value وأعتقد أنني سأستخدم دالة foreach ولكن تعقدت عندي المسألة تماماً في التطبيق، أرجو من لديه خبرة في هذا الأمر أن يرشدنا إلي الطريقة السليمة مع إضافة مثال بإستخدام نموذج html ونموذج البرمجة ..

    وجزاكم الله خيراً










المواضيع المتشابهه

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض