-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

アレイでエコーを直接使用することはできません。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 に答える