私はそのタイトルがちょっと混乱していることを知っています。jqueryを使用してmysqlを実行しているPHPスクリプトから情報を返す
私はユーザーがチケットを入力し、そのチケットが提供するサービスに基づいて技術者に割り当てられるフォームを作成しようとしています。私は3つのテキストフィールド、ユーザー名、電子メール、問題の説明があります。次のフィールドは選択フィールドです。私は提供されたサービスのデータベースを照会し結果を返すphpスクリプトを実行することによって、この選択フィールドに値を設定します。 そう
<select name="service' id= "Service" onClick="showTechnican()">
<?php include "services_offered.php"?>
</select>
のようなもの
、ユーザがサービスのひとつをクリックすると、私はdivの中にそのサービスを提供し、私のservices_offeredテーブルを照会し、ユーザー名を返すためのフォーム(複数可)します。
<div id="techs"></div>
私は私が私のために
<select name= "tech">
<?php
$q = $GET['q'];
$conn = new mysqli("localhost", "proxy_user",
"my*password","helpdesk");
if(mysqli_connect_errno()){
echo'Unable to connect to database:'.
mysqli_connect_error($conn);
}
else{
$query = "SELECT * FROM services WHERE Service_Descripton LIKE'%".$q.
"%';";
$result = mysqli_query($conn,$query);
if(!$result){
die("Invalid Query:" . mysqli_error($conn));
}
else{
while($row = mysqli_fetch_array($result)){
echo"<option value= "."{$row['User_Name']}>"."{$row['Service_Description']}".
'</option><br/>';
}
mysqli_close($conn);
}
}
?>
をデータベースに照会しているスクリプトtechnicians.phpをも持っている。この
<script>
function showTechnician(){
var selectedValue = $("#Service").val();
if(selectedValue.length < 1){
document.getElementById("techs").inner.HTML = "Please Select A Service Above";
return;
}else{
var url = "technicians.php?q="+selectedValue;
$.get(url,function(data,status){
document.getElementById("techs").innerHTML=data;
});
}
}
を行うためにjqueryのスクリプトを使用しています
私の問題は、提供されたサービスをクリックすると、私のdivは小さな空のボックスしか表示しないということです。なぜそれが何も返されていないのは本当にわかりません。私はテーブルにたくさんのテストデータを持っています。権限も正しいことを確認しました。私はphp_error_logをチェックしており、クエリは失敗していません。私はこれを解決する方法がわかりません。フォーム上の他のフィールドはすべて、データベースに正常に挿入されます。 問題の写真を添付しました。 「利用可能なテスター」の下に小さなボックスが表示されていますを参照してください。
'name =" service "に間違った引用があります。これはあなたのコードを壊している可能性がありますか? –
@CJNimes - 問題の原因となっていることは間違いありませんが、一重引用符ではなく二重引用符が必要です。それはそれが文字列の一部だと思うので、そのselectのid値は存在しないようです... "service 'id =" ... – Dresden
私は今日仕事の後でそれをチェックするつもりです。 – hb2484