これは、それ自体を MySQL データベースに接続する PHP コードです。取り引きは、データベースに保存されている名前のリストを表示することです。私がしなければならないことは、名前をクリックすると、名前が独自のチャット ボックスを表示することです (Facebook と同じ)。
ここでの問題は、矢印でマークされた行にあります。特定の名前をクリックすると、関数が呼び出されるはずですが、呼び出されdisplay_chat_box
ません。studentid
引数を追加しない限り、うまくいきました。関数chat_box_number()
が引数として送信されていると思われますが、実際には役に立ちません。以前は問題なく機能していたのに、なぜ今は機能しないのですか? エラーを確認するためにGoogle Chromeで開発者ツールを開いたところ、表示されました
**Uncaught ReferenceError :
display_chat_box()
定義されていません**。
私はなぜ理解できないのですか?他の誰でもできますか?そして、問題が何であれ、チャットボックスを生き返らせることができるように、誰かがそれに対する実用的な解決策を投稿してくれませんか.
<?php
$con = mysql_connect("localhost", "****", "******");
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM online_students");
while ($row = mysql_fetch_array($result)) {
$result2 = mysql_query("SELECT * FROM students WHERE email='$row[email]'");
$row2 = mysql_fetch_array($result2);
$name = $row2['firstname'] . " " . $row2['lastname'];
$studentid = $row2['studentid'];
echo "<li onclick='display_chat_box(chat_box_number(),\"" . $name . "\"," . $studentid . ")'>" . $name . "</li>";
}
mysql_close($con);
?>
<script src="jquery-1.9.1.min.js" type="text/javascript">
var n = 0, chat_wid;
function chat_box_number() {
if (n == 2)
n = 0;
n++;
return n;
}
function display_chat_box(j, name, studentid) {
alert("hi");
switch (j) {
case 1: {
document.getElementsByClassName("chat_box1")[0].style.display = "block";
document.getElementById("chat_with1").innerHTML = name;
break;
}
case 2: {
document.getElementsByClassName("chat_box2")[0].style.display = "block";
document.getElementById("chat_with2").innerHTML = name;
break;
}
case 3: {
document.getElementsByClassName("chat_box3")[0].style.display = "block";
document.getElementById("chat_with3").innerHTML = name;
break;
}
}
chat_wid = studentid;
update_chat();
}
</script>