2012-02-10 13 views
1

ように私はなど、その名のように、ユーザー情報の完全なMySQLデータベースを持っている、パスワード、電子メール表示MySQLデータベース配列

私は私はちょうど彼らの名を引くと同じようにそれを表示することができますPHPスクリプトをしたいですそう:

"USERNAME1"、 "USERNAME2"、 "username3" 文字通りまさにそのような

、引用符とすべて。

編集:申し訳ありませんが、十分な情報を提供していません。

テーブルの名前は "users"です。私はそれを取り除きたいフィールドは "username"です。すべての情報を表示して表示することができます。私の唯一の問題はそれを壊すことです。

+3

これは宿題ですか? – Vyktor

+0

男、あなたは本当にテーブルの名前を提供する必要があります、MySQLのデータベースに格納されていないデータがデータベース内のテーブルの行の形式で格納されます。 :) – hijarian

+0

いいえ、それは宿題のためではない、それは私が楽しみのためにやっているものです。 すべての情報を提供していないのは申し訳ありません。 私が必要とするのは、私がそれを得ることができないので、あなたがそれを私のために没入させることです。 あなたのために働いた$ resultは以下の通りです: $ result = mysql_query( "SELECT username FROM users"); – unlucky4ever

答えて

3

OK男、コメントを読んで

<?php // open a php tag 

$dbc = mysql_connect("host", "username", "password"); // connect to database 
mysql_select_db("db_name", $dbc) // select the database 

$sql = "SELECT `username` FROM `users_table`"; // select only the username field from the table "users_table" 
$result = mysql_query($sql); // process the query 

$username_array = array(); // start an array 

while($row = mysql_fetch_array($result)){ // cycle through each record returned 
    $username_array[] = "\"".$row['username']."\""; // get the username field and add to the array above with surrounding quotes 
} 

$username_string = implode(",", $username_array); // implode the array to "stick together" all the usernames with a comma inbetween each 

echo $username_string; // output the string to the display 

?> 
+0

おかげさまで、私はPHPを初めとしていますので、これは私にはまったく新しいものです。私を助けてくれてありがとう、もっと学びたいと思っています! – unlucky4ever

+0

こんにちは、心配はありません...私たちは皆、一度あなたがいた場所でした! :)私はあなたがすぐに専門家になるだろうと確信しています!ただコメントを読んで、私は可能な限り役立つように努力しました。もしあなたがここで質問したり、twitter @tclaysonで私をつかまえてください。 –

0

あなたがPHPのimplodeを使用できますが、それだけでリストが長すぎることはないだろうと仮定してSQLでそれを行う方が簡単でしょう:

SELECT GROUP_CONCAT(CONCAT('"', username, '"')) AS usernames 
FROM your_table 
1

その中に「mydb」データベースと「users」テーブルがあるとしましょう。必要

SQL:

USE mydb; 
SELECT username from users; 

ショートバージョン:

  1. はPHPで包みは、コンマ記号で、その後implode配列として結果取得mysql PHP library
  2. に呼び出します。

ロングバージョン:

まず、我々はデータベースに接続する必要があります。

$db = mysql_connect('DATABASE_HOST', 'USER', 'PASSWORD'); 
if (!$db) { 
    die('Not connected : ' . mysql_error()); 
} 

$db_selected = mysql_select_db('mydb', $db); 
if (!$db_selected) { 
    die ('Can\'t use mydb: ' . mysql_error()); 
} 

は常にを覚えておいてください関数の戻り値を確認してください。

その後、我々は、データベースを照会:(我々は唯一のユーザ名を必要とする)

$result = mysql_query('select username from users', $db); 

...とフラットな配列で結果をフェッチ:

while ($row = mysql_fetch_array($result, MYSQLI_ASSOC)) 
{ 
    $data[] = $row['login']; 
} 

その後、我々はあなたの仕様に応じて返されたデータをフォーマットします:

$string_resultとすることができます。データボックスを閉じるだけです直接使用後の接続:

mysql_close($db); 

PHP、BTWの学習で幸運。 ;)

2

私は他の答えを見たことがありますが、mysql_query関数の代わりにPDOを使うことを考えましたか?データベースを操作する方がはるかに良い方法です。

$dbh = new PDO("mysql:host=localhost;dbname=test", "yourusername", "yourpassword"); 
$results = $dbh->prepare("SELECT u.username FROM users u"); 
$results->execute(); 
$results = $results->fetchAll(); 
echo implode(", ", array_map(function(&$r) { return $r['username']; }, $results)); 

出力:Jamie, Bob, Chris きれい。ここ

は、あなたが(ラムダ関数を使用)数行のコードで実現したいものです。また、返された結果があるかどうか、およびクエリが成功したかどうかを確認する必要があります。

もう1つのアプローチです。

編集:私はちょうどあなたが初心者だと分かったので、私の答えは少し進んでいるかもしれません。しかし、私は他の人が解決策として見えるようにしておきます。もう少し学ぶと、PDOにlamba関数を使用する方法があります。運が良かった。

+1

うわー、 'array_map' ... PHPでやり遂げるのはクールな方法です。 :) – hijarian

+0

私は、すべての図書館を念頭に置いて、答えに飛びついたと思います。 :) – hijarian

+0

@hijarian - うん、それはかなりファンキーです。私はそれを私ができるところで使う。匿名機能は5.3以降でのみ使用できます。 PDOは、通常、デフォルトでPHPにインストールされます。 :-) – Flukey