我的MySQL表只有3列。该列中的数据按sub_id编号排序如下:
sub_id | field_name | field_val
1 ------- carname -------ford
1 ------- driver ------- michael
1 ------- licence -------123
2 ------- carname -------bmw
2 ------- driver ------- robert
2 ------- licence -------321
对于使用表格,我有以下代码:
$link = mysql_connect("xxx", "xxx", "xxx");
mysql_select_db("xxx");
mysql_query ('SET NAMES utf8');
mysql_query ('SET CHARACTER SET utf8');
$query = "select sub_id,field_name,field_val from wp_cformsdata WHERE sub_id IN ($ID)";
$result = mysql_query($query);
它根据所需的ID给了我一组行。我理解这样一个混乱的表是非常不舒服的,但它是由插件自动创建的。 问题是如何为不同的变量分配每一行?我想用这个变量来填充html文件。抱歉英文不好:)
答案 0 :(得分:0)
您只需迭代所有结果,手动将字段名称和sub_id与您期望的内容进行比较,然后将结果分配给条件中的变量。
就个人而言,我会迭代它并创建一个sub_id =>的数组。字段,所以像
while($row = mysql_row($result))
$users[$row['sub_id']][$row['field_name']] = $row['field_value']
语法错误,因为我不记得mysql_*
的确切语法,但你明白了。
答案 1 :(得分:0)
“相反,应该使用MySQLi或PDO_MySQL扩展。”从文档中,您正在使用的那些方法已被弃用。
以下是你获得每个项目的方法,你必须循环,因为它的结果,设置。
while ($row = mysql_fetch_assoc($result)) {
$car_name = $row['carname'];
$driver = $row['driver'];
}
等等..
答案 2 :(得分:0)
您不需要不同的变量。我建议在PHP代码中使用switch
:
$link = mysql_connect("xxx", "xxx", "xxx");
mysql_select_db("xxx");
mysql_query ('SET NAMES utf8');
mysql_query ('SET CHARACTER SET utf8');
$query = "select sub_id,field_name,field_val from wp_cformsdata WHERE sub_id IN ($ID)";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result))
{
switch($row['field_name'])
{
case 'carname':
// do something
break;
case 'driver':
// do something else
break;
// add more "case" here
default:
// do the default action here
}
}
另外,请阅读this page以帮助您选择要使用的内容,而不是已弃用的mysql_*
函数。
答案 3 :(得分:0)
据我所知,你需要一些简单的循环来读取文档的行。
<?php
$link = mysql_connect("xxx", "xxx", "xxx");
mysql_select_db("xxx");
mysql_query ('SET NAMES utf8');
mysql_query ('SET CHARACTER SET utf8');
$query = "select sub_id,field_name,field_val from wp_cformsdata WHERE sub_id IN ($ID)";
$result = mysql_query($query);
while($rows=mysql_fetch_array($result)){
?>
<div> <?php echo $rows['sub_id'];?> </div>
<div> <?php echo $rows['field_name'];?> </div>
<div> <?php echo $rows['field_val'];?> </div>
<?
}
mysql_close();
?>
我希望这会有所帮助。您也可以使用mysql_fetch_assoc()。