Here what i have problem with AJAX and MYSQl in PHP, can anyone help me?
I have select control in form:
<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>
When someone click on Novi Sad i want to do Mysql query like this
$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>';
}
And result from exit want to get in id Rezultat? Any help please?
No luck with this :(
<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>
change <select name="mesto">
to <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);
});
});
This example requires JQUERY.
You can read more on:
http://api.jquery.com/jQuery.ajax/
also u should bind events when document is ready.
$(function (){ //document is ready bind events });
Change
WHERE deo_grada='$_POST['mesto']'"
to
WHERE deo_grada='".$_POST['mesto']."'"
$result = mysql_query("SELECT deo_grada FROM usluga
WHERE deo_grada='{$_POST['mesto']}'");
Watch out for sql injections
Include jQuery and paste this code:
$(function(){
var res = $("#Rezultat");
$("#selectid").change(function(){
$.ajax({
url:"index.php",
method:"POST",
data:{this.na`enter code here`me:this.value},
success:function(data){
res.html(data);
}
})
})
})
This 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;
}
And this is 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>
Txanks a lot @Author: Simone Rodriguez aka Pukos < http://www.SimoneRodriguez.com >
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.