0

何か聞きたいのですが。

私はdropdown.val()であるjqueryと組み合わせたSQLクエリで立ち往生しています。

    echo "<script type='text/javascript'>";

echo "$(document).ready(function () {

 $('#ddlstatename').change(function(){";

echo "alert ($('#ddlstatename').val());";

$result6 = mysql_query("SELECT companyname FROM tb_company com inner join tb_companyinfo std on com.stateid = std.stateid and com.companyid = std.companyid WHERE std.productid = 1 AND std.stateid = '"$('#ddlstatename').val()"'");

echo "});";

echo "});</script>";

私はポップアップを作成しようとします:echo "alert ($('#ddlstatename').val());";

ドロップダウンからの値があります(dllstatenameはドロップダウンIDです)。

しかし、SQLクエリに挿入すると

$result6 = mysql_query("SELECT companyname FROM tb_company com inner join tb_companyinfo std on com.stateid = std.stateid and com.companyid = std.companyid WHERE std.productid = 1 AND std.stateid = '"$('#ddlstatename').val()"'");

エラーが発生しました:std.stateid = '"$('#ddlstatename').val()"'"..

$('#ddlstatename').val()into sqlクエリステートメントを変更するにはどうすればよいですか?

あなたの助けをどうもありがとう!

4

2 に答える 2

1

PHP はサーバー側のスクリプト言語であり、そのような使い方はできません。それ以外の場合は、Ajax リクエストを作成できます。mysql クエリを含む別の php ファイルを作成し、これを使用します。

$(document).ready(function () {
    $('#ddlstatename').change(function(){
    $.ajax({
        url : "file.php?state="+$(this).val(), // here name of the file in which you will save query
        method : POST,
        cache : false,
        success: function(data) { // anything echoed in php file will be stored in the variable data and you can operate with it like appending it to a div
            $("#mydiv").append(data);
        }
});

PHP ファイル:

$valuefromjs = $_REQUEST['state']; // you got variable containing the value of drop-down!

$result6 = mysql_query("SELECT companyname FROM tb_company com inner join tb_companyinfo std on com.stateid = std.stateid and com.companyid = std.companyid WHERE std.productid = 1 AND std.stateid = '$valuefromjs'");
于 2012-12-24T14:03:56.340 に答える
0

残念ながら、あなたはプルーンでオレンジ ジュースを作ろうとしています。

JavaScript 内で PHP を論理的に使用することはできません。JavaScript はブラウザ レベルで実行されますが、PHP はサーバー ベースの言語です。ページにアクセスすると、PHP が出力を生成し、JavaScript が提供されるブラウザーに送信します。

必要なことは、JavaScript を使用してドロップダウンの変更をリッスンし、リクエストをサーバーに送信することです。完璧な解決策はjQuery.post()を使用することです

明確にするために、POST/GET 要求を受け取る PHP ページを作成してから、データベースにクエリを実行する必要があります。これがリクエストのターゲットになります$.post

Javascript:

$.post('query.php', {dropdownval: $('#ddlstatename').val()}, function(response){
    console.log(response);
}, 'json');

PHP (query.php):

<?php

/// mysql_connect()..

$request = json_decode($_POST['dropdownval'], true);

$result6 = mysql_query("SELECT companyname FROM tb_company com inner join tb_companyinfo std on com.stateid = std.stateid and com.companyid = std.companyid WHERE std.productid = 1 AND std.stateid = '{$request['dropdownval']}'");

die(json_encode(mysql_fetch_assoc($result6)));
于 2012-12-24T14:00:03.740 に答える