从数据库中检索数据并使用php在表中显示

时间:2014-12-02 05:20:20

标签: php mysql sql

我有两个名为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必须具有选择选项(下拉列表)

2 个答案:

答案 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>