私の最初のPHPプログラムを試みています。これは、mySQLデータベースからhtmlを読み込むデータを取得します。私は、メニュー選択に基づいて読み込まれたデータを変更できるようにしたい。私は本当に何をする必要があるかわからない。しかし、これはこれまで私が試したことです。ajaxを使って関数からPHPデータをリロードする
<section id="UserComments" style="margin-left: 3em;">
<?php load_comments($UsersID, $login_session, $ProjectID); echo "<br />" ?>
</section>
PHPコード(HTML上記と同じページ)
function load_comments($UsersID,$username,$ProjectID) {
global $connection;
$sql = "SELECT * FROM UserComments JOIN Projects ON UserComments.ProjectID = Projects.ProjectID WHERE UserID = '$UsersID' AND Projects.ProjectID = '$ProjectID'";
$result = mysqli_query($connection, $sql) or die(mysqli_error($connection));
while ($row = mysqli_fetch_array($result, MYSQL_ASSOC)) {
echo '<p class="note"><span></span>' . nl2br($row['UserComment']) . ' ';
if (empty($row['FileName'])) {
echo '<br><br><span id="rightfloat"><font color="#5bc0de">' . $username . ' at ' . $row['DateSubmitted'] . '</font></span></p>';
}else {
$echo_file = '<a href="' . $row['UserFile'] . '"><img src="images/Attach-icon.png">' . $row['FileName'] . ' </a>';
echo '<br><br><span id="rightfloat"><font color="#5bc0de">' . $echo_file . ' ' . $username . ' at ' . $row['DateSubmitted'] . '</font></span><br></p>';
}
}
return;
}
function load_projects($UsersID) {
global $connection;
global $ProjectID;
$sql = "SELECT Projects.ProjectID, Projects.ProjectName, Users.UserID FROM Projects JOIN CustomerProject ON CustomerProject.ProjectID = Projects.ProjectID JOIN Users ON CustomerProject.UserID = Users.UserID WHERE CustomerProject.UserID = '$UsersID'";
$result = mysqli_query($connection, $sql);
while ($row = mysqli_fetch_array($result, MYSQL_ASSOC)) {
$idname = "ProjID-" . $row['ProjectID'];
echo '<a id="' . $idname . '" href="#" onclick="FindID(\'' . $idname . '\')">' . nl2br($row['ProjectName']) . '</a>';
}
echo "
<script type=\"text/javascript\">
function FindID(id_name) {
var sel_name = document.getElementById(id_name);
var sel_project_name = sel_name.textContent;
$jQuery.ajax({
type: 'POST',
url: \"comment-data.php\",
data: { 'proj_name': sel_project_name },
success: function(){ alert('success'); },
error: function(){ alert('failure'); }
});
}
</script>
";
}
最終的に、私は成功を使用したい:セクションでは、ユーザーのメニュー選択(プロジェクト)に基づいて、私のコメントデータをリロードします。私は本当にそれをどうやって行うのか考えていません。しかし、今のところ私は成功か誤りがあったかどうかを確かめようとしています。それはあまりにも、この時点で私のために困難な証明されています/
ここでコメント-data.phpです:
require("DBConnection.php");
require_once("session.php");
$proj_name = $_POST['proj_name'];
$sql = "SELECT * Projects WHERE ProjectName = " . $proj_name;
$result = mysqli_query($connection, $sql) or die(mysqli_error($connection));
$count = mysqli_num_rows($result);
if (!empty($result)){
$row=mysqli_fetch_row($result);
$ProjectID = $row['ProjectID'];
// here was my feeble attempt to reload my comment data after the user selected a project from the db. This was not working, so I've commented out
// load_comments($UsersID, $login_session, $ProjectID);
} else {
echo "Project not found in database!";
}
は、あなたが直面している問題は何ですか?ブラウザのコンソールに何かエラーがありますか? – Jai
何も起きません...コードがないかのようです。最初に読み込まれたときに存在する既存のコメントは変更されません。あなたの助けをいただきありがとうございます; – Chance8