Nth sayfa yerine sayfa seçinÑ

0 Cevap php

Ben MySQL veritabanı sonuçları paginates.Bu bir web sayfası var. Aşağıdaki kod sonuçları gezinmek için bir açılır menü oluştururken kullanılır. Bu sayfa n seçer böylece Şu anda o ayarlanır; Bu I (örneğin) sayfa 30 istekte bulunduğunuzda, ilgili kayıt sonuç kümesinin hattında 30 saklanır varsayar, ancak bazı test bu açıkça böyle değil. Yerine n sayfa th döndürür böylece Bunu nasıl değiştirmek gerekir? Ben ayarlanması gerekiyor while ifadesi olduğunu biliyorum, ama ben sadece çok onu anlamaya olamaz.

    //…previous code…

    $rowsPerPage = 1;

    // by default we show first page
    $pageNum = 1;

    // if $_GET['page'] defined, use it as page number
    if(isset($_GET['page']))
    {
        $pageNum = $_GET['page'];
    }

    $offset = ($pageNum - 1) * $rowsPerPage;

    $query3 = 'SELECT t1.s_name AS t1_sname, t1.uh_heading AS t1_unit, t1.ut_latin AS t1_latin, t1.ut_english AS t1_english, t1.uh_id, t1.chapter_sequence AS t1_chapters, t1.unit_sequence AS t1_units, 
                      t2.s_name AS t2_sname, t2.ut_latin AS t2_latin, t2.ut_english AS t2_english, t2.chapter_sequence AS t2_chapters, t2.unit_sequence AS t2_units
               FROM vw_source_text_and_translation AS t1
               LEFT JOIN vw_source_text_and_translation AS t2
               ON (t2.uh_id = t1.uh_id AND t2.s_id = " ' . $_SESSION['source2'] . ' " )
               WHERE t1.s_id =  " ' . $_SESSION['source1'] . ' "
               ORDER BY t1.chapter_sequence, t1.unit_sequence' .
               " LIMIT $offset, $rowsPerPage";

//...more code...

    $query4   = 'SELECT uh_id, chapter_sequence, unit_sequence, uh_heading 
             FROM vw_source_text_and_translation 
             WHERE s_id = "' . $_SESSION['source1'] . '"';

//...more code...

    $rows= $result4;
    $numrows = 0;
    $nav  = '';
    while ($row = mysql_fetch_assoc($rows)) 
    {
      $nav .= ' <option value="'. $row['uh_id'] .'"> '. 
              $row['chapter_sequence'] .'.'.$row['unit_sequence'] .
              ' - '. $row['uh_heading'] .'</option>';
      $numrows ++;
    }

    /*…more code… */

Tamam, bazı yardımıyla bu kısmen sabittir yani; süre statment şimdi okur gibi:

while ($row = mysql_fetch_assoc($rows)) 
 {
  $numrows ++;
  $nav .= ' <option value=" ' . $numrows . '"> '. $row['chapter_sequence'] .'.'.
             $row['unit_sequence'] .' - '. $row['uh_heading'] .'</option>';
 }

Ben hala bazı kayıtlar görüntülenir değil bir sorun var ama ben $ _SESSION ['source1'] ve $ _SESSION ['source2'] için set değerleri ile MySQL Toolkit $ query3 çalıştırdığınızda gayet iyi çalışıyor olsa bile, bu, sayfalama giderir . Bu paginated edilmiş bir rekor olduğunu kabul olsa da, t2.ut_latin veya t2.ut_english için bir NULL değeri varsa, o zaman hiçbir veri görüntülenir görünüyor. Ancak, bu sorunun konunun ötesinde, bu yüzden yeni bir soru bu postalanacak olabilir sanırım.

0 Cevap