我有两张表table_users
和table_items
。 table_users
在多个列中包含商品ID&#39。 table_items
保存包含相关属性的商品ID。目的是从table_users
获取商品ID,然后在table_items
中查找这些商品ID,并在html文本字段中回显结果。
我有一个由变量组成的数组。变量是从table_users
获取商品ID的查询结果。
$item1 = $row['item1'];
$item2 = $row['item2'];
$item3 = $row['item3'];
$array = array($item1, $item2, $item3);
要从表table_items
获取数据,我使用以下查询(我知道PDO会更好):
$sql = "SELECT * FROM table_items WHERE itemID IN (".implode(',',$array).")";
$result = mysqli_query($connection,$sql) or die ("couldn’t execute query: ".mysqli_error($connection));
$data = mysqli_fetch_assoc($result);
对于table_users的每一列,我想回显一个带有引用列和属性的名称的文本字段(例如,如果列名为item1,则文本字段名称应包含" item1"以及名称属性)。该文本字段的值为$data['column name of table_items']
。
所以回应像echo "<input type='text' name='txt???????' value='".$data['column name of table_items']."'>";
问题是,如何从table_items
获取正确的值并在正确命名的文本字段中回显它?对数组$array
中的所有变量执行此操作?
通过示例澄清
在table_user
我有专栏&#34;吉他&#34;,&#34;贝司&#34;,&#34;打击乐&#34;其中包含table_items
中工具的ID作为参考。在table_items
,我有一大堆吉他,贝斯和鼓包,ID,品牌,类型和价格。让我们说用户X有一个1500美元的Fender Stratocaster,一个2000美元的Musicman Stingray和一个2200美元的Sonor Vintage系列。
我希望脚本的输出是textfield txtGuitarBrand值Fender,txtGuitarType值为Stratocaster,txtGuitarPrice值为1500,txtBassBrand值为Musicman,......等等。
我不知道这是否是我必须做的事情&#34;查询&#34;回声&#34;部分或其他内容部分或两者。
答案 0 :(得分:0)
如果可以创建一个名称作为其键的数组,那么
$array = array('item1' => $item1, 'item2' => $item2, 'item3' => $item3);
$sql = "SELECT * FROM table_items WHERE itemID IN (".implode(',',$array).")";
$result = mysqli_query($connection,$sql) or die ("couldn’t execute query: ".mysqli_error($connection));
while ($row = mysqli_fetch_assoc($result)) {
$data[$row['itemID']] = $row;
}
foreach ($array AS $colName => $colVal) {
echo "<input type='text' name='{$colName}' value='{$data[$colVal]['value']}'>";
}
谢谢