-1

所以这就是我想要做的..

$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[*] 并获得所有结果。“约翰、梅森、格雷格、保罗”。

很长一段时间以来,我一直试图弄清楚这一点,这让我感到非常沮丧。有人可以帮帮我吗。

4

5 回答 5

2

使用 PHP 的implode函数。

<?php echo implode(",", $var) ?>

并将您的循环代码更改为:

$var[] = $rew['username'];
于 2012-04-15T00:28:25.870 回答
1

您不能直接在数组上使用 echo 。您可以使用forforeach等控制结构循环遍历数组,也可以使用旨在对数组进行操作的内置函数。要获得您正在寻找的输出,请尝试:

<?php echo implode(',', $var);?>
于 2012-04-15T00:29:34.910 回答
0

这是一个很好的教程: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 />";
}
于 2012-04-15T00:30:42.407 回答
0

您可以将循环更改为:

$var = "";
while($rew = mysql_fetch_array($sql)){
  $var .= ",'" . $rew['username'] . "'";
}
于 2012-04-15T00:32:48.850 回答
0

这是一个简单的衬里,还添加了引号

<?php echo "'" . implode("','", $var) . "'"; ?>

如果您使用 pdo,您可以更轻松地获取用户名

<?php
$usernames = $db->query("SELECT username FROM members")->fetchAll(PDO::FETCH_COLUMN);
echo "'" . implode("','", $usernames) . "'";
?>
于 2012-04-15T01:06:49.800 回答