2017-08-25 4 views
-2

私はPHP-MySQLの配列関数を使い慣れています。だから、私は以下の助けが必要です:MySQLテーブルから複数の電話番号をフェッチし、カンマ区切りで変数に格納する方法はありますか?

PHPのMySQLテーブル "users"からすべてのユーザーの電話番号を選択し、変数に電話番号を格納する必要があります。すべての数字は、 "、"(カンマ)で区切ってください。

私が試してみました何

$stmt = $mysqli->prepare("SELECT phone FROM users WHERE status = ?"); 
    $stmt->bind_param('i',$status); 
    $stmt->execute(); 
    $stmt->store_result(); 
    $stmt->bind_result($phone); 
    while ($stmt->fetch()) 
    { 
     $allphones = "$phone,"; //need help here. 
    } 
    $stmt->close(); 

を私は必要なもの:

$allphones = "9999999990,9999999991,9999999992,9999999993"; 

すべての電話番号は、カンマ(、)で分離し、上記のような変数に格納する必要があります。

ご協力いただければ幸いです!ありがとう!

+1

** $ allphones。 = "$ phone"; ** afterループ$ allphones = rtrim($ allphones、 '、'); –

+0

もしあなたが@ 404BrainNotFoundがちょうどここにしたのではないかと疑問があれば、ここに説明があります。それぞれの電話を '$ allphones'変数に連結すると、文字列の最後にカンマが追加されます。 'rtrim'(右トリム)関数では、ループが終了した後、右側から最後のカンマを削除します。 – Spectarion

+1

* "すべての数字は、"、 "(カンマ)で区切る必要があります。" * - それは良いアイデアのようには聞こえません。それらをデータベースに「保存」したいのですか、それともデータベースに保存されていますか?質問は(私にとって)不明です。 –

答えて

0

片道。また、新しい配列(allphonesArray)の宣言と初期化を避けるためにallをフェッチすることもできます。それはあなた次第です。

$stmt = $mysqli->prepare("SELECT phone FROM users WHERE status = ?"); 
$stmt->bind_param('i',$status); 
$stmt->execute(); 
$stmt->store_result(); 
$stmt->bind_result($phone); 

$allphonesArray = array(); //New array 
while ($stmt->fetch()) 
{ 
    $allphonesArray[] = $phone; //Add each phone value to the array 
} 
$stmt->close(); 

$allphonesString = implode(',', $allphonesArray); //Concatenate every element and separate them with ',' 
echo $allphonesString; 
関連する問題