2016-11-08 115 views
1

我试图在一个表中显示多个数组,以便每个值都在表格中的一个单独的行上。在html表格中显示多个数组

这是我的当前设置:

<?php 

$id = $_GET['id']; 

$result = mysqli_query($mysqli, "SELECT * FROM invoices WHERE id=$id"); 

while($res = mysqli_fetch_array($result)) 
{ 
?> 

<tr> 
    <td><? echo $res['partnumber']; ?></td> 
    <td><? echo $res['partdescription']; ?></td> 
    <td><? echo $res['partprice']; ?></td> 
    <td><? echo $res['partquantity']; ?></td> 

<?php 
    } 

?> 

哪个显示以下内容:

Screenshot

enter image description here

代替我需要它在单独的行显示每个值

我尝试了以下内容,但它一遍又一遍地重复它的价值。

<? foreach ($res as $row) : ?> 
<tr> 
    <td><? echo $row['partnumber']; ?></td> 
    <td><? echo $row['partdescription']; ?></td> 
    <td><? echo $row['partprice']; ?></td> 
    <td><? echo $row['partquantity']; ?></td> 
</tr> 
<? endforeach; 
} 
?> 
+0

看起来像你的值是连接字符串。是''asdf,aasdfas,asdf“'单个数据库值? –

+0

$ partnumber = $ _POST ['partnumber']; \t $ partnumberarray = implode(“,”,$ partnumber); – JCD

回答

0

如果你需要为每列新行必须简单地为每个td

新增tr试试这个:

<? foreach ($res as $row) : ?> 
    <tr> 
     <td><? echo $row['partnumber']; ?></td> 
    </tr> 
    <tr> 
     <td><? echo $row['partdescription']; ?></td> 
    </tr> 
    <tr> 
     <td><? echo $row['partprice']; ?></td> 
    </tr> 
    <tr> 
     <td><? echo $row['partquantity']; ?></td> 
    </tr> 
<? endforeach; ?> 
1

首先,你的代码是容易受到SQL注入,使在将其放入您的查询字符串之前,请确保安全$id(例如$id = (int)$_GET['id'];)。

然后尝试:

while($res = mysqli_fetch_array($result)) 
{ 
?> 
<tr> 
    <td><? echo $res['partnumber']; ?></td> 
</tr><tr> 
    <td><? echo $res['partdescription']; ?></td> 
</tr><tr> 
    <td><? echo $res['partprice']; ?></td> 
</tr><tr> 
    <td><? echo $res['partquantity']; ?></td> 
</tr> 
<?php 
    } 

?> 
0

请注意,在开始大括号的变化,我删除您使用endforeach和表格标签...

现在你可以使用这个在你的每个循环中。

<table> 
<? foreach ($res as $row) { ?> 
    <tr> 
    <td><? echo $row['partnumber']; ?></td> 
    <td><? echo $row['partdescription']; ?></td> 
    <td><? echo $row['partprice']; ?></td> 
    <td><? echo $row['partquantity']; ?></td> 
    </tr> 
<? 
    } 
?> 
</table> 

我想这应该做的伎俩

0

这就是我与你的代码获得: (我会解决的安全问题后,我得到这个工作,谢谢)

<?php 

    $id = $_GET['id']; 


    $result = mysqli_query($mysqli, "SELECT * FROM invoices WHERE id=$id"); 

    while($res = mysqli_fetch_array($result)) 
    { 
    ?> 
    <? foreach ($res as $row) { ?> 
<tr> 
<td><? echo $row['partnumber']; ?></td> 
<td><? echo $row['partdescription']; ?></td> 
<td><? echo $row['partprice']; ?></td> 
<td><? echo $row['partquantity']; ?></td> 
</tr> 
    <? 
    } 

    } 

    ?> 

enter image description here