سؤال

أرى أنه في TableSter ، يمكنك فرز صفحة واحدة في وقت يهمني.

يمكن فرز صفحة واحدة فقط من النتائج في وقت واحد؟ ، أي حد كبير. إذا كان لديك نتيجة استعلام تمتد صفحات متعددة ، كيف ستتعامل مع هذا؟

إذا كان أي شخص يعرف بشكل أفضل ، فلا تتردد في تصحيحي إذا لم يكن صحيحًا

شكرًا.

هل كانت مفيدة؟

المحلول

أود تعيين معرف إلى th في thead للجدول الذي يتوافق مع الأعمدة في طاولة SQL.

$("table thead th").click(function(){
    $.getJSON('ajax/get_results.php', 
        {sortby: $(this).attr('id')},
        function(data) {
            $.each(data, function(){
                // fill table here
            }
        });   
});

يمكنك إنشاء بعض الوظائف لفرز الجدول الذي يمكنك أيضًا استخدامه لتغيير الصفحة مع Ajax إذا لم تكن تفعل ذلك بالفعل.

وعلى الواجهة الخلفية ثم فرز مع SQL

"SELECT * FROM table ORDER BY ".$_GET['sortby']

بالطبع يجب عليك تأمين هذا النوع ، على سبيل المثال قم بتصفيةه بمجموعة من القيم المسموح بها. أود أن أقترح إنشاء صفيف مع أسماء فرز الأعمدة المسموح بها واستخدام array_intersect () وظيفة لتصفية القيم المسموح بها فقط أو فقط تحقق مع

if(isset($allowed_columns[$_GET['sortby']]))

ثم فقط إخراج كل شيء في JSON من خلال وضع جميع النتائج في صفيف ثم:

echo json_encode($array_with_results);

أعتقد أنك ترغب في إخراج شيء مثل هذا في JSON:

{
  {col1: 'row1',col2: 'row1',col3: 'row1'},
  {col1: 'row2',col2: 'row2',col3: 'row2'},
  {col1: 'row3',col2: 'row3',col3: 'row3'}
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top