2013-04-04 55 views
0

你好,我有這個疑問PHP/MySQL的陣列或查詢一些價值

$upit = "SELECT id from usluga"; 
$rezultat = mysql_query($upit); 
while($red = mysql_fetch_object($rezultat)) 
{ 
    echo "<li>{$red->id}</li>"; 
} 

我想退出時得到這樣的:

<li>1,2,3,4,5,6</li> 
<li>7,8,9,10,11,12</li> 
<li>13,14,15,16,17,18</li> 
<li>19,20,21,22,23,24</li> 

等..

任何幫助?

+1

[請不要使用'mysql_ *'功能] (http://stackoverflow.com/q/12859942/1190388)在新的代碼。他們不再被維護,並[正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到紅色框?改爲了解準備好的語句,然後使用[tag:PDO]或[tag:MySQLi]。 – hjpotter92 2013-04-04 10:22:07

+0

這只是一個簡單的例子,首先我想到了,我需要很好的退出,這可以和數組完成,無所謂 – 2013-04-04 10:24:24

+0

你試過了什麼代碼? – 2013-04-04 10:24:52

回答

5

可以使用Mod運算符(%)或使用陣列功能來實現這一目標

$upit = "SELECT id from usluga"; 
$rezultat = mysql_query($upit); 

while ($red=mysql_fetch_object ($rezultat)) { 
    $t[] = $red->id; 
} 

$chunks = array_chunk($t, 6); 
foreach ($chunks as $chunk) { 
    echo "<li>" . join(",", $chunk) . "</li>"; 
} 
+0

Txanks像一個魅力:) – 2013-04-04 10:48:30

0

試試這個..

$upit="SELECT id from usluga"; 
$rezultat=mysql_query($upit); 
$i=0; 
$liflag=0; 
while ($red=mysql_fetch_assoc($rezultat)) 
{ 
    if($i<6) 
    { 
     $liflag=1; 
     if($i==0) 
     { 
      echo "<li>$red->id"; 
      $i++; 
      continue; 
     } 
     else 
     { 
      echo ",$red->id"; 
      $i++; 
      continue; 
     } 
    } 
    else 
    { 
     echo ",$red->id</li>"; 
     $i=0; 
     $liflag=0; 
     continue; 
    } 
} 
if($liflag==1) 
{ 
    echo "</li>"; 
}