2012-04-04 41 views
1

好吧,我有這樣的代碼:知道,如果記錄已顯示3條記錄,如果是的話就把其他3條記錄在一個新行

<? 
$name=$_POST['name']; 

$con = mysql_connect("localhost","root",""); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db("juliver", $con); 

$result = mysql_query("SELECT * FROM items WHERE id='$name'"); 
$ss = "" 
while($row = mysql_fetch_array($result)) 
{ 
    $ss .= "<div style='border:1px solid red; float:left; width:100px;'><img src="Images/media'.$row['name'].'" />"; 
    $ss .= "<p>".$row['title']."</p>"; 
    $ss .= "<p>".$row['description']."</p>"; 
    $ss .= "<a href='".$row['link']."'>".$row['link']."</a></div>"; 

} 

mysql_close($con); 
?> 

<? echo $ss; ?> 

現在,我想整理顯示,因此,我希望記錄被設置爲3,但唯一的問題是我卡住的是我不知道如何使它顯示在3的集合。我打開一個建議,請幫助我。謝謝。

回答

0

功能

function sqlArr($sql){ 
    $ret = array(); 
    $res = mysql_query($sql) or trigger_error(mysql_error()." ".$sql); 
    if ($res) { 
    while($row = mysql_fetch_array($res)){ 
     $ret[] = $row; 
    } 
    } 
    return $ret; 
} 

代碼

mysql_connect("localhost","root",""); 
mysql_select_db("juliver"); 

$name = mysql_real_escape_string($_POST['name']); 
$data = sqlArr("SELECT * FROM items WHERE id='$name'"); 
$data = array_chunk($data,3); 
include 'template.tpl.php'; 

模板

<table border='1'> 
<? foreach ($data as $row): ?> 
    <tr> 
<? foreach ($row as $cell): ?> 
    <td><?=$cell['id']?><?=$cell['title']?></td> 
<? endforeach ?> 
    </tr> 
<? endforeach ?> 
</table> 
+0

謝謝你,但我得到一個錯誤說:注意:未定義指數:名稱在C:\ XAMPP \ htdocs中\ MADEINUSA \ cc.php上線22' 和線22是這樣的: $ name = mysql_real_escape_string($ _ POST ['name']);. – 2012-04-04 15:48:14

+0

你應該在代碼中使用它。這段代碼的目的是什麼? – 2012-04-04 15:49:35

+0

這只是一個過期,但一旦這個過期成功,我會將其實施到我的實際項目中。 – 2012-04-04 15:52:20

0

在while循環,你可以把狀態知道什麼時候執行3次,然後它會去自動在其他線路上。看看

int $a=0; 
    while($row = mysql_fetch_array($result)) 
    { 

     if($a%3==0){ 
    this will executes only if when the no of record dividable by 3. means 3,6,9,12.. 
       do this.. 
    }else { 
    do this.. 
    } 

    $a++; 
    } 
+0

就像一句話,你應該在for之外啓動$ a,否則它將始終爲0,並且由於0可以被3除,所以代碼將每次都執行。 – 2012-04-04 15:42:51

相關問題