0

ここで、PHP の AJAX と MYSQl に問題があるのですが、誰か助けてもらえますか?

私はフォームで選択コントロールを持っています:

    <form action="index.php" method="post" name="pretraga" class="border">
    <p>Mesto:</p>
                 <div class="spry-select">
                   <select name="mesto" id="select_x">
                   <option value="Novi Sad">Novi Sad</option>
                   <option value="">nesto</option>
                   <option value="">nesto</option>
                   </select></div>
    <div id="Rezultat">
<select name="podrucje" >
</select>
    </div>

誰かが Novi Sad をクリックすると、このような Mysql クエリを実行したい

$result = mysql_query("SELECT deo_grada FROM usluga 
WHERE deo_grada='{$_POST['mesto']}'");
while ($red=mysql_fetch_object ($result))
                {
echo'<option value="'.$red->deo_grada.'">'.$red->deo_grada.'</option>';
                }

終了からの結果は、ID Rezultat で取得したいですか? 何か助けてください。

これで運が悪い:(

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function (){
$('#select_x').change(function() {
  $.ajax({
  type: "POST",
  url: "some.php",
  data: { mesto: $("select_x option:selected")[0].val() }
}).done(function( msg ) {
  $("#Rezultat").html(msg);
});
});
   });
</script>
4

5 に答える 5

2

<select name="mesto"> に 変更 <select name="mesto" id="select_x">

$('#select_x').change(function() {
  $.ajax({
  type: "POST",
  url: "some.php",
  data: { mesto: $("select_x option:selected")[0].val() }
}).done(function( msg ) {
  $("#Rezultat").html(msg);
});
});

この例では JQUERY が必要です。

詳細については、次を参照してください。

http://api.jquery.com/change/

http://api.jquery.com/jQuery.ajax/

また、ドキュメントの準備ができたらイベントをバインドする必要があります。

$(function (){ //document is ready bind events });
于 2013-04-08T11:11:57.097 に答える
0

このJavaScript :)

function xmlhttpPost(strURL,formname,responsediv,responsemsg) {

        var xmlHttpReq = false;

        var self = this;

        // Xhr per Mozilla/Safari/Ie7

        if (window.XMLHttpRequest) {

            self.xmlHttpReq = new XMLHttpRequest();

        }

        // per tutte le altre versioni di IE

        else if (window.ActiveXObject) {

            self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");

        }

        self.xmlHttpReq.open('POST', strURL, true);

        self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

        self.xmlHttpReq.onreadystatechange = function() {

            if (self.xmlHttpReq.readyState == 4) {

                // Quando pronta, visualizzo la risposta del form

                updatepage(self.xmlHttpReq.responseText,responsediv);

            }

            else{

                // In attesa della risposta del form visualizzo il msg di attesa

                updatepage(responsemsg,responsediv);



            }

        }

        self.xmlHttpReq.send(getquerystring(formname));

    }



    function getquerystring(formname) {

        var form = document.forms[formname];

        var qstr = "";



        function GetElemValue(name, value) {

            qstr += (qstr.length > 0 ? "&" : "")

                + escape(name).replace(/\+/g, "%2B") + "="

                + escape(value ? value : "").replace(/\+/g, "%2B");

                //+ escape(value ? value : "").replace(/\n/g, "%0D");

        }



        var elemArray = form.elements;

        for (var i = 0; i < elemArray.length; i++) {

            var element = elemArray[i];

            var elemType = element.type.toUpperCase();

            var elemName = element.name;

            if (elemName) {

                if (elemType == "TEXT"

                        || elemType == "TEXTAREA"

                        || elemType == "PASSWORD"

                        || elemType == "BUTTON"

                        || elemType == "RESET"

                        || elemType == "SUBMIT"

                        || elemType == "FILE"

                        || elemType == "IMAGE"

                        || elemType == "HIDDEN")

                    GetElemValue(elemName, element.value);

                else if (elemType == "CHECKBOX" && element.checked)

                    GetElemValue(elemName, 

                        element.value ? element.value : "On");

                else if (elemType == "RADIO" && element.checked)

                    GetElemValue(elemName, element.value);

                else if (elemType.indexOf("SELECT") != -1)

                    for (var j = 0; j < element.options.length; j++) {

                        var option = element.options[j];

                        if (option.selected)

                            GetElemValue(elemName,

                                option.value ? option.value : option.text);

                    }

            }

        }

        return qstr;

    }

    function updatepage(str,responsediv){

        document.getElementById(responsediv).innerHTML = str;

    }

そして、これはHTMlです

    <div class="spry-select">
                       <select name="mesto" onclick="xmlhttpPost('obrada.php', 'pretraga', 'Rezultat', ''); return false;"/>
                       <option value="Novi Sad">Novi Sad</option>
                       <option value="">nesto</option>
                       <option value="">nesto</option>
                       </select></div>
<select id="Rezultat" name="podrucje" >

               </select>

@Author: Simone Rodriguez aka Pukos < http://www.SimoneRodriguez.com >

于 2013-04-08T12:31:41.817 に答える
0
$result = mysql_query("SELECT deo_grada FROM usluga 
WHERE deo_grada='{$_POST['mesto']}'");

SQLインジェクションに注意

于 2013-04-08T11:09:51.810 に答える
0

変化する

WHERE deo_grada='$_POST['mesto']'"

WHERE deo_grada='".$_POST['mesto']."'"
于 2013-04-08T11:07:46.107 に答える