Php 如何更改单个行中的行<;tr>;

Php 如何更改单个行中的行<;tr>;,php,html,html-table,Php,Html,Html Table,此程序正在打印新行中的每个数据。我希望它在一行中打印3个数据,然后更改行并在新行中打印其他3个数据。我曾尝试使用for循环,但它没有给我所需的输出。请告诉我如何在这个程序中做到这一点 <table width="550" border="0" align="center" cellpadding="2" cellspacing="2" bordercolor="#000000"> <tr> <th align

此程序正在打印新行中的每个数据。我希望它在一行中打印3个数据,然后更改行并在新行中打印其他3个数据。我曾尝试使用for循环,但它没有给我所需的输出。请告诉我如何在这个程序中做到这一点

    <table width="550" border="0" align="center" cellpadding="2" cellspacing="2" bordercolor="#000000">  
      <tr>        
        <th  align= "left"><a href="#"><table width="160" border="0" align="center" cellpadding="0" cellspacing="0">

<?php   
    /*Inner Page- Products exists in Certain Category!!
    ======================================================*/

   $sub2_query = "select * from sub_categories where category_id=$category_id ";
   $sub2_query_run = mysql_query($sub2_query);
   while ($sub2_query_fetch = mysql_fetch_array($sub2_query_run))
   {                
       $sub2_category_id = $sub2_query_fetch['sub_category_id'];

       $inner_query = "select * from products inner join product_description 
              on products.product_id= product_description.product_id
            where sub_category_id= $sub2_category_id";
       if($inner_query_run = mysql_query ($inner_query))
       {                
           while($inner_query_fetch = mysql_fetch_array($inner_query_run))
    {       
           $product_id = $inner_query_fetch['product_id'];
           $inner_image_query = "select * from product_images 
                              where product_id=$product_id";

           $inner_image_query_run = mysql_query($inner_image_query);
           //PRINTING imagesss      
           echo "</th><tr><td align='center'>"; 
               echo "<div id='border'>";
           echo  "<td>";
           echo "<a href='index_product_details2.php?product_id=$product_id' >";    
           $inner_image_query_fetch = mysql_fetch_array($inner_image_query_run);
           echo "<img src=http://localhost/cms/". 
            $inner_image_query_fetch['images']." height='150' width='150' alt=\"\" />
            </td>
            </tr>
        </div>";

?>

      <tr>
        <td align="center">

    <?php       
    //PRINTING NAMES
print_r($inner_query_fetch['name']);
    echo "<br> Price: ";
    print_r($inner_query_fetch['actual_price']);
    echo "</a>";
    echo "<br><br>";                                
       }
    }else{
        echo mysql_error();
      }
    }
}
?>
</td>
</tr>      
    </table>

";
回声“

”; } }否则{ echo mysql_error(); } } } ?>
试试这个,这正是我举的例子

<tr><?php  $i=0;
while($inner_query_fetch=       mysql_fetch_array($inner_query_run))
            {   

            if($i%3=="0"){  echo "</tr><tr>"; }?>

    <td> your html</td><?php $i++;}?></tr>

你的html

我将给您一些伪代码,以便您可以找到逻辑:

$columns = 3;
$counter = 0;
while($row = mysql_fetch_array($result)){
   if($counter%$columns == 0) echo "<tr>";

   echo "<td>the things you want to output</td>";

   if($counter%$columns == 0) echo "</tr>";
   $counter++;
}
$columns=3;
$counter=0;
while($row=mysql\u fetch\u数组($result)){
如果($counter%$columns==0)返回“”;
回应“你想要输出的东西”;
如果($counter%$columns==0)返回“”;
$counter++;
}

模块(%symbol)意味着如果剩余部分除以两个数字,10/3=3(+1),则在这种情况下,1将是模块,因此仅当行是3的倍数时,才打印tr。这是一种非常常见的做法,也用于执行交替行颜色,例如(使用$rowNumber%2)

注释!!

你不应该再使用mysql函数了,它们已经被弃用,而且不安全(对于sql注入), 你应该看看mysqli函数或PDO,我个人建议学习PDO,因为查询是参数化的,非常安全,我喜欢它的逻辑性和可读性。链接:


您应该使用准备好的语句来代替MySQL函数,而不是MySQL函数。如上所述,我将再次开始诚实。在输出表的中间运行查询看起来很可怕。先获取数据,然后运行返回的数据,显示ItStAcExcel需要一件事不接受任何代码WI。th mysql_uuu函数!有多少次声明不使用mysql_uuu函数,但它们仍在使用中!如果这是从开始,无法看到结束,因为还需要增加$i并重置为0。