我有两个名为ITEM和Price的表。这些是表
的字段和数据Table : ITEM
item_id | item_name
1 | ABC
2 | XYZ,JKL,QWE
Table : Price
id | item_price | item_id
1 | 50 | 1
2 | 60 | 2
3 | 100 | 1
其中item_id是ITEM表的引用。我需要在php中创建表来显示来自ITEM表的所有数据。 item_name有多个值与昏迷分开。所以我们需要将它们分解并用作表格中的下拉列表(select)。我期望的输出将如下所示。
item_id | item_name | item_price
注意:item_name必须具有选择选项(下拉列表)
答案 0 :(得分:2)
使用以下查询从数据库中获取记录
select a.item,b.item_price from table1 a,table2 b where a.item_id=b.id;
然后在你的前端(php),试试下面的
$results=mysqli_query($db,"select a.item,b.item_price from table1 a,table2 b where a.item_id=b.id");
if(mysqi_num_rows($result) > 1 )
{
echo "<table><tr><th>item_id </th><th>item_name</th><th>item_price</th></tr></table>";
while($row=mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>".$row['item_id']."</td>";
$arry=explode(',',$row['item_name']);
echo "<td><select>";
foreach($arry as $value)
{
echo "<option>".$value."</option>";
}
echo "</select></td>";
$array=array();
echo "<td>".$row['item_price']."</td></tr>";
}
echo "</table>";
}
答案 1 :(得分:0)
创建一个文件function.php并添加以下代码
function result_to_array($result)
{
$array =array();
$count = 0;
while($row = mysql_fetch_array($result))
{
$array[$count]= $row;
$count++;
}
return $array;
}
function GetData(){
$sql="SELECT * from ITEM,Price where ITEM.item_id=Price.item_id";
$query=mysql_query($sql);
$result=result_to_array($query);
return $result;
}
创建文件data.php并包含以下内容
<?php
include "functions.php";
$data=GetData();
?>
<table>
<tr><td>item_id</td><td>item_name</td><td>item_price</td></tr>
<?php foreach($data as $d): ?>
<tr><td><?php echo $d['item_id']; ?></td><td><?php echo $d['item_name']; ?></td><td><?php echo $d['item_price']; ?></td></tr>
<?php endforeach;?>
</table>