2015-09-01 63 views
0

好吧,有点上下文:我试图在页面底部的四个框中显示图像(图像在表格中)。但是,我无法弄清楚如何从一个结果集中选择全部四个图像。我一直在四处寻找,但感觉像没有我找到适用于我想要做的答案...如何从一个结果集中选择多行

我的SQL是:

SELECT image FROM products WHERE popular = '1' 

图像是图像(即'image'.jpg)

并且这是我现在拥有的PHP(如果它很讨厌,在过去的一个半小时内它被多次更改,如没有我试过的解决方案已经工作:)

  $sql_getpopular = "SELECT image FROM products WHERE popular='1'"; 
      $result_getpopular = $mysqli->query($sql_getpopular); 
      $rows_getpopular = mysqli_fetch_row($result_getpopular); 
      $rows[0] = $rows_getpopular; 
      $rows_getpopular = mysqli_fetch_row($result_getpopular); 
      $rows[1] = $rows_getpopular; 
      $rows_getpopular = mysqli_fetch_row($result_getpopular); 
      $rows[2] = $rows_getpopular;     
      $rows_getpopular = mysqli_fetch_row($result_getpopular); 
      $rows[3] = $rows_getpopular;    

另外,我试过在循环中做这件事,但那也没有效果。这就是为什么我把它写成这样。

,这里是我尝试在显示它:

   <div><?php echo "<img src='images/products/" . $rows[0] . ".jpg'>"; ?></div> 
       <img id="spacing"> 
       <div><?php echo "<img src='images/products/" . $rows[1] . ".jpg'>"; ?></div> 
       <img id="spacing"> 
       <div><?php echo "<img src='images/products/" . $rows[2] . ".jpg'>"; ?></div> 
       <img id="spacing"> 
       <div><?php echo "<img src='images/products/" . $rows[3] . ".jpg'>"; ?></div> 

回答

1

你的主要问题与

$rows[0] = $rows_getpopular; 

mysqli_fetch_row() returns a enumerated array,因此将需要

$rows[0] = $rows_getpopular[0]; 

使用循环 - 即。 while()foreach() - 特别是可以减少你的代码

得到image进入$rows使用while() -

$sql_getpopular = "SELECT image FROM products WHERE popular='1'"; 
$result_getpopular = $mysqli->query($sql_getpopular); 
while($rows_getpopular = mysqli_fetch_row($result_getpopular)){ 
     $rows[] = $rows_getpopular[0]; 
} 

呼应image值,使用foreach() -

<?php foreach($rows as $row){ ?> 
    <div><?php echo "<img src='images/products/" . $row . ".jpg'>"; ?></div> 
    <img id="spacing"> 
<?php } ?> 
+0

哦,我看到我的现在犯了一个错误。我甚至没有想过要减少代码量。非常感谢! – KruSuPhy

+0

我已经加入了关于使用'$ rows_getpopular [0];'而不是'$ rows_getpopular;'作为['mysqli_fetch_row()'返回枚举数组]的说明](http://php.net/manual/en/mysqli- result.fetch-row.php),所以你需要选择'[0]'键。 – Sean

相关问题