|
|
|
จะกำหนดตัวเลือก Listbox 2 จาก Listbox 1 ไดยังไง (เชื่อมกับ DATABASE) |
|
|
|
|
|
|
|
event onchange หา document อ่าน จะมีตัวอย่างการใช้งานให้ด้วย
|
|
|
|
|
Date :
2019-04-21 08:01:23 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองกี่ทีก็ไม่ได้ผลเลยครับ
Code (PHP)
<script src="Boostrap\js\jquery-1.11.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#Working').change(function() {
var Ar = $(this).val();
alert(Ar);
$.ajax({
type: 'POST',
data: {Working: $(this).val()},
url: 'select_product.php',
success: function(data) {
$('#WorkingType').html(data);
}
});
return false;
});
});
</script>
อันนี้ตัว select box
Code (PHP)
<div class="form-row">
<div class="form-group col-md-6">
<label for="Working">ความอนุเคราะห์</label>
<select name="Working3" class="form-control" id="Working" onchange="checkSelect(this.value);" required>
<option selected></option>
<?php
$sql = "SELECT * FROM tb_working ";
$result = mysqli_query($con,$sql);
while ($data = mysqli_fetch_array($result))
{
?> <!-- ปิดด้วย php เพื่อให้ใช้โค้ตื่นได้ -->
<option value="<?php echo $data["wid"];?>"><?php echo $data["object_need"];?></option>
<?php
}
?>
</select>
</div>
<div class="form-group col-md-6">
<label for="WorkingType">งานที่ใช้</label>
<select name="WorkingType3" class="form-control" id="WorkingType" disabled>
<option selected></option>
</select>
</div>
</div>
แล้วไฟล์ที่ไว้ตรวจสอบก็ลองแปลงให้เข้ากับไฟล์ของผมแล้ว
Code (PHP)
<?php
include "connectDB.php";
$Working_id = (isset($_POST['Working'])) ? $_POST['working'] : "";
echo $working_id;
$Query = mysqli_query($con,"SELECT * FROM tb_working_type WHERE Object_type='{$Working_id}'");
$Rows = mysqli_num_rows($Query);
echo $Rows;
if ($Rows > 0) {
while ($Result = mysqli_fetch_array($Query)) {
echo "<option value=\"" . $Result['wid'] . "\">" . $Result['object_need'] . "</option>";
}
}else{
echo "<option value=\"\">ไม่มีสินค้าในหมวดหมู่ที่เลือก</option>";
}
?>
ผลก็ออกมาแบบเดิมเลยครับ ว่างเปล่า
|
|
|
|
|
Date :
2019-04-22 08:54:11 |
By :
myjack2007 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่รู้ว่าโค้ดตัวนี้
ถูกหรือป่าวนะครับ ดูอีกที
Code (PHP)
<option selected></option>
มันน่าจะเป็น
Code (PHP)
<option></option>
หรือถ้ามันมีการส่งค่ามาให้จริงก็น่าจะเป็น
Code (PHP)
<option id="?????"></opiton>
|
ประวัติการแก้ไข 2019-04-22 09:17:35 2019-04-22 09:58:20
|
|
|
|
Date :
2019-04-22 09:16:03 |
By :
nobetaking |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
04. <select name="Working3" class="form-control" id="Working" onchange="checkSelect(this.value);" required>
ข้างบน สีแดง ย้ายไปใส่ใน javascript เลย มันสร้าง event เรียกซ้ำซ้อน ก้น
อะไรทำงานก่อนอะไรทำงานหลัง คุณเข้าใจดีหรือเปล่า
Code (JavaScript)
$('#Working').change(function() {
checkSelect(this.value); // และทำอะไรก็ไม่รู้
Code (PHP)
<?php
include "connectDB.php";
$Working_id = (isset($_POST['Working'])) ? $_POST['working'] : "";
// echo $working_id; มาร์คเอาไว้ มันทำให้ข้อมูลไม่ถูกต้อง
$Query = mysqli_query($con,"SELECT * FROM tb_working_type WHERE Object_type='{$Working_id}'");
$Rows = mysqli_num_rows($Query);
// echo $Rows; มาร์คเอาไว้ มันทำให้ข้อมูลไม่ถูกต้อง
if ($Rows > 0) {
while ($Result = mysqli_fetch_array($Query)) {
echo '<option value="' . $Result['wid'] . '">' . $Result['object_need'] . '</option>';
// เปลี่ยนใช้ quote ให้ถูกกับงาน
// หรือแบบนี้ echo "<option value='$Result[wid]' >$Result[object_need]</option>";
}
}else{
echo '<option value="">ไม่มีสินค้าในหมวดหมู่ที่เลือก</option>';
}
|
|
|
|
|
Date :
2019-04-22 09:51:20 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โค้ตตัวนั้นมีไว้ให้เป็นค่าว่างครับ เอาไว้ตรวจสอบว่าผู้ใช้ต้องเลือก option ในกรณีที่ผู้ใช้ลืมเลือกครับ
แต่เดี๋ยวจะลองสังเกตดูอีกที
|
|
|
|
|
Date :
2019-04-22 09:52:05 |
By :
myjack2007 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ล่าสุด ทำตามคลิปต่างชาติแบบถี่ยิบ (มีแค่ jquery.js ที่ผมใช้เป็น jquery.min.js) ก็ยังไม่ได้ผลเลย T_T
Code (PHP)
<?php
function load_country(){
include "connectDB.php";
$output= '';
$sql = "SELECT * FROM tb_working ORDER BY object_need";
$result = mysqli_query($con, $sql);
while ($row = mysqli_fetch_array($result)) {
$output .= '<option value="'.$row["wid"].'">'.$row["object_need"].'</option>';
}
return $output;
}
?>
<hrml>
<head>
<title></title>
<script src="jquery.min.js"></script>
</head>
<body>
<p><label>เลือกความอนุเคราะห์</label>
<select name="working" id="working">
<option value="">เลือกความอนุเคราะห์</option>
<?php echo load_country(); ?>
</select></p>
<p><label>เลือกความอนุเคราะห์</label>
<select name="workingType" id="workingType">
<option value="">เลือกหัวข้อ</option>
</select></p>
</body>
</html>
<script>
$(document).ready(function(){
$('#working').change(function(){
var working_W = $(this).val();
$.ajax({
url:"fetch_type.php",
method:"POST",
data:{workingW:working_W},
success:function(data)
{
$('#workingType').html(data);
}
});
});
});
</script>
fetch_type.php
Code (PHP)
<?php
include "connectDB.php";
$output = '';
$sql = "SELECT * FROM tb_working_type WHERE wid='".$_POST['workingW']."' ORDER BY working_type";
$result = mysqli_query($con, $sql);
$output='<option value="">เลือก</option>';
while ($row = mysqli_fetch_array($result)) {
$output = '<option value="'.$row["wtid"].'">'.$row["working_type"].'</option>';
}
echo $output;
?>
|
|
|
|
|
Date :
2019-04-22 09:58:45 |
By :
myjack2007 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพิ่มการตรวจสอบ error เข้าไปด้วย
Code (JavaScript)
$.ajax({
url:"fetch_type.php",
method:"POST",
dataType: 'json', // กำหนดการรับข้อมูลเป็น json
data:{workingW:working_W},
success:function(rs){
if(rs.complete==1){
$('#workingType').html(rs.data);
}else{
alert(rs.error)
}
},
error: (jqXHR, exception){
var msg = '';
if (jqXHR.status === 0) { msg = 'Not connect.\n Verify Network.';
} else if (jqXHR.status === 404) { msg = 'Requested page not found. [404]';
} else if (jqXHR.status === 500) { msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') { msg = 'Requested JSON parse failed.';
} else if (exception === 'timeout') { msg = 'Time out error.';
} else if (exception === 'abort') { msg = 'Ajax request aborted.';
} else { msg = 'Uncaught Error.\n' + jqXHR.responseText;
}
alert(msg);
}
});
Code (PHP)
<?php
include "connectDB.php";
$output = '';
$sql = "SELECT * FROM tb_working_type WHERE wid='".$_POST['workingW']."' ORDER BY working_type";
$result = mysqli_query($con, $sql);
$output='<option value="">เลือก</option>';
while ($row = mysqli_fetch_array($result)) {
$output = '<option value="'.$row["wtid"].'">'.$row["working_type"].'</option>';
}
echo json_encode(['complete'=>1, 'data'=>$output);
|
|
|
|
|
Date :
2019-04-22 10:10:53 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(jqXHR, exception)=>{
โทษทีเพิ่มสีแดงด้วย
|
|
|
|
|
Date :
2019-04-22 12:05:27 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Error คำเดิม ที่เดิมเลยครับ
|
|
|
|
|
Date :
2019-04-22 13:28:26 |
By :
myjack2007 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาโค๊ดเต็มๆ ที่ทำมาดูอีกทีครับ
|
|
|
|
|
Date :
2019-04-22 14:54:07 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|