הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   עזרה עם Limit .... (https://hosts.co.il/forums/showthread.php?t=50840)

hi_sorie 28-07-07 13:09

עזרה עם Limit ....
 
עשיתי חלוקה לדפים ... עם LIMIT שמקבל ערך ב GET ומוסיף לו 15 ועושה

קוד:

Limit $num,$up
קוד:


כאשר $up זה $num + 15

הדף הראשון יוצא לי בחלוקה ל15 שורות אבל הדף השני 45 שורות וומשיך הלאה לדף השלישי ועד הסוף ...


מה הבעיה פה ?


הנה הקוד :

PHP קוד:

$query = mysql_query("SELECT * FROM visitors_list");
    $NumOfRows = mysql_num_rows($query);
$maxPage = (int)($NumOfRows / 15);
if(($NumOfRows % 15)!= 0)
 $maxPage++;
$maxPageLimitDown = ($maxPage * 15)-15;
$num = $_GET['limit'];
if (!$num)
     $num = 0;
$i=$num;
$down = $num-15;
$up = $num+15;
if ($num == 0 )
 echo "<a href=\"?limit={$up}\">הבא</a>( <a href=\"?limit={$maxPageLimitDown}\">{$maxPage}</a> )";
else if (($num+15) > $NumOfRows)
 echo "<a href=\"?limit={$down}\">הקודם</a>( <a href=\"?limit={$maxPageLimitDown}\">{$maxPage}</a> )";
else
 echo "<a href=\"?limit={$down}\">הקודם</a> |  <a href=\"?limit={$up}\">הבא</a>( <a href=\"?limit={$maxPageLimitDown}\">{$maxPage}</a> )";
?>
<p align="center"><h3><a href="?act=del">מחק לוגים</a></h3></p>
<table border="1" width="100%" align="center" valign="top">
 <tr>
 <td align="center">מספר</td><td align="center">IP</td><td width="100" align="center">בתאריך ושעה</td><td width="20%" align="center">דף מפנה</td><td align="center">ביקר בדף</td><td align="center">מידע אודות מחשב ודפדפן</td>
 </tr>
<?
  $DB
->query("SELECT * FROM visitors_list ORDER BY id DESC Limit $num,$up ");
  while(
$array $DB->fetch_row() )
   {
            
$i++;
     echo 
"<tr>";
     echo 
"<td>{$i}</td>";
     echo 
"<td>{$array['ip']}</td>";
     echo 
"<td>{$array['date']}</td>";
     if (
$array['refer'] == "לא נמצא דף מעביר")
      echo 
"<td align=\"center\">{$array['refer']}</td>"
     else 
      echo 
"<td dir=\"ltr\">{$array['refer']}</td>";
     
$array['page'] = str_replace("/","",$array['page']);
     if ((
strlen($array['page']) == 0) || $array['page']=="index.php")
      echo 
"<td align=\"center\">עמוד ראשי</td>";
     else
      echo 
"<td dir=\"ltr\">{$array['page']}</td>";
     echo 
"<td dir=\"ltr\">{$array['browser']}</td>";
     echo 
"</tr>";
   }
?>
</table>
<?


בניה 28-07-07 13:16

PHP קוד:

define('ITEMS_PER_PAGE');
$page = intval($page) == 0 ? 1 : intval($page);

$query = mysql_query("SELECT COUNT(*) FROM visitors_list");
    $NumOfRows = mysql_result($query, 0);
$maxPage = (int)($NumOfRows / 15);
if(($NumOfRows % 15)!= 0)
 $maxPage++;
$maxPageLimitDown = ($maxPage * 15)-15;
$num = $_GET['limit'];
if (!$num)
        {
  $num = 0;
  $i=0;
 }
else
 {
  $i=$num;
 }
$down = $num-15;
$up = $num+15;
if ($num == 0 )
 echo "<a href=\"?limit={$up}\">הבא</a>( <a href=\"?limit={$maxPageLimitDown}\">{$maxPage}</a> )";
else if (($num+15) > $NumOfRows)
 echo "<a href=\"?limit={$down}\">הקודם</a>( <a href=\"?limit={$maxPageLimitDown}\">{$maxPage}</a> )";
else
 echo "<a href=\"?limit={$down}\">הקודם</a> |  <a href=\"?limit={$up}\">הבא</a>( <a href=\"?limit={$maxPageLimitDown}\">{$maxPage}</a> )";
?>
<p align="center"><h3><a href="?act=del">מחק לוגים</a></h3></p>
<table border="1" width="100%" align="center" valign="top">
 <tr>
 <td align="center">מספר</td><td align="center">IP</td><td width="100" align="center">בתאריך ושעה</td><td width="20%" align="center">דף מפנה</td><td align="center">ביקר בדף</td><td align="center">מידע אודות מחשב ודפדפן</td>
 </tr>
<?
  $DB
->query("SELECT * FROM visitors_list ORDER BY id DESC LIMIT ". (ITEMS_PER_PAGE $page-1).",".ITEMS_PER_PAGE);
  while(
$array $DB->fetch_row() )
   {
            
$i++;
     echo 
"<tr>";
     echo 
"<td>{$i}</td>";
     echo 
"<td>{$array['ip']}</td>";
     echo 
"<td>{$array['date']}</td>";
     if (
$array['refer'] == "לא נמצא דף מעביר")
      echo 
"<td align=\"center\">{$array['refer']}</td>";
     else
      echo 
"<td dir=\"ltr\">{$array['refer']}</td>";
     
$array['page'] = str_replace("/","",$array['page']);
     if ((
strlen($array['page']) == 0) || $array['page']=="index.php")
      echo 
"<td align=\"center\">עמוד ראשי</td>";
     else
      echo 
"<td dir=\"ltr\">{$array['page']}</td>";
     echo 
"<td dir=\"ltr\">{$array['browser']}</td>";
     echo 
"</tr>";
   }
?>
</table>
<?


4ior 28-07-07 13:28

PHP קוד:

$num=($page*15);
$up=$num+15

אתה צריך לשנות גם את $num

omercnet 28-07-07 13:57

ציטוט:

נכתב במקור על ידי בניה (פרסם 531240)
PHP קוד:

define('ITEMS_PER_PAGE');
$page = intval($page) == 0 ? 1 : intval($page);

$query = mysql_query("SELECT COUNT(*) FROM visitors_list");
    $NumOfRows = mysql_result($query, 0);
$maxPage = (int)($NumOfRows / 15);
if(($NumOfRows % 15)!= 0)
 $maxPage++;
$maxPageLimitDown = ($maxPage * 15)-15;
$num = $_GET['limit'];
if (!$num)
        {
  $num = 0;
  $i=0;
 }
else
 {
  $i=$num;
 }
$down = $num-15;
$up = $num+15;
if ($num == 0 )
 echo "<a href=\"?limit={$up}\">הבא</a>( <a href=\"?limit={$maxPageLimitDown}\">{$maxPage}</a> )";
else if (($num+15) > $NumOfRows)
 echo "<a href=\"?limit={$down}\">הקודם</a>( <a href=\"?limit={$maxPageLimitDown}\">{$maxPage}</a> )";
else
 echo "<a href=\"?limit={$down}\">הקודם</a> |  <a href=\"?limit={$up}\">הבא</a>( <a href=\"?limit={$maxPageLimitDown}\">{$maxPage}</a> )";
?>
<p align="center"><h3><a href="?act=del">מחק לוגים</a></h3></p>
<table border="1" width="100%" align="center" valign="top">
 <tr>
 <td align="center">מספר</td><td align="center">IP</td><td width="100" align="center">בתאריך ושעה</td><td width="20%" align="center">דף מפנה</td><td align="center">ביקר בדף</td><td align="center">מידע אודות מחשב ודפדפן</td>
 </tr>
<?
  $DB
->query("SELECT * FROM visitors_list ORDER BY id DESC LIMIT ". (ITEMS_PER_PAGE $page-1).",".ITEMS_PER_PAGE);
  while(
$array $DB->fetch_row() )
   {
            
$i++;
     echo 
"<tr>";
     echo 
"<td>{$i}</td>";
     echo 
"<td>{$array['ip']}</td>";
     echo 
"<td>{$array['date']}</td>";
     if (
$array['refer'] == "לא נמצא דף מעביר")
      echo 
"<td align=\"center\">{$array['refer']}</td>";
     else
      echo 
"<td dir=\"ltr\">{$array['refer']}</td>";
     
$array['page'] = str_replace("/","",$array['page']);
     if ((
strlen($array['page']) == 0) || $array['page']=="index.php")
      echo 
"<td align=\"center\">עמוד ראשי</td>";
     else
      echo 
"<td dir=\"ltr\">{$array['page']}</td>";
     echo 
"<td dir=\"ltr\">{$array['browser']}</td>";
     echo 
"</tr>";
   }
?>
</table>
<?


איך זה מלמד אותו בידיוק?

Rom 28-07-07 14:37

אתה רוצה לקרוא ל15 שורות מהשורה $num?
אם כן אתה צריך לעשות בLIMIT:
PHP קוד:

LIMIT $num,15 

וככה אתה קורה ל15 שורות מ$num ועד $num+15


כל הזמנים הם GMT +2. הזמן כעת הוא 11:14.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ