2011-12-05 7 views
0

私は現在、mysqlテーブルからアイテムを表示するためのループを作成中です。 1行に3つのアイテムを表示する簡単な方法はありますか?これまでのところ、すべての項目をhtmlテーブル内の単一の行に表示することができました。私は助けていただければ幸いです。1行に3つのアイテムを表示します - whileループ - php/mysql

<meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
<?php 
$database_name = "vog"; 
$conn = mysql_connect("localhost","root","toor"); 
mysql_select_db($database_name); 

$sql = "select * from client1"; 

$result = mysql_query($sql) or die(mysql_error()); 
$num = mysql_num_rows($result); //Ελεγχος αν υπάρχουν εγγραφές! 
?> 

<?php 
    if($num){ 
     while ($row = mysql_fetch_array($result)) 
    { 
      echo $img_id = $row['img_id']; 
?> 

<form name="add2cart" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
     <?php echo $row['img_name'];?> 
     <?php echo "<img src=".$row['img_path'].">";?> 
<select name="color"> 
    <option>bnw</option> 
    <option>sepia</option> 
</select> 
<input type="hidden" name="img_name" value="<?php echo $row['img_name']; ?>"> 
<input type="submit" name="add2cart" value="Add to cart"></input> 
     <br /> 
</form> 
<?php 
     } 
    } 
    else{ 
     echo "Δεν υπάρχουν εγγραφές με τα κριτήρια που επιλέξατε"; 
    } 
    //add2cart section 
if(isset($_POST['add2cart'])){ 
$img_name = $_POST['img_name']; 
$color = $_POST['color']; 
$sql_order ="insert into orders(item_id, img_name, color) 
values(' ', '$img_name', '$color')"; 
$result = mysql_query($sql_order); 
} 
?> 
+1

mysql_functionではなくmysqliを使用してください。彼らは老いていて、あなたを傷つける世界全体にまで広げます。参照:http://stackoverflow.com/questions/60174/best-way-to-stop-sql-injection-in-php – Polynomial

+0

勝利のためのPDO! –

答えて

2

のようなあなたのループの前に変数を宣言します:以下の(HTMLテーブルタグなし) コード$currentRow = 1、その後、内部、および終了時に、あなたのループの追加​​

場合は、その後、確認することができます行は3 if($currentRow % 3 == 0)で割り切れ、中断します。

関連する問題