【问题标题】:Display 3 items per row - while loop - php/mysql [duplicate]每行显示 3 个项目 - while 循环 - php/mysql [重复]
【发布时间】:2012-01-13 04:25:49
【问题描述】:

我目前正在处理一个循环来显示 mysql 表中的项目。有没有一种简单的方法可以每行显示 3 个项目。到目前为止,我设法在 html table 内的一行中显示所有项目。我将不胜感激任何帮助; 代码(不带 html 表格标签)如下:

<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);
}
?>

【问题讨论】:

标签: php mysql while-loop


【解决方案1】:

在循环之前声明一个变量,例如:$currentRow = 1,然后在循环内部和末尾添加 $currentRow++

然后,您可以检查您的行是否可以被 3 if($currentRow % 3 == 0) 整除并插入。

【讨论】:

    猜你喜欢
    • 2014-12-18
    • 2012-10-26
    • 1970-01-01
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多