النتائج 1 إلى 7 من 7

الموضوع: للأخوان الخبراء - كيف يمكن عمل تحرير جماعي للمصفوفات ؟

  1. #1
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2004
    المشاركات
    884

    للأخوان الخبراء - كيف يمكن عمل تحرير جماعي للمصفوفات ؟



    السلام عليكم

    لدي سؤال جديد كالعادة

    وهو كيف يمكنني عمل تحديث جماعي للحقول التي في قاعدة البيانات

    كمثال :


    في مثل الصفحة التي في الصورة قد تحتاج الى وقت لتحرير جميع الترتيبات

    أما هذه الصفحة

    فلا أعتقد انها قد تحتاج لوقت

    الذي اريد معرفته
    كيف يمكنني عمل تحديث جماعي لمحتويات قاعدة البيانات (مثل الصورة الثانية)

    :shy:





    __________________
    مدونتي .. دروس (PHP, JavaScript, C, Java)
    Twitter
    برمجة وتطوير المواقع والمنتديات


  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2004
    المشاركات
    884


    رفــ("up")ـع






    __________________
    مدونتي .. دروس (PHP, JavaScript, C, Java)
    Twitter
    برمجة وتطوير المواقع والمنتديات

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Sep 2003
    المشاركات
    136

    السلام عليكم



    كيف حالك

    انتظرت معاك ومحد جاوب لحد الان قلت جاء دوري مره ثانيه

    الخطوات بطريقه سهله وراح تفهمها ان شاء الله
    اولا اضف عمود جديد على الاعمده التي في القاعده
    مثلا عندك الاعمده اسمائها id , name url
    id هو المفتاح الاساسي للصفوف يعني Primary key
    name اسم الوصله
    url عنوان الوصله بالضبط مثل الصوره اللي انت مسويها الان نبدأ
    اضف عمود جديد وعطه اسم مثلا cool وخاصيته SMALLINT او INT براحتك
    الان لازم ندخل ارقام بصفوف cool فقط , يعني نشتغل بالصفوف العمود هذا فقط لحد ما نمليه ارقام على عدد
    المواضيع اللي عندك (تذكر بعدين نرتبهم) الان نبي ندخل ارقام عشوائيه في صفوف العمود هذا بالذات واضحه ؟
    //نبدأ بادخال الارقم في الصفوف الجديده فقط
    //وترك باقي المعلومات كما هي
    كود PHP:
    $superman mysql_query("select * from table_name"); //الاستعلام عن المحتويات
    $num 1//بدأ من الرقم واحد الى الخ
    while($play mysql_fetch_array($superman)) {
    $id $play['id']; // نختار المفتاح الاساسي لكل صف عشان ما نضيع :)
    //نبدأ بادخال المعلومات صف صف بانتظام
    mysql_query("update IGNORE table_name set cool = '$num' where id=$id") or die(mysql_error());
    $num++;

    الان لترتيب الصفوف تكتب امر MYSQL وهو
    كود PHP:
    $superman mysql_query("select * from table order by cool"); 
    او لعرض من الكبير للصغير:
    كود PHP:
    $superman mysql_query("select * from table order by cool desc"); 
    ملاحظه الان تقدر تغير اي رقم ويصير الاول ولا داعي للقلق اذا كان هناك رقمين متاساوين تقدر تعدليهم براحتك
    واصلا هم اساسا راح يكونون تحت بعض بعد التصفيف
    اهم شي لا تنسى تعمل تعديل على التصميم وتخليه يقرأ الارقام اللي في cool
    الphp جميل صح؟

    تحياتي وبالتوفيق






  4. #4
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2004
    المشاركات
    884


    اقتباس المشاركة الأصلية كتبت بواسطة Death
    كيف حالك

    انتظرت معاك ومحد جاوب لحد الان قلت جاء دوري مره ثانيه

    الخطوات بطريقه سهله وراح تفهمها ان شاء الله
    اولا اضف عمود جديد على الاعمده التي في القاعده
    مثلا عندك الاعمده اسمائها id , name url
    id هو المفتاح الاساسي للصفوف يعني Primary key
    name اسم الوصله
    url عنوان الوصله بالضبط مثل الصوره اللي انت مسويها الان نبدأ
    اضف عمود جديد وعطه اسم مثلا cool وخاصيته SMALLINT او INT براحتك
    الان لازم ندخل ارقام بصفوف cool فقط , يعني نشتغل بالصفوف العمود هذا فقط لحد ما نمليه ارقام على عدد
    المواضيع اللي عندك (تذكر بعدين نرتبهم) الان نبي ندخل ارقام عشوائيه في صفوف العمود هذا بالذات واضحه ؟
    //نبدأ بادخال الارقم في الصفوف الجديده فقط
    //وترك باقي المعلومات كما هي
    كود PHP:
    $superman mysql_query("select * from table_name"); //الاستعلام عن المحتويات
    $num 1//بدأ من الرقم واحد الى الخ
    while($play mysql_fetch_array($superman)) {
    $id $play['id']; // نختار المفتاح الاساسي لكل صف عشان ما نضيع :)
    //نبدأ بادخال المعلومات صف صف بانتظام
    mysql_query("update IGNORE table_name set cool = '$num' where id=$id") or die(mysql_error());
    $num++;

    الان لترتيب الصفوف تكتب امر MYSQL وهو
    كود PHP:
    $superman mysql_query("select * from table order by cool"); 
    او لعرض من الكبير للصغير:
    كود PHP:
    $superman mysql_query("select * from table order by cool desc"); 
    ملاحظه الان تقدر تغير اي رقم ويصير الاول ولا داعي للقلق اذا كان هناك رقمين متاساوين تقدر تعدليهم براحتك
    واصلا هم اساسا راح يكونون تحت بعض بعد التصفيف
    اهم شي لا تنسى تعمل تعديل على التصميم وتخليه يقرأ الارقام اللي في cool
    الphp جميل صح؟

    تحياتي وبالتوفيق
    مشكور أخوي لكني طبقت الدرس بلا فائدة
    فعندما اكتب رقم في أحد الفورمات يتحدث الرقم لجميع البيانات التي في القاعدة





    __________________
    مدونتي .. دروس (PHP, JavaScript, C, Java)
    Twitter
    برمجة وتطوير المواقع والمنتديات

  5. #5
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2004
    المشاركات
    884

    هذا الكود الذي وضعته



    كود PHP:
    <?php
    echo "<html dir=\"rtl\">\n";
    echo 
    "\n";
    echo 
    "<head>\n";
    echo 
    "<meta http-equiv=\"Content-Language\" content=\"ar-om\">\n";
    echo 
    "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1256\">\n";
    echo 
    "<title>&Ccedil;&aacute;&Ecirc;&Iacute;&szlig;&atilde; &Egrave;&Ccedil;&aacute;&Atilde;&THORN;&Oacute;&Ccedil;&atilde;</title>\n";
    echo 
    "</head>\n";
    echo 
    "\n";
    echo 
    "<body bgcolor=\"#99CCFF\">\n";
    include(
    "../config.php");
    if(
    $do==update){
    include(
    "../config.php");
            
    $query="select * from cats order by nid";
    $result=mysql_query($query);
    while(
    $row mysql_fetch_array($result)) {
    mysql_query("update IGNORE cats set nid= '$site' where id=$row[id]") or die(mysql_error());
    }


        echo
    "update";
    }
    echo 
    "\n";
    echo 
    "<p align=\"center\"><b><font color=\"#FF0000\" size=\"5\">&atilde;&Iuml;&iacute;&Ntilde; &Ccedil;&aacute;&Atilde;&THORN;&Oacute;&Ccedil;&atilde;</font></b></p>\n";
    echo 
    "<p align=\"center\"><a href=\"addcat.php\">&Aring;&Ouml;&Ccedil;&Yacute;&Eacute; &THORN;&Oacute;&atilde; &Igrave;&Iuml;&iacute;&Iuml;</a></p>\n";
    echo 
    "<form method=\"POST\" action=\"?do=update\">\n";
    echo 
    "    <div align=\"center\">\n";
    echo 
    "        <table border=\"1\" width=\"100%\" id=\"table1\" bordercolor=\"#008080\">\n";
    echo 
    "            <!-- MSTableType=\"nolayout\" -->\n";
    echo 
    "            <tr>\n";
    echo 
    "                <td align=\"center\" width=\"16%\"><span lang=\"en-us\">id</span></td>\n";
    echo 
    "                <td align=\"center\" width=\"37%\">&Ccedil;&Oacute;&atilde; &Ccedil;&aacute;&THORN;&Oacute;&atilde;</td>\n";
    echo 
    "                <td align=\"center\" width=\"4%\">&Ccedil;&aacute;&Ecirc;&Ntilde;&Ecirc;&iacute;&Egrave;</td>\n";
    echo 
    "                <td align=\"center\" width=\"27%\">&Ccedil;&aacute;&Igrave;&aring;&Eacute;</td>\n";
    echo 
    "                <td align=\"center\" colspan=\"2\">&Ccedil;&aacute;&Icirc;&iacute;&Ccedil;&Ntilde;&Ccedil;&Ecirc;</td>\n";
    echo 
    "            </tr>\n";
            
    $query="select * from cats order by nid";
    $result=mysql_query($query);
    while(
    $row mysql_fetch_array($result)) {
    echo 
    "            <tr>\n";
    echo 
    "                <td align=\"center\" width=\"16%\"><span lang=\"en-us\">$row[id]</span></td>\n";
    echo 
    "                <td align=\"center\" width=\"37%\"><span lang=\"en-us\">$row[cat_name]</span></td>\n";
    echo 
    "                <td align=\"center\" width=\"4%\">\n";
    echo 
    "                <input type=\"text\" name=\"site\" size=\"4\" value=\"$row[nid]\"></td>\n";
    echo 
    "                <td align=\"center\" width=\"27%\"><span lang=\"en-us\">$row[cat_site]</span></td>\n";
    echo 
    "                <td align=\"center\" width=\"8%\"><a href=\"editcat.php?id=$row[id]\">\n";
    echo 
    "                &Ecirc;&Iacute;&Ntilde;&iacute;&Ntilde;</a></td>\n";
    echo 
    "                <td align=\"center\" width=\"5%\">\n";
    echo 
    "                <a href=\"del.php?del=cat&id=$row[id]\">&Iacute;&ETH;&Yacute;</a></td>\n";
    }
    echo 
    "            </tr>\n";
    echo 
    "        </table>\n";
    echo 
    "    </div>\n";
    echo 
    "    <p align=\"center\"><input type=\"submit\" value=\"&Ecirc;&Iacute;&Iuml;&iacute;&Euml; &Ccedil;&aacute;&Ecirc;&Ntilde;&Ecirc;&iacute;&Egrave;&Ccedil;&Ecirc;\" name=\"B1\"><input type=\"reset\" value=\"&Ccedil;&aacute;&Ccedil;&Yacute;&Ecirc;&Ntilde;&Ccedil;&Ouml;&iacute;\" name=\"B2\"></p>\n";
    echo 
    "</form>\n";
    echo 
    "\n";
    echo 
    "</body>\n";
    echo 
    "\n";
    echo 
    "</html>\n";
    ?>






    __________________
    مدونتي .. دروس (PHP, JavaScript, C, Java)
    Twitter
    برمجة وتطوير المواقع والمنتديات

  6. #6
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2004
    المشاركات
    884


    <رفع>
    <up>






    __________________
    مدونتي .. دروس (PHP, JavaScript, C, Java)
    Twitter
    برمجة وتطوير المواقع والمنتديات

  7. #7


    السبب في الكود التالي:
    كود PHP:
    echo "<input type=\"text\" name=\"site\" size=\"4\" value=\"$row[nid]\"></td>\n"
    لاحظ هنا أنك أعطيت الخاصية name القيمة site وهي ثابتة لكل السجلات، عليك أن تميز كل واحدة منها برمز وليكن مثلاً:

    كود PHP:
    echo "<input type=\"text\" name=\"site[$row[id]]\" size=\"4\" value=\"$row[nid]\"></td>\n"
    بعد ذلك عليك أن تعدل التالي:
    كود PHP:
    while($row mysql_fetch_array($result)) {
    mysql_query("update IGNORE cats set nid= '$site' where id=$row[id]") or die(mysql_error());

    لتجعله كالتالي:
    كود PHP:
    foreach ($site as $k=>$v)
    {
    mysql_query("update IGNORE cats set nid= '$v' where id=$k") or die(mysql_error());

    قد لا تعمل التعديلات مباشرة، حاول أن تعدل ما يلزم فقد كتبتها ارتجالا





    __________________
    عزوز الحسني





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

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

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