|
|
|
รับค่า array จากฟอร์มแล้ว จะให้ ตัวแปล มันเท่ากับค่าที่ได้ loop มาอย่างไรครับ แนะนำหน่อยครับ |
|
|
|
|
|
|
|
Code (PHP)
// && คือ เท่ากับ || คือ หรือ
if(($_GET['field_select'][$i]=="Title") || ($_GET['field_select'][$i]=="Author")){
echo "Yes";
}else{
echo "No";
}
}
|
|
|
|
|
Date :
2014-10-22 22:35:44 |
By :
gaowteen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้า เป็น OR นี่ไม่ได้ครับ เพราะ ผมต้องการ ให้มันเป็น จริงทั้งคู่ครับ เพราะกรณีนี้เลือก checkbox 2 อัน
|
|
|
|
|
Date :
2014-10-22 22:44:20 |
By :
silent |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
นายทำความเข้าใจ code ที่นายเขียนก่อนไหมครับ
Code (SQL)
// && คือ เท่ากับ || คือ หรือ
//ถ้า $i = 1 ค่าใน $_GET['field_select'][$i ] มันจะต่างกันได้ยังไง ถ้าเขียน if(($_GET['field_select'][$i]=="Title") && ($_GET['field_select'][$i]=="Author")) ค่าที่ได้มันก็ได้ false ตลอดอยู่ ละ
if(($_GET['field_select'][$i]=="Title") || ($_GET['field_select'][$i]=="Author")){
echo "Yes";
}else{
echo "No";
}
}
|
ประวัติการแก้ไข 2014-10-22 22:55:12
|
|
|
|
Date :
2014-10-22 22:54:33 |
By :
gaowteen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<input type="checkbox" name="Title[]" value="1">ชื่อหนังสือ
<input type="checkbox" name="Author[]" value="1">นักเขียน
<input type="checkbox" name="Price[]" value="1">ราคา
<input type="checkbox" name="publisher[]" value="1">สนพ
<input type="checkbox" name="isbn[]" value="1">ISBN
if(!empty($_GET['Title'][$i]) && !empty($_GET['Author'][$i]) ){
echo "Yes";
}else{
echo "No";
}
}
|
|
|
|
|
Date :
2014-10-23 00:00:49 |
By :
gaowteen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (JavaScript)
<input type="checkbox" name="field_select[]" value="Title">ชื่อหนังสือ
<input type="checkbox" name="field_select[]" value="Author">นักเขียน
<input type="checkbox" name="field_select[]" value="Price">ราคา
<input type="checkbox" name="field_select[]" value="publisher">สนพ
<input type="checkbox" name="field_select[]" value="isbn">ISBN
โค๊ดนี้ ลอง print_r( $_REQUEST['field_select']); ออกมาดูครับเพื่อจะเข้าใจการทำงาน ของ checkbox มากกว่านี้นะครับ
Code (JavaScript)
<input type="checkbox" name="field_select[]" value="Title" checked >ชื่อหนังสือ
<input type="checkbox" name="field_select[]" value="Author">นักเขียน
ค่าที่ส่งมา field_select ก็จะเป็น array('0'=>'TiTle')
Code (JavaScript)
<input type="checkbox" name="field_select[]" value="Title" >ชื่อหนังสือ
<input type="checkbox" name="field_select[]" value="Author" checked >นักเขียน
ค่าที่ส่งมา field_select ก็จะเป็น array('1'=>'Author')
แล้ว for($i = 0; $i<sizeof($_GET['field_select']); $i++){ มันเริ่มจาก 0 to จำนวน
มันก็จะไม่แสดงค่าที่ไม่มีออกมา ก็เท่านั้นครับ
แบบที่ถูก ควรจะใช้
Code (PHP)
foreach( $_GET['field_select'] as $key=>$value){
echo $key, '=>', $value, "<br>";
switch($key){
case '0': do_your_want(); break;
case '1': do_your_want(); break;
case '2': do_your_want(); break;
}
}
ปล.
คห. 1 ก็ชัดเจน อยู๋แล้วนะครับ
การ เปลียบ เทียบ && (and ) ต้องมีสองข้าง ถูกต้อง
แต่ มันมี ค่า $i แค่ค่าเดียว อย่างไรก็เป็น เท็จ ตลอดครับ
|
ประวัติการแก้ไข 2014-10-23 10:18:27
|
|
|
|
Date :
2014-10-23 10:13:27 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมขอเสริมนะครับ
บอกก่อนะครับว่าที่ คุณ BIrD บอกนั้นถูกแล้วครับน้อง
และที่คุณ Chaidhanan ขยายความให้ ก็ถูกครับ แต่ถ้าน้องยัง งงๆ ลงดูโค้ดพี่ครับ
ปัญหา และทางแก้ไข
1. สิ่งที่น้องทำคือ Checkbox Group แล้วน้องอยากทราบว่า ใน Checkbox Group ของน้อง มีการเลือก Title และ Author หรือ ไม่
2. แน่นอนครับตามที่น้องเข้าใจคือ Title && Author นั้นคือคำตอบที่น้องอยากได้ใน Checkbox Group ของน้อง
3. แสดงว่า ต้องมี ถูก 2 อย่างใน Checkbox Group ของน้อง
4. ฉะนั้น โค้ดแบบง่ายที่สุด ที่จะเป็นได้ จะเป็นแบบนี้ครับน้อง
Code (PHP)
$compare = 0;
for($i = 0; $i<sizeof($_GET['field_select']); $i++){
if(($_GET['field_select'][$i]=="Title"){
$compare = $compare+1;
}
if(($_GET['field_select'][$i]=="Author"){
$compare = $compare+1;
}
if($compare == 2){
echo "Yes";
}else{
echo "No";
}
}
เห็น โค้ดพี่เข้าใจมั้ยครับน้อง ถ้าไม่เข้าใจ ให้ไปอ่านข้อ 1-3 ซ้ำ นะครับ ค่อยๆคิดตามที่พี่บอก ใจเย็นๆนะครับ แล้วน้องจะเก่งนะครับ
|
ประวัติการแก้ไข 2014-10-23 14:19:00
|
|
|
|
Date :
2014-10-23 14:17:10 |
By :
\ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากครับสำหรับพี่ๆทุกๆท่านครับ แต่ผมเอาของคุณ AK ไปรันแล้วมันขึ้นจังซี่ครับ
Code (PHP)
$compare = 0;
for($i = 0; $i<sizeof($_GET['field_select']); $i++){
if($_GET['field_select'][$i]=="Title"){
$compare = $compare+1;
}
if($_GET['field_select'][$i]=="Author"){
$compare = $compare+1;
}
if($compare == 2){
echo "Yes";
// $field_select = "book.*, pubinfo.*";
}else{
echo "No";
}
}
echo "<hr>";
print_r( $_REQUEST['field_select']);
//มัน out put ค่าทั้งสองออกมาเลยครับ
NoYes
Array ( [0] => Title [1] => Author )
|
ประวัติการแก้ไข 2014-10-24 15:51:05
|
|
|
|
Date :
2014-10-24 15:48:18 |
By :
silent |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$compare=0;
foreach( $_GET['field_select'] as $k=>$vl ){
if($vl=="Title" || $vl=="Author") $compare++;
}
//ย้ายมาไว้นอก loop
echo ($compare == 2)? "Yes" : "No";
|
ประวัติการแก้ไข 2014-10-24 15:52:11 2014-10-24 15:55:24
|
|
|
|
Date :
2014-10-24 15:50:23 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากครับ งมอยู่นาน
|
|
|
|
|
Date :
2014-10-24 16:15:07 |
By :
silent |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|