嘿 我是PHP新手(上周开始) 我在SQLDB中有10行信息 我对所有10人做同样的事情:
$db_line1 = mysql_query("SELECT * FROM messages WHERE message_id='1'");
$line1 = mysql_fetch_array($db_line1);
unset ($line1['0']);
unset ($line1['1']);
unset ($line1['2']);
$db_line2 = mysql_query("SELECT * FROM messages WHERE message_id='2'");
$line2 = mysql_fetch_array($db_line2);
unset ($line2['0']);
unset ($line2['1']);
unset ($line2['2']);
等。等到$ line10,我可以使用像“foreach”这样的功能吗?
答案 0 :(得分:3)
$query = mysql_query("SELECT * FORM messages");
while($result = mysql_fetch_assoc($query))
{
echo "<pre>";
print_r($result);
echo "</pre>";
}
unset($result);
答案 1 :(得分:2)
回答评论(“我可以将它们放在自己的数组中”):
$query = mysql_query("SELECT * FORM messages") or die(mysql_error());
$messages = array();
while($result = mysql_fetch_assoc($query))
{
$messages[] = $result;
}
unset($result);
然后您可以遍历$ messages。
答案 2 :(得分:1)
编辑后的作者评论
一次取所有行
$db_line = mysql_query("SELECT * FROM messages WHERE message_id >= '1'" .
" AND message_id <='10'");
$rows = array();
while ($line = mysql_fetch_assoc($db_line))
{
$rows[$line['message_id']] = $line;
}
这样你就有了一个行数组(即一个数组数组)。
要获取message_id
3的行,只需执行
$row = $rows[3];
并访问(例如)name
列,
$row['name']
或
$rows[3]['name']
答案 3 :(得分:1)
您可以在php中使用动态创建的变量:
for ($i = 0; $i < 3; $i++){
unset(${'line'.$i});
}
修改强> 它是如何工作的(例子):
$var1 = "hel";
$var2 = "lo";
$hello = "xxx";
echo ${$var1.$var2}; // outputs "xxx"
使用 $ {'xyz'。$ variable} 会为您提供名称为'xyz'。$ variable 的变量。请注意 “'xyz'。$ variable”首先确定。
答案 4 :(得分:-1)
$db_lines = mysql_query("SELECT * FROM messages");
while ($line = mysql_fetch_array($db_lines))
{
unset ($line['0']);
unset ($line['1']);
unset ($line['2']);
}