cherire نشر 30 أبريل 2016 أرسل تقرير نشر 30 أبريل 2016 السلام عليكم و رحمة الله و بركاته اريد حفظ ترتيب القائمة التالية بعد عملية drag and drop مرفق مثال و جدول القاعدة و هذا الكود الذي استعمله لإظهار القائمة public function test() { $choice = Database::getInstance()->query("SELECT * FROM choix WHERE condidat_concour_id = ".$this->data()->ID." ORDER BY ordre ASC"); foreach($choice->results() as $choi){ $cs_code = $choi->cs_code; $cs = Database::getInstance()->query("SELECT code,designation,site FROM cs WHERE code = '{$cs_code}' "); echo "<li id=".$choi->id.">"; echo "<span class='handle'><i class='fa fa-ellipsis-v'></i><i class='fa fa-ellipsis-v'></i></span>"; echo "<span class='text'>".$choi->cs_code."</span>"; echo "</li>"; } } حاولت عن طريق اضافة السكريبت التالي function saveOrder() { v ar articleorder=""; $("#sortable li").each(function(i) { if (articleorder=='') articleorder = $(this).attr('id'); else articleorder += "," + $(this).attr('id'); }); $.post('set_order.php', { order: articleorder }) .success(function(data) { alert('saved'); }) .error(function(data) { alert('Error: ' + data); }); } و ملف set_order.php <?php require_once(core/init.php); $orderlist = explode(',', $_POST['ordre']); $i = 1 ; foreach ($orderlist as $k=>$order) { $sql = 'UPDATE choix SET ordre = :ordre WHERE id = :id' ; $query = $pdo->prepare($sql); $query->bindParam(':ordre', $i, PDO::PARAM_INT); $query->bindParam(':id', $id, PDO::PARAM_INT); $query->execute(); $i++ ; } ?> لكن لم تعمل معي ؟؟ اقتباس
1 E.Nourddine نشر 30 أبريل 2016 أرسل تقرير نشر 30 أبريل 2016 إليك هذا المثال الذي سبق لي التعامل معه، وأتمنى أن يكون مفيداً لك كما هو بالنسبة لي: في ملف js الخاص بحدث تغيير ترتيب العناصر، أضف حدث الدالة التالي: $("#list").live('hover', function() { $("#list").sortable({ update : function () { var neworder = new Array(); $('#list li').each(function() { //get the id var id = $(this).attr("id"); //create an object var obj = {}; //insert the id into the object obj[] = id; //push the object into the array neworder.push(obj); }); $.post("pagewhereyouuselist.php",{'neworder': neworder},function(data){}); } }); }); ليتم عند أي تغيير في ترتيب العناصل استدعاء ملف Php التالي المسؤول عن تخزين ترتيب العنصر داخل قاعدة البيانات: $neworderarray = $_POST['neworder']; //loop through the list of ids and update your db foreach($neworderarray as $order=>$id){ //إعدادات الاتصال بقاعدة البيانات $con = mysql_connect("host","username","password"); if (!$con){ die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); mysql_query("UPDATE table SET order = {$order} WHERE id = {$id}"); mysql_close($con); } المصدر. اقتباس
السؤال
cherire
السلام عليكم و رحمة الله و بركاته
اريد حفظ ترتيب القائمة التالية بعد عملية drag and drop
مرفق مثال و جدول القاعدة
و هذا الكود الذي استعمله لإظهار القائمة
حاولت عن طريق اضافة السكريبت التالي
و ملف set_order.php
لكن لم تعمل معي ؟؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.