我一直用这个把头撞在墙上。
我几年前写了这个 CMS,它已经被存储起来了,所以它可能是在 PHP 5.6 的时候。
我现在重新设置了这个 CMS,正如您可以想象的那样,它并不像您期望的那样无缝。我不得不使用 Fix-mysql-mysqli include 来阻止数据库错误。
我现在遇到的问题是从查询返回结果集(我认为我可以看到它正在工作),我使用循环为列名创建变量,以允许我在结果列表中回显它们,然后使用数据以打开编辑窗口。
例如,它使用数组的各个部分来创建 $Variables id,title,first_name = $id, $title,$first_name
代码:
mysql_select_db($database,$con);
$rs=mysql_query($query);
$pieces = explode(",", $data);
$count= count($pieces);
while ($row=mysql_fetch_assoc($rs))
{
//*************GET DATA FIELDS**************
$counter=0;
while ($counter <$count)
{
$pieces[$counter] = stripslashes($row[$pieces[$counter]]);
$counter++;
}
echo'
<div class="shadow" style="width: 920px; margin:auto; display: block;" >
<div class="middle_cell" style="width: 15px;">';
//********************************************************* DISPLAY ICON FOR CUSTOMER STATUS *********************************************************
if ($status ==100){ echo '<img src="../../images/icons/warning_red_16.png" width="12" height="12" />';}
if ($status >100){ echo '<img src="../../images/icons/warning_16.png" width="12" height="12" />';} echo ' </div>
<a href="'.$full_path.'edit.php?mode=view,'.$id.'&returnpath=modules/customers/home.php" >
<div class="middle_cell" style="width: 200px; ">';
echo $title." ".$first_name." ".$last_name.' </div>
<div class="middle_cell" style="width: 100px; ">'.$phone.' </div>
<div class="middle_cell" style="width: 170px; ">'.$address_1.' </div>
<div class="middle_cell" style="width: 75px; ">'.$postcode.' </div>
<div class="middle_cell" style="width: 125px; ">'.$phone.' </div>
<div class="middle_cell" style="width: 125px; ">'.$mob.' </div>
<div class="clear"> </div>
</div></a>';
}
?>
虽然我可以单独将每一列指定为变量,但这会产生整个重写,并且这确实有效。
任何帮助都会非常感谢
亚历克斯
返回与所获取的行相对应的字符串关联数组,如果没有更多行,则返回 false。
文档提供了这个示例
while ($row = mysql_fetch_assoc($result)) {
echo $row["userid"];
echo $row["fullname"];
echo $row["userstatus"];
}
因此,如果您事先知道数组键,则可以将它们用作关联数组的索引并直接获取它们的值。因此,如果您事先不知道键,那么您可以从关联数组中推断出它们。这是使用
foreach
循环实现此目的的方法:
foreach($row as $key => $value) {
//$key is the column name, like userid
//$value is the corresponding value
echo $key . ": " . $value . "<br>";
}
当然,这里我们假设您的查询是正确的,您的连接是正确的等等。在您的示例中,您需要调试并查看第一次调用时的
mysql_fetch_assoc($rs)
是否确实包含有效结果。如果没有,请尝试直接针对数据库运行查询并检查 PHP 代码使用的连接。您可能有一个未版本化的 env 文件,但现在没有。