2012-01-16 6 views
0

これまでに似たような質問がありましたが、何も問題はありません。私は[email protected]の人が5つのメッセージを待っている "Inbox"タイプのアプリケーションを持っています。彼らはログインして、5つのメッセージ、送信者電子メール、送信日、およびメッセージの最初の15文字の画面を取得します。mysqlデータを多次元配列に引き出す

mysqlには、id、emailaddress、senderemail、datesent、fullmessageがあります。

私はSELECT * FROM db WHERE emailaddress='[email protected]'を使用して、5つの新しいメッセージを取り出しています。 $resultはmysqlクエリと同じです。 mysql_num_rowsは5行あると私に伝えます。その時点までは正常に動作します。

私の問題は、これを多次元配列にする正しい構文を見つけることができないため、forループ内のテーブル行を繰​​り返してすべて印刷できることです。私は想像している:

<table> 
for ($a = 0; $a < $numrows; $a++) { 
<tr> 
    the php code would go here and would print the associated sender, date, and message in <td> cells. 
</tr> 
} 
</table> 

助けが素晴らしいだろう。

これは難しいことではないと確信していますが、ほとんどの午後はほとんどどこでも手に入れられていません。そこにいる誰かが、これを行うための簡単な構文が何であるか教えてくれますか?

+0

これまで持っていたPHPコードを表示してください。 HTMLに 'for'ループを入れることはできません。これはPHPフレームワークのテンプレートファイルのようなものですか? –

+0

これは、MySQLからデータを取得し、その結果をHTMLテーブルに表示するという無数の質問とは、どう違うのですか? – outis

+0

[テーブルでのクエリ結果の印刷](http://stackoverflow.com/questions/1999815/)、[MySQLデータベースからHTMLテーブルにデータを読み込む?](http://stackoverflow.com/questions)/2595832 /)、[PHPでテーブルを作成してMySQLからデータを取り込む](http://stackoverflow.com/questions/3050558/) – outis

答えて

3

mysql_fetch_array()またはmysql_fetch_assoc()を使用すると、データベースからの情報が配列に含まれます。あなたは明らかに、彼らは異なるtabels上にある場合、メッセージのためのいくつかのテーブルを結合またはLIMITはわずか5行を取得するために使用する必要があります

<table> 
<?php 
$storage_array = array(); 
$result = mysql_query("SELECT * FROM db WHERE emailaddress='[email protected]'" or die(mysql_error()); 

while($data = mysql_fetch_assoc($result)) 
{ 
?> 
<tr> 
    <td><?php echo $data['sender'] ?></td> 
    <td><?php echo $data['date'] ?></td> 
    <td><?php echo $data['message '] ?></td> 
</tr> 
<?php 
    $storage_array[] = $data; 
} 
?> 
</table> 

:だから、あなたのような何かを行うことができます。また、ORDER BYを決定する必要があります。

どのループがデータを$storage_arrayに追加したかを知り、それが$storage_array[0]で始まることを覚えておく必要があります。

+0

これは、 "emailaddress @ xyz .com "と私はすべての行を取得したい。これは、emailaddress ='[email protected] 'の行が1つあった場合にのみ表示されます。 – user1149499

+0

さて、実際には、これは素晴らしい作品です。 :-)しかし、今私はそれを変数に割り当てることができるように、そのデータにアクセスする方法を知っています。多分最初に多次元配列に入れて、それらの変数を使ってテーブルを作成する方が良いかどうかという疑問がありますか?いずれにしても、助けをありがとう! :-) – user1149499

+0

これは、データをループしてテーブルを作成しています。あなたは2つの配列を引っ張ってそれらをループする必要がありますか? '$ data ['']'を呼び出すことによって現在の行にアクセスすることができ、 '['']' partはテーブルの列の名前です。 – Biotox