简体   繁体   English

mysql将assoc提取到列中

[英]mysql fetch assoc into columns

I have used the do while for years but has always be in line by line output 我已经使用do多年了,但一直都是逐行输出

What I am wanting to do is output into 4 columns - 我想做的是输出到4列-

I have tried several things from various other questions but can't seem to lock it down. 我已经尝试了其他各种问题的一些方法,但似乎无法将其锁定。

In this example I get the same info across all four columns - 在此示例中,我在所有四列中都获得了相同的信息-

Not quite understanding how to get the individual row counter to click for each column - 不太了解如何让单个行计数器为每一列单击-

Please excuse any formatting grossness - not quite sure about this interface 请原谅任何格式粗俗性-对此界面不太确定

mysql_select_db($database_products, $products);
        $query_products = "SELECT productURL, productName, price FROM products WHERE      productName LIKE '%earring%' AND merchantId = 37638 ORDER BY id ASC";
        $products = mysql_query($query_products, $products) or die(mysql_error());
        $row_products = mysql_fetch_assoc($products);
        $totalRows_products = mysql_num_rows($products);


    <?php do { ?>  

            <div class="col-md-3">

              <img src="<?php echo $row_products['productURL']; ?>" width="200"><br>
                <span class="dM"><?php echo $row_products['productName']; ?></span> <br>
                <span class="dN">$<?php echo $row_products['price']; ?></span><br>
              <p><a class="btn btn-default" href="#" role="button">add to cart &raquo;</a></p>
            </div>


            <div class="col-md-3">
            <img src="<?php echo $row_products['productURL']; ?>" width="200" height="auto"><br>
                <span class="dM"><?php echo $row_products['productName']; ?></span> <br>
                <span class="dN">$<?php echo $row_products['price']; ?></span><br>

              <p><a class="btn btn-default" href="<?php echo $row_products['productLink']; ?>" role="button">add to cart &raquo;</a></p>
           </div>


            <div class="col-md-3">
            <img src="<?php echo $row_products['productURL']; ?>" width="200"><br>
                <span class="dM"><?php echo $row_products['productName']; ?></span> <br>
                <span class="dN">$<?php echo $row_products['price']; ?></span><br>
              <p><a class="btn btn-default" href="<?php echo $row_products['productLink']; ?>" role="button">add to cart &raquo;</a></p>
            </div>


            <div class="col-md-3">
            <img src="<?php echo $row_products['productURL']; ?>" width="200"><br>
                <span class="dM"><?php echo $row_products['productName']; ?></span> <br>
                <span class="dN">$<?php echo $row_products['price']; ?></span><br>
              <p><a class="btn btn-default" href="<?php echo $row_products['productLink']; ?>" role="button">add to cart &raquo;</a></p>
       </div> 
               <?php } while ($row_products = mysql_fetch_assoc($products)); ?>
<?php mysql_free_result($products); ?>

I am assuming this is what you are after ie the four items from the row across the page, repeated for each row read from the database. 我假设这就是您要执行的操作,即跨页行中的四个项目,对于从数据库中读取的每一行都重复执行。

mysql_select_db($database_products, $products);
$query_products = "SELECT productURL, productName, price 
                   FROM products 
                   WHERE productName LIKE '%earring%' 
                     AND merchantId = 37638 
                   ORDER BY id ASC";
$products = mysql_query($query_products, $products) 
             or die(mysql_error());

$totalRows_products = mysql_num_rows($products);


while ($row_products = mysql_fetch_assoc($products) ) : 
?>  
    <div class="col-md-3">
        <img src="<?php echo $row_products['productURL']; ?>" width="200">
    </div>

    <div class="col-md-3">
        <span class="dM"><?php echo $row_products['productName'];?></span>
    </div>

    <div class="col-md-3">
        <span class="dN">$<?php echo $row_products['price']; ?></span>
    </div>

    <div class="col-md-3">
        <p>
         <a class="btn btn-default" href="<?php echo $row_products['productLink']; ?>" role="button">add to cart &raquo;</a>
        </p>
    </div>

<?php 
endwhile;  

mysql_free_result($products); 
?>

As you are using a modern layout tool, you should also change width="200" to an inline style at least ie style="width:200px" 当您使用现代布局工具时,还应至少将width="200"更改为嵌入式样式,即style="width:200px"

You are also using the mysql_ extension which is deprecated and to be totally removed in PHP7 out in a few months. 您还使用了不推荐使用的mysql_扩展名,并且几个月后将在PHP7中将其完全删除。 You should look to move this to mysqli_ or PDO see this document for a bit of help on that . 您应该将其移至mysqli_PDOmysqli_有关此文档的帮助

Based on my comment, see if it works for you. 根据我的评论,看看它是否适合您。

<div class='row'>
<?php $i=1; for ($x=0;$x<count($row_products);$x++) { ?>  
    <div class="col-md-3">
        <img src="<?php echo $row_products['productURL']; ?>" width="200"><br>
        <span class="dM"><?php echo $row_products['productName']; ?></span> <br>
        <span class="dN"><?php echo $row_products['price']; ?></span><br>
            <p><a class="btn btn-default" href="#" role="button">add to cart &raquo;</a></p>
    </div>
<?php if ($i == 4) {
        echo "</div><div class='row'>";
        $i = 1;
    } else {
        $i++;
    }
}
?>
</div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM