所以这就是我要做的。
$sql="SELECT * FROM `members";
while($rew = mysql_fetch_array($sql)){
$var[] =",'".$rew['username']."'";
}
print_r ($var)
所以我得到结果:
Array ( [0] => ",'John'", [1] => ",'Mason'", [2] => ",'Greg'", [3] => ",'Paul'" )
所以现在我希望变量在我回显时显示所有结果。例如:
<?php echo $var[1] ?>
结果将只是,'Mason'
.
我如何获得它,以便我可以回显$var[*] 并获得所有结果。"约翰,梅森,格雷格,保罗"。
长期以来,我一直在试图弄清楚这一点,这对我来说非常令人沮丧。有人可以帮我吗?
使用 PHP 的 implode
函数。
<?php echo implode(",", $var) ?>
并将循环代码更改为:
$var[] = $rew['username'];
不能直接在数组上使用回显。 您可以使用 for 或 foreach 等控制结构遍历数组,也可以使用设计用于对数组进行操作的内置函数。 要获得您要查找的输出,请尝试:
<?php echo implode(',', $var);?>
这是一个很好的教程: Tizag - MySQL Fetch Array
这应该有效:
$query = "SELECT * FROM `members`";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo $row['username'];
echo "<br />";
}
您可以将循环更改为以下内容:
$var = "";
while($rew = mysql_fetch_array($sql)){
$var .= ",'" . $rew['username'] . "'";
}
这是一个简单的一行,也添加了引号
<?php echo "'" . implode("','", $var) . "'"; ?>
如果您使用PDO,则可以更轻松地获得用户名
<?php
$usernames = $db->query("SELECT username FROM members")->fetchAll(PDO::FETCH_COLUMN);
echo "'" . implode("','", $usernames) . "'";
?>