|
|
|
jquery listbox ไม่แสดงค่าข้อมูลที่ดึงมาจากฐานข้อมูล |
|
|
|
|
|
|
|
เป็นการเลือกจังหวัดแล้วดึงอำเภอ อำเภอดึงตำบลครับ บนเบราะเซอตัวอื่นทำงานได้ครับ ยกเว้น ie ครับ ไฟล์มีแค่สองไฟล์ครับ
มันไม่ขึ้นจังหวัด อำเภอ ตำบล ให้เลือกครับ
geo_combo.php
Code (PHP)
<?php
header('Content-type:text/html;charset=UTF-8');
require_once 'includes/connect_db.php';
if (!isset($_GET['load'])){
$_GET['load'] = 'province';
}
switch($_GET['load']){
case 'province':
$r = mysql_query("SELECT * FROM `province`") or report();
echo '<option value="">-- เลือกจังหวัด --</option>';
while ($row = mysql_fetch_assoc($r)){
echo '<option value="',$row['PROVINCE_ID'],'">',
$row['PROVINCE_NAME'],
'</option>';
}
break;
case 'amphur':
$province_id = isset($_GET['province_id'])?intval($_GET['province_id']):0;
$r = mysql_query("SELECT * FROM `amphur` WHERE `PROVINCE_ID`=$province_id") or report();
echo '<option value="">-- เลือกอำเภอ --</option>';
while ($row = mysql_fetch_assoc($r)){
echo '<option value="',$row['AMPHUR_ID'],'">',
$row['AMPHUR_NAME'],
'</option>';
}
break;
case 'district':
$amphur_id = isset($_GET['amphur_id'])?intval($_GET['amphur_id']):0;
$r = mysql_query("SELECT * FROM `district` WHERE `AMPHUR_ID`=$amphur_id") or report();
echo '<option value="">-- เลือกตำบล --</option>';
while ($row = mysql_fetch_assoc($r)){
echo '<option value="',$row['DISTRICT_ID'],'">',
$row['DISTRICT_NAME'],
'</option>';
}
break;
}
function report(){
return die('<option>'.htmlspecialchars(mysql_error()).'</option>');
}
?>
ไฟล์นี้เป็นตัวแสดงผลจังหวัด อำเภอ ตำบลครับ แต่มันไม่ขึ้นจังหวัด อำเภอ ตำบล ให้เลือกครับ
studentform.phpCode (PHP)
<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.7.2.custom.js"></script>
<link href="js/smoothness/jquery-ui-1.7.2.custom.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
//<![CDATA[
var province_id = <?php echo isset($_POST['province_id']) ? intval($_POST['province_id']) : '0'; ?>;
var amphur_id = <?php echo isset($_POST['amphur_id']) ? intval($_POST['amphur_id']) : '0'; ?>;
var district_id = <?php echo isset($_POST['district_id']) ? intval($_POST['district_id']) : '0'; ?>;
function loadSelectBox(id,url,selected){
$.get(
url,{},function(data){
$(id).html(data);
if (selected!=0){
$(id+' option[value='+selected+']').attr('selected','selected');
}
}
);
}
$(function(){
loadSelectBox(
'#province_id',
'geo_combo.php?load=province',
province_id
);
loadSelectBox(
'#amphur_id',
'geo_combo.php?load=amphur&province_id='+province_id,
amphur_id
);
loadSelectBox(
'#district_id',
'geo_combo.php?load=district&hur_id='+amphur_id,
district_id
);
$('#province_id').change(function(e){
var selected = e.target.value;
loadSelectBox(
'#amphur_id',
'geo_combo.php?load=amphur&province_id='+selected,
0
);
$('#district_id :not(option:first)').remove(); //add
});
$('#amphur_id').change(function(e){
var selected = e.target.value;
loadSelectBox(
'#district_id',
'geo_combo.php?load=district&hur_id='+selected,
0
);
});
});
//]]>
</script>
<p>
<span id="spryselect1">
<label for="province_id">จังหวัด</label>
<select name="province_id" id="province_id">
<option value="" selected>กรุณาเลือกจังหวัด</option>
</select>
<span class="selectRequiredMsg">กรุณาเลือกจังหวัด</span></span>
<p>
<span id="spryselect4">
<label for="amphur_id">อำเภอ</label>
<select name="amphur_id" id="amphur_id">
<option value="" selected>กรุณาเลือกอำเภอ</option>
</select>
<span class="selectRequiredMsg">กรุณาเลือกอำเภอ</span></span>
<p>
<span id="spryselect3">
<label for="district_id">ตำบล</label>
<select name="district_id" id="district_id">
<option value="" selected>กรุณาเลือกตำบล</option>
</select>
<span class="selectRequiredMsg">กรุณาเลือกตำบล</span></span>
Tag : PHP, MySQL, jQuery
|
ประวัติการแก้ไข 2013-04-27 11:32:39 2013-04-27 11:34:14
|
|
|
|
|
Date :
2013-04-27 11:31:05 |
By :
narubet |
View :
1390 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันเกิดจากสาเหตใดบ้างครับ มันไม่มีเออเรอครับ นั่งงมทั้งวันละครับ ขอบคุณครับ
|
|
|
|
|
Date :
2013-04-27 18:09:33 |
By :
narubet |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comma เยอะไปไหม น่าจะใช้อย่างอื่นนะ
Code
<?php
header('Content-type:text/html;charset=UTF-8');
require_once 'includes/connect_db.php';
if (!isset($_GET['load'])){
$_GET['load'] = 'province';
}
switch($_GET['load']){
case 'province':
$r = mysql_query("SELECT * FROM `province`") or report();
echo '<option value="">-- เลือกจังหวัด --</option>';
while ($row = mysql_fetch_assoc($r)){
echo '<option value="',$row['PROVINCE_ID'],'">',
$row['PROVINCE_NAME'],
'</option>';
}
break;
case 'amphur':
$province_id = isset($_GET['province_id'])?intval($_GET['province_id']):0;
$r = mysql_query("SELECT * FROM `amphur` WHERE `PROVINCE_ID`=$province_id") or report();
echo '<option value="">-- เลือกอำเภอ --</option>';
while ($row = mysql_fetch_assoc($r)){
echo '<option value="',$row['AMPHUR_ID'],'">',
$row['AMPHUR_NAME'],
'</option>';
}
break;
case 'district':
$amphur_id = isset($_GET['amphur_id'])?intval($_GET['amphur_id']):0;
$r = mysql_query("SELECT * FROM `district` WHERE `AMPHUR_ID`=$amphur_id") or report();
echo '<option value="">-- เลือกตำบล --</option>';
while ($row = mysql_fetch_assoc($r)){
echo '<option value="',$row['DISTRICT_ID'],'">',
$row['DISTRICT_NAME'],
'</option>';
}
break;
}
function report(){
return die('<option>'.htmlspecialchars(mysql_error()).'</option>');
}
?>
|
|
|
|
|
Date :
2013-04-27 23:22:14 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณสำหรับคำแนะนำครับ
ผมลองเปลี่ยนมันทุกรูปแบบก็ยังไม่ได้ครับ
Code (PHP)
echo '<option value="'.$row['PROVINCE_ID'].'">'.$row['PROVINCE_NAME'].'</option>';
echo "<option value='$row[PROVINCE_ID]'>$row[PROVINCE_NAME]</option>";
echo "<option value=";echo $row['PROVINCE_ID'];echo">";echo$row['PROVINCE_NAME'];echo"</option>";
หรือมันจะเกี่ยวข้องกับโค้ดส่วนอื่นไหมครับ ผมเอาให้มาดูทั้งหมดละกันครับเผื่อมันเกี่ยวกัน
Code (PHP)
<?php
header('Content-type:text/html;charset=UTF-8');
require_once 'includes/connect_db.php';
if (!isset($_GET['load'])){
$_GET['load'] = 'province';
}
switch($_GET['load']){
case 'province':
$r = mysql_query("SELECT * FROM `province`") or report();
echo '<option value="">-- เลือกจังหวัด --</option>';
while ($row = mysql_fetch_assoc($r)){
echo '<option value='.$row['PROVINCE_ID'].'">'.$row['PROVINCE_NAME'].'</option>';
}
break;
case 'amphur':
$province_id = isset($_GET['province_id'])?intval($_GET['province_id']):0;
$r = mysql_query("SELECT * FROM `amphur` WHERE `PROVINCE_ID`=$province_id") or report();
echo '<option value="">-- เลือกอำเภอ --</option>';
while ($row = mysql_fetch_assoc($r)){
echo '<option value="'.$row['AMPHUR_ID'].'">'.$row['AMPHUR_NAME'].'</option>';
}
break;
case 'district':
$amphur_id = isset($_GET['amphur_id'])?intval($_GET['amphur_id']):0;
$r = mysql_query("SELECT * FROM `district` WHERE `AMPHUR_ID`=$amphur_id") or report();
echo '<option value="">-- เลือกตำบล --</option>';
while ($row = mysql_fetch_assoc($r)){
echo '<option value="'.$row['DISTRICT_ID'].'">'.$row['DISTRICT_NAME'].'</option>';
}
break;
}
function report(){
return die('<option>'.htmlspecialchars(mysql_error()).'</option>');
}
?>
Code (PHP)
หน้าฟอร์มที่โหลด จังหวัดอำเภอไม่ขึ้น
if($_GET[action]=="form"){ //ฟอร์มเพิ่มข้อมูล
?>
<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.7.2.custom.js"></script>
<link href="js/smoothness/jquery-ui-1.7.2.custom.css" rel="stylesheet" type="text/css">
<style type="text/css">
.ui-datepicker{
width:170px;
font-family:tahoma;
font-size:11px;
text-align:center;
}
</style>
<script type="text/javascript">
$(function(){
var dateBefore=null;
$("#st_birthdate,").datepicker({
dateFormat: 'dd-mm-yy',
dayNamesMin: ['อา', 'จ', 'อ', 'พ', 'พฤ', 'ศ', 'ส'],
yearRange: '-60:+10',
monthNamesShort: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'],
changeMonth: true,
changeYear: true ,
beforeShow:function(){
if($(this).val()!=""){
var arrayDate=$(this).val().split("-");
arrayDate[2]=parseInt(arrayDate[2])-543;
$(this).val(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);
}
setTimeout(function(){
$.each($(".ui-datepicker-year option"),function(j,k){
var textYear=parseInt($(".ui-datepicker-year option").eq(j).val())+543;
$(".ui-datepicker-year option").eq(j).text(textYear);
});
},50);
},
onChangeMonthYear: function(){
setTimeout(function(){
$.each($(".ui-datepicker-year option"),function(j,k){
var textYear=parseInt($(".ui-datepicker-year option").eq(j).val())+543;
$(".ui-datepicker-year option").eq(j).text(textYear);
});
},50);
},
onClose:function(){
if($(this).val()!="" && $(this).val()==dateBefore){
var arrayDate=dateBefore.split("-");
arrayDate[2]=parseInt(arrayDate[2])+543;
$(this).val(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);
}
},
onSelect: function(dateText, inst){
dateBefore=$(this).val();
var arrayDate=dateText.split("-");
arrayDate[2]=parseInt(arrayDate[2])+543;
$(this).val(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);
}
});
});
</script>
<script type="text/javascript">
//<![CDATA[
var province_id = <?php echo isset($_POST['province_id']) ? intval($_POST['province_id']) : '0'; ?>;
var amphur_id = <?php echo isset($_POST['amphur_id']) ? intval($_POST['amphur_id']) : '0'; ?>;
var district_id = <?php echo isset($_POST['district_id']) ? intval($_POST['district_id']) : '0'; ?>;
function loadSelectBox(id,url,selected){
$.get(
url,{},function(data){
$(id).html(data);
if (selected!=0){
$(id+' option[value='+selected+']').attr('selected','selected');
}
}
);
}
$(function(){
loadSelectBox(
'#province_id',
'geo_combo.php?load=province',
province_id
);
loadSelectBox(
'#amphur_id',
'geo_combo.php?load=amphur&province_id='+province_id,
amphur_id
);
loadSelectBox(
'#district_id',
'geo_combo.php?load=district&hur_id='+amphur_id,
district_id
);
$('#province_id').change(function(e){
var selected = e.target.value;
loadSelectBox(
'#amphur_id',
'geo_combo.php?load=amphur&province_id='+selected,
0
);
$('#district_id :not(option:first)').remove(); //add
});
$('#amphur_id').change(function(e){
var selected = e.target.value;
loadSelectBox(
'#district_id',
'geo_combo.php?load=district&hur_id='+selected,
0
);
});
});
//]]>
</script>
<form action="?mname=admin&mfile=student_list&action=insert" method="post" enctype="multipart/form-data" name="frmstudent">
<fieldset>
<legend>นักเรียนลงทะเบียน</legend>
<span id="sprytextfield1">
<label for="st_id">รหัสประจำตัวนักเรียน</label>
<input type="text" name="st_id" id="st_id" />
<span class="textfieldRequiredMsg">กรุณากรอกรหัสประจำตัวนักเรียน</span><span class="textfieldInvalidFormatMsg">กรอกเฉพาะตัวเลข</span><span class="textfieldMinCharsMsg">รหัสประจำตัวนักเรียน 5 หลัก </span><span class="textfieldMaxCharsMsg">รหัสประจำตัวนักเรียน 5 หลัก </span></span>
<p>
<span id="spryselect5">
<label for="st_prefix">คำนำหน้าชื่อ</label>
<select name="st_prefix" id="st_prefix">
<option value="" selected>กรุณาเลือกคำนำหน้าชื่อ</option>
<option value="เด็กชาย" >เด็กชาย</option>
<option value="เด็กหญิง" >เด็กหญิง</option>
<option value="นาย" >นาย</option>
<option value="นางสาว" >นางสาว</option>
</select>
<span class="selectRequiredMsg">กรุณาเลือกคำนำหน้าชื่อ</span></span>
<p>
<span id="sprytextfield2">
<label for="st_name">ชื่อ</label>
<input type="text" name="st_name" id="st_name" />
<span class="textfieldRequiredMsg">กรุณากรอกชื่อ</span></span>
<p>
<span id="sprytextfield3">
<label for="st_lastname">นามสกุล</label>
<input type="text" name="st_lastname" id="st_lastname" />
<span class="textfieldRequiredMsg">กรุณากรอกนามสกุล</span></span>
<p> <span id="spryradio1">
<label>เพศ</label>
<input type="radio" name="st_sex" value="1" id="sex_0" />
ชาย
<input type="radio" name="st_sex" value="2" id="sex_1" />
หญิง <span class="radioRequiredMsg">กรุณาเลือกเพศ</span></span> </p>
<p>
<span id="sprytextfield6">
<label for="st_birthdate">วันเกิด</label>
<input type="text" name="st_birthdate" id="st_birthdate" />
<span class="textfieldRequiredMsg">เลือกวันเกิด</span></span>
<p>
<span id="spryselect2">
<label for="class_id">ชั้นมัธยมศึกษา</label>
<select name="class_id" id="class_id">
<option value="" selected>กรุณาเลือกระดับชั้นเรียน</option>
<?php
$sql = "select * from class order by class_name ";
$dbquery = mysql_query( $sql);
$num_rows = mysql_num_rows($dbquery);
if($num_rows >0){
$i=1;
While ($i <= $num_rows)
{ $result = mysql_fetch_array($dbquery);
echo"<option value=$result[class_id] > $result[class_name] </option>";
$i++; }
}?>
</select>
<span class="selectRequiredMsg">กรุณาเลือกระดับชั้นเรียน</span></span>
<p>
<span id="sprytextfield15">
<label for="st_room">ห้อง</label>
<input type="text" name="st_room" id="st_room" />ตัวอย่าง ถ้าเรียนอยู่ ม. 1/10 พิมพ์ 10 อย่างเดียว
<span class="textfieldRequiredMsg">กรุณากรอกห้อง</span><span class="textfieldInvalidFormatMsg">ห้องกรอกเฉพาะตัวเลข</span></span>
<p><span id="sprytextarea1">
<label for="per_address">ที่อยู่</label>
<textarea name="st_address" id="st_address" cols="45" rows="5" ></textarea>พิมพ์เฉพาะบ้านเลขที่ หมู่ที่ ซอย(ถ้ามี) <span class="textareaRequiredMsg">กรุณากรอกที่อยู่</span></span>
<p>
<span id="spryselect1">
<label for="province_id">จังหวัด</label>
<select name="province_id" id="province_id">
<option value="" selected>กรุณาเลือกจังหวัด</option>
</select>
<span class="selectRequiredMsg">กรุณาเลือกจังหวัด</span></span>
<p>
<span id="spryselect4">
<label for="amphur_id">อำเภอ</label>
<select name="amphur_id" id="amphur_id">
<option value="" selected>กรุณาเลือกอำเภอ</option>
</select>
<span class="selectRequiredMsg">กรุณาเลือกอำเภอ</span></span>
<p>
<span id="spryselect3">
<label for="district_id">ตำบล</label>
<select name="district_id" id="district_id">
<option value="" selected>กรุณาเลือกตำบล</option>
</select>
<span class="selectRequiredMsg">กรุณาเลือกตำบล</span></span>
<p>
<span id="sprytextfield16">
<label for="st_post">รหัสไปรษณีย์</label>
<input type="text" name="st_post" id="st_post" />
<span class="textfieldRequiredMsg">กรุณากรอกรหัสไปรษณีย์</span><span class="textfieldInvalidFormatMsg">รหัสไปรษณีย์กรอกเฉพาะตัวเลข</span><span class="textfieldMinCharsMsg">รหัสไปรษณีย์ 5 ตัว</span><span class="textfieldMaxCharsMsg">รหัสไปรษณีย์ 5 ตัว</span></span>
<p>
<span id="sprytextfield4">
<label for="st_mail">อีเมลล์</label>
<input type="text" name="st_mail" id="st_mail" />ถ้าไม่มีอีเมลให้กรอก [email protected] แทน
<span class="textfieldRequiredMsg">กรุณากรอกอีเมลล์</span><span class="textfieldInvalidFormatMsg">รูปแบบอีเมลล์ไม่ถูกต้อง</span></span>
<p>
<span id="sprytextfield8">
<label for="st_mobile">มือถือ</label>
<input type="text" name="st_mobile" id="st_mobile" />
<span class="textfieldRequiredMsg">กรุณากรอกเบอร์มือถือ</span><span class="textfieldInvalidFormatMsg">กรุณากรอกเบอร์มือถือ์ให้ถูกต้อง</span></span>
<p>
<span id="sprytextfield9">
<label for="father_name">ชื่อบิดา</label>
<input type="text" name="father_name" id="father_name" />
<span class="textfieldRequiredMsg">กรุณากรอกชื่อบิดา</span></span>
<p>
<span id="sprytextfield10">
<label for="father_lastname">นามสกุลบิดา</label>
<input type="text" name="father_lastname" id="father_lastname" />
<span class="textfieldRequiredMsg">กรุณากรอกนามสกุลบิดา</span></span>
<p>
<span id="sprytextfield11">
<label for="mother_name">ชื่อมารดา</label>
<input type="text" name="mother_name" id="mother_name" />
<span class="textfieldRequiredMsg">กรุณากรอกชื่อมารดา</span></span>
<p>
<span id="sprytextfield12">
<label for="mother_lastname">นามสกุลมารดา</label>
<input type="text" name="mother_lastname" id="mother_lastname" />
<span class="textfieldRequiredMsg">กรุณากรอกนามสกุลมารดา</span></span>
<p>
<span id="sprytextfield13">
<label for="parent_name">ชื่อผู้ปกครอง</label>
<input type="text" name="parent_name" id="parent_name" />
<span class="textfieldRequiredMsg">กรุณากรอกชื่อผู้ปกครอง</span></span>
<p>
<span id="sprytextfield14">
<label for="parent_lastname">นามสกุลผู้ปกครอง</label>
<input type="text" name="parent_lastname" id="parent_lastname" />
<span class="textfieldRequiredMsg">กรุณากรอกนามสกุลผู้ปกครอง</span></span>
<p>
<span id="sprytextfield5">
<label for="parent_mobile">มือถือผู้ปกครอง</label>
<input type="text" name="parent_mobile" id="parent_mobile" />
<span class="textfieldRequiredMsg">กรุณากรอกเบอร์มือถือ</span><span class="textfieldInvalidFormatMsg">กรุณากรอกเบอร์มือถือ์ให้ถูกต้อง</span></span>
<p>
<span id="sprytextfield18">
<label for="showcaptcha"> </label>
<?php dsp_crypt(0,1); ?>
<span class="textfieldRequiredMsg">กรุณากรอกตัวอักษรที่ท่านเห็น</span></span>
<p>
<span id="sprytextfield17">
<label for="captcha">กรอกตัวอักษร </label>
<input type="text" name="captcha" id="captcha" />ตัวพิมพ์ใหญ่ทั้งหมด ไม่ต้องเว้นวรรค
<span class="textfieldRequiredMsg">กรุณากรอกตัวอักษรที่ท่านเห็นด้านล่าง</span></span>
<p>
<input name="ok" type="submit" value="บันทึก" />
</fieldset>
</form>
|
ประวัติการแก้ไข 2013-04-28 09:45:45
|
|
|
|
Date :
2013-04-28 09:44:41 |
By :
narubet |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|