私は私のウェブサイトに個人的なメッセージシステムをphp/sqlだけで使っています。実際にはjqueryを使って表示するのが面倒です。 message_id
、message_from
、message_to
、message_topic
、message_subject
とmessage_status
:dbがフィールドとして持っています。私はmessage_topic
を示しています方法は以下の8回繰り返している:個人的なメッセージのリストを表示
echo '<table><tr><td>';
retrieve_msg_topic($result);
echo '</td></tr>'; //of course I won't make 8 tables!!!
と呼ばれる関数は次のようになります。これまでのところ
function retrieve_msg_topic($result)
{
if($row = mysql_fetch_assoc($result))
{
echo $row['usernombre'];
$message_topic = stripslashes($row['message_topic']);
echo '<div id="msg'.$row['message_id'].'">';
echo $message_topic;
echo '</div>';
//this will return: <div id="msgN">message topic (title, commonly subject)</div>
}
} //end function retrieve msg topic
私はに送信された最後の8つのメッセージとテーブルのリストを持っていますユーザー。次の行は、ページング(次/前のページ)用に予約されています。その後、Outlookで表示されているように、リストから選択したメッセージを示す別の行が表示されます。ここに私の頭痛があります。
function retrieve_msg_content($result)
{
if($row = mysql_fetch_assoc($result))
{
echo '<script type="text/javascript">
$(document).ready(function(){
$("#msg'.$row['message_id'].'").click(function(){
$(".msgs").hide(1000);
$("#'.$row['message_id'].'").show(1000);
});
});
</script>';
echo '<div class="msgs" id="'.$row['message_id'].'" style="display: none">'
.$row['message_subject'].
'</div>';
}
/* This function returns:
// <script type="text/javascript">
// $(document).ready(function(){
// $("#msgN").click(function(){
// $(".msgs").hide(1000);
// $("#N").show(1000);
// });
// });
// </script>
// <div class="msgs" id="N" style="display: none">Message subject (body of message)</div>
*/
} //end function retrieve msg content/subject
:この時間はこのようなものになるだろう
echo '<tr><td>';
retrieve_msg_content($result);
retrieve_msg_content($result); //repeat 8 times
echo '</td></tr></table>';
機能:私のアプローチは、私はこのように、メッセージのいずれかをクリックするまで、他の機能(8回)を呼び出すと、隠されたそれらのすべてを持っていることです
二度目にこれ以上の値を持っていないので、私は単に、問題は、それが動作しないということであることを説明できると私は二回if($row = mysql_fetch_assoc($result))
を行うので、それはです!
私が持っていた他のアプローチは、同じ機能でmessage_topicとMESSAGE_SUBJECTの両方を呼び出すことだったが、私は、私が欲しいものではありませんアコーディオンの一種で終わります。
私は十分にはっきりしていたと思います。
:私はあなたのアイデアが好きです。たとえ配列をあまり扱っていないとしても。ありがとう!!!! – cbarg
私はもう少し助けが必要です! ifをしばらく変更すると、mysql_fetch_assoc()が提供された引数は有効なMySQL結果リソースではありません。さらに、最初のメッセージに対しては1回だけ動作します。function retrieve_msg_topic($ result){ while($ row = mysql_fetch_assoc($ result)) {$ topic_ret = 'something'; $ message_ret = 'その他のもの'; $ ret [$ i] = $ topic_ret; $ i ++; $ ret [$ i] = $ message_ret; $ i ++;} } return($ ret);} $ ret = retrieve_msg_topic($ result); echo $ ret [0]; – cbarg
明確にするために私の編集を参照してください。 – Celos