Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
防止正确显示动态PHP表_Php_Mysql_Html Table - Fatal编程技术网

防止正确显示动态PHP表

防止正确显示动态PHP表,php,mysql,html-table,Php,Mysql,Html Table,我有以下代码来显示mysql数据库中的六个产品块。 它显示为两列三行,我在六个位置中的每一个位置都有单独的照片和正确的页面链接,但第一列中三种产品的alt标记在第二列中重复。我不明白为什么。有什么想法和方法来改进代码吗 <?php // create query $query = "SELECT * FROM photogear WHERE qty != 0 ORDER BY id DESC LIMIT 6"; // execute query $result = mysq

我有以下代码来显示mysql数据库中的六个产品块。 它显示为两列三行,我在六个位置中的每一个位置都有单独的照片和正确的页面链接,但第一列中三种产品的alt标记在第二列中重复。我不明白为什么。有什么想法和方法来改进代码吗

<?php
  // create query
  $query = "SELECT * FROM photogear WHERE qty != 0 ORDER BY id DESC LIMIT 6";
  // execute query
  $result = mysql_query($query) or die(MYSQL_ERROR);
?>
  <table>
    <?php 
    while($row = mysql_fetch_array($result)){
      $product2=$row['product'];
      $img2=$row['img'];
      $manuid2=$row['manuid'];
      $id2=$row['id'];
      $price=$row['price'];
    //GET MANUFACTURER FOR DISPLAY IN img title
      $manu_q = "SELECT * FROM manufacturers WHERE manuid = '$manuid2' ORDER BY name";
      $manu_r = mysql_query($manu_q) or die(mysql_error());
      $manu_info = mysql_fetch_array($manu_r);
      $name2=$manu_info['name'];
    ?> 
      <tr>
        <td>
          <?php // for each product show photo with a link to product page 
          echo "<a href='product-".$row['id']."'><img src='".$row['img']."'alt='$name2,$product2 $price' title='$name2 $product2 &pound;$price' width='85'></a>";
         ?>
         <?php $row=mysql_fetch_assoc($result); // make one record out.?>
       </td>  
       <td> 
         <?php // for each product show photo with a link to product page 
echo "<a href='product-".$row['id']."'><img src='".$row['img']."' alt='$name2, $product2 $price' title='$name2 $product2 &pound;$price' width='85'></a>";?>
      </td>
    </tr>
       <?php
} // End loops.
?>
</table>


非常感谢您提供的任何帮助

请不要使用$product2、$price尝试在alt中使用$row['product']、$row['price'],

试试这个,但我不确定 用这个

而不是这个

     SELECT * FROM manufacturers WHERE manuid = '$manuid2' ORDER BY name
此后

     $row=mysql_fetch_assoc($result);

     Add this line
          $manu_info = mysql_fetch_assoc($manu_r);

这种代码在眼睛上一点也不容易。有些标签会带来巨大的变化。alt='$name2,$product2$price'title='$name2$product2£$price'这行在两列中重复,那么alt标记在1和2列中始终相同嘿,我有个问题,这行应该在echo语句上方?@NoPyGod,谢谢,很抱歉,是的,仍然在掌握是制表符还是缩进。我有缩进,但是当我在这里发布时,我收到了一条错误消息,所以将所有设置为4,正如它所说的。谢谢@Sundar,所以如果我去掉重复的行,我就不会得到alt标记。我如何确保alt标签出现在第2栏Excellent中,谢谢,所以我按照建议做了,现在我有了正确的产品和价格,但应用相同的逻辑并将$name2更改为$manu_info['name']并不能纠正这一点,所以现在我在第2栏中有了正确的照片,正确的链接,正确的价格和正确的产品,但第1列中的名称重复,在此行后添加此行mysql\u fetch\u assoc($manu\u r);试着用$manu_info['name']代替$name2不感兴趣是否有任何理由包括$product2=$row['product'];对于$product2,如果我需要使用$row['product']?同样,当我能够将其标记为有用时,我会回来。很抱歉,我现在不能这样做,$product2 is采用相同的值,$row['product']is采用下一个值再次感谢您的帮助…不,这不起作用仍然没有第2列中的制造商名称
     $row=mysql_fetch_assoc($result);

     Add this line
          $manu_info = mysql_fetch_assoc($manu_r);