|
|
|
option value ใส่หลายๆค่ารวมกันเป็นค่าเดียวได้ไหมครับ |
|
|
|
|
|
|
|
คือว่าอาจารย์ให้ผมทำการแสดงผลข้อมูลจาก database อะครับ แล้วตอนนี้เหลือเพิ่มคือ ให้เลือกว่าสามารถโชว์ทุกรหัส ได้ กับ โชว์ทุกสถานะได้
โดยผมคิดว่า ถ้าเพิ่มค่า option value โดยมี 04,13,48 มารวมกัน ส่วนstatus ก็เพิ่มโดยรวม checked,late,unchecked
แต่ว่าผมไม่ทราบว่าจะเพิ่มค่าใน option value แบบรวมหลายๆค่าเป็นค่าเดียวยังไงครับ ขอบคุณครับ
Code (PHP)
<html>
<head>
<title>Student Check</title>
</head>
<body>
<center>
<form method='POST'>
StudentID :
<select name='selID'>
<option value='04'>04</option>
<option value='13'>13</option>
<option value='48'>48</option>
</select>
Status :<label>
<select name='selStatus'>
<option value='Checked'>Checked</option>
<option value='Late'>Late</option>
<option value='Unchecked'>Unchecked</option>
</select><input type="submit"value="แสดง"/></label>
</form>
</center>
<?php
$objConnect = mysql_connect("localhost","root","") or die("Error Connect to Database");
$objDB = mysql_select_db("student");
mysql_query('set names utf8'); //แก้ปัญาหาการไม่โชว์ภาษาไทย ให้โชว์
$strSQL = "SELECT * FROM ene101 WHERE studentid = '" . @$_POST["selID"] . "' AND Status = '" . @$_POST["selStatus"] . "' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<h2><center>ENE101 Student Check</center></h2>
<center><table width="600" border="1" cellpadding="2" cellspacing="0" bordercolor="#000000">
<tr bgcolor="#99CCFF">
<th width="90"> <div align="center"><font color="#000000" face="Tahoma, MS Sans Serif"><strong>StudentID</strong></font></div></th>
<th width="90"> <div align="center"><font color="#000000" face="Tahoma, MS Sans Serif"><strong>Name</strong></font></div></th>
<th width="90"> <div align="center"><font color="#000000" face="Tahoma, MS Sans Serif"><strong>UID</strong></font></div></th>
<th width="90"> <div align="center"><font color="#000000" face="Tahoma, MS Sans Serif"><strong>Status</strong></font></div></th>
<th width="90"> <div align="center"><font color="#000000" face="Tahoma, MS Sans Serif"><strong>Date</strong></font></div></th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr><center>
<td align="center" bgcolor="#FFFF99"><?=$objResult["studentid"];?></div></td>
<td align="center" bgcolor="#FFFF99"><?=$objResult["Name"];?></td>
<td align="center" bgcolor="#FFFF99"><?=$objResult["UID"];?></td>
<td align="center" bgcolor="#FFFF99"><?=$objResult["Status"];?></div></td>
<td align="center" bgcolor="#FFFF99"><?=$objResult["Date"];?></td>
</center>
</tr>
<?
}
?>
</table>
<?
mysql_close($objConnect);
?>
</body>
</html>
Tag : PHP
|
|
|
|
|
|
Date :
2012-04-25 21:03:52 |
By :
artto |
View :
3779 |
Reply :
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
08.<form method='POST'>
09.
10.StudentID :
11.<select name='AllAbout'>
12.<option value='04:13:48'>All_id</option>
13.<option value='Checked:Late:Unchecked'>All_Status</option>
22.</select><input type="submit"value="แสดง"/></label>
23.</form>
$array_all = explode(":", $_POST["AllAbout"]);
print_r($array_all);
|
|
|
|
|
Date :
2012-04-25 23:41:04 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สามารถเอา
<option value='04:13:48'>All_ID</option>
กับ
.<option value='Checked:Late:Unchecked'>All_Status</option>
ไปใส่ใน select อันเดิมได้ไหมครับ โดยไปใส่ที่ selID กับ selStatus
แต่ว่าในส่วนของการแสดงผลมันไม่แสดงผลออกมาอะครับ
โค้ดของผมต้องแก้ไขตรงไหนเพิ่มรึเปล่าครับ
ผมคิดว่าน่าจะมีปัญหาจากส่วนนี้
$strSQL = "SELECT * FROM ene101 WHERE studentid = '" . @$_POST["selID"] . "' AND Status = '" . @$_POST["selStatus"] . "' ";
เมื่อ เลือกหลายๆ่าแล้วมันไม่แสดงผลอะครับ
|
ประวัติการแก้ไข 2012-04-26 13:57:25 2012-04-26 14:00:23
|
|
|
|
Date :
2012-04-26 13:46:51 |
By :
artto |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาทั้งสองอันที่เขียนให้ไปรวมกับชุดเดิมได้ครับ
และคำสั่งต้องเขียนแบบนี้ครับ
$strSQL = "SELECT * FROM ene101 WHERE studentid = '" . $_POST["selID"] . "' AND Status = '" . $_POST["selStatus"] . "' ";
$objQuery = mysql_query($strSQL) or die (mysql_error()."<br />\nError Query [".$strSQL."]");
|
|
|
|
|
Date :
2012-04-26 14:28:24 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็ยังไม่ได้อะครับ คือโค้ดที่ผมแนบมาผมก็มีคำสั่งตรงนั้นอยู่แล้วครับ
ผมเลยไม่รู้ว่ามันเกิดปัญหาจากตรง option value หรือจากการเลือกตรง where แล้วใส่ค่าไปอะครับ ??
|
|
|
|
|
Date :
2012-04-26 15:01:20 |
By :
artto |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเอา @ หน้า $_POST ออกแล้วใช่มั๊ย
และเพิ่ม mysql_error() ใน die() แล้วใช่มั๊ย
งั้นลอง echo $strSQL; ออกมาดูครับ น่าจะเห็นอะไรผิดปกติอยู่บ้างล่ะครับ
|
|
|
|
|
Date :
2012-04-26 15:21:28 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT * FROM ene101 WHERE studentid = '04:13:48' AND Status = 'Checked:Late:Unchecked'
ได้แบบนี้อะครับ
|
|
|
|
|
Date :
2012-04-26 15:28:35 |
By :
artto |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ที่ถูก ต้องเป็นแบบนี้ครับ ถึงจะผ่าน
SELECT * FROM ene101 WHERE studentid in ('04','13','48') AND Status in ('Checked','Late','Unchecked')
|
|
|
|
|
Date :
2012-04-26 15:30:53 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WHERE studentid in ('04','13','48')
Status in ('Checked','Late','Unchecked')
ถ้าแบบนี้ต้องตั้งค่าใน option value ให้เป็น
<option value='04','13','48'>ALL_ID</option> แต่ว่าแบบนี้มันเลือกแค่ 04 อะครับ ไม่รู้ว่าจะให้เลือกทั้งหมดยังไง
|
|
|
|
|
Date :
2012-04-26 15:37:01 |
By :
artto |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
if(strstr(":", $_POST["selID"]))
$find_id = " in ('".str_replace(":" , "','" , $_POST["selID"])."') ";
else
$find_id = " ='{$_POST["selID"]}' ";
if(strstr(":", $_POST["selStatus"]))
$find_status = " in ('".str_replace(":" , "','" , $_POST["selStatus"]) ."') ";
else
$find_status = " ='{$_POST["selStatus"]}' ";
$strSQL = "SELECT * FROM ene101 WHERE studentid $find_id AND Status $find_status ";
$objQuery = mysql_query($strSQL) or die (mysql_error()."<br />\nError Query [".$strSQL."]");
|
|
|
|
|
Date :
2012-04-26 15:40:17 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังไม่ผ่านอะครับ คือตอนนี้ผมต้องใส่ option value แบบไหนครับ
<option value='04','13,'48'>ALL_ID</option> แบบนี้จะเลือกแต่ค่า 04 ค่าอื่นๆเหมือนอยู่นอก syntax อะครับ
หรือแบบเก่านี้
<option value='04:13:48'>ALL_ID</option>
|
|
|
|
|
Date :
2012-04-26 15:54:41 |
By :
artto |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองอ่านโค้ดที่ No.9 ดูซิครับ แล้วทำความเข้าใจ ก็จะรู้ว่าต้องใช้ option แบบไหน
ผมอยากให้ศึกษาและทดลองด้วยตัวเองบ้าง จะได้เห็นแนวทางการเขียนโค้ดที่หลากหลาย
และเก็บเกี่ยวประสบการณ์ดีๆ กลับไป มากกว่า โค้ดที่สำเร็จรูปแล้ว
|
|
|
|
|
Date :
2012-04-26 16:00:00 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลองแล้วครับ แต่ยังไงก็ยังทำไม่ได้
คือลองเอาค่ามีแต่ ':' ใน option value แต่ถ้าใส่เป็น '04:13:48' ค่าที่ echo ออกมาจะเป็น studentid ='04:13:48' ครับ
ผมลองพยายามแก้ในส่วนของการ replace
Code (PHP)
if(strstr("'04':'13':'48'", $_POST["selID"]))
$find_id = " in ('".str_replace("'04':'13':'48'" , "'04','13','48'" , $_POST["selID"])."') ";
else
$find_id = " ='{$_POST["selID"]}' ";
พยายามแก้แบบนี้แต่ก็ยังไม่ได้อะครับ
|
|
|
|
|
Date :
2012-04-27 09:51:53 |
By :
artto |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ที่เขาสอนคุณคือ คุณมีข้อมูล 04 13 48
จะเอามารวมกัน แล้วส่งไปใน option เดียว ได้ต้องทำให้เป็นตัวเดียวกันเสียก่อน
เขาเลยใช้ : เป็นตัวขั้นเพื่อเอามาต่อกันเฉยๆ
ออกมาประมาณนี้ 04:13:48 แล้วก็ส่งค่าไปผ่าน option
จากนั้นก็เปลี่ยน : เป็น ' , ' เพื่อเอาไปใช้ใน SQL
คุณเห็น in ไหม ลองศึกษาเพิ่มเติมดูว่า in ใน SQL ใช้ยังไง
|
|
|
|
|
Date :
2012-04-27 10:07:27 |
By :
rootElement@kmutnb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนนี้ผมแก้ได้แล้วครับ แต่ผมงงตรงที่เงื่อนไขอะครับ
ซึ่งจาก
Code (PHP)
if(strstr(":", $_POST["selID"]))
$find_id = " in ('".str_replace(":" , "','" , $_POST["selID"])."') ";
else
$find_id = " ='{$_POST["selID"]}' ";
ตรงนี้คือ ถ้าเจอ : ใน selID จะเปลี่ยนจาก . ไปเป็น '.' แทน แต่ถ้าไม่ใช้ ก็จะ = selID เหมือนเดิม
ซึ่งผมลองแล้ว มันไปทำในเงื่อนไขของ else แทน แทนที่จะทำใน if
ผมเลยให้เงื่อนไข else เหมือนกับเงื่อนไขของ if แทน และค่าก็แสดงผลออกมาได้แล้วครับ
ผมเลยไม่มั่นใจว่าที่ของผมผิดนี่มาจากตรงไหนกันแน่ เพราะเหมือนเงื่อนไข if จะหา : ไม่เจอ
ปล. อีกเรื่องนึงครับ ใน listbox ถ้าเราเลือกแล้วก็กดปุ่ม ทำยังไงให้ตอนที่กดแล้วค่าเป็นค่าเดิม ยังไม่เปลี่ยนกลับไปเป็นค่าเริ่ม
ผมลองหาข้อมูลดู ให้เปลี่ยนจาก $_GET เป็น S_POST แต่ก็ยังไม่ได้อะครับ
ขอบคุณมากๆครับ
|
|
|
|
|
Date :
2012-04-27 10:35:02 |
By :
artto |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตกลงผมผิดเองครับ ผมวางตำแหน่งของเงื่อนไขผิด ต้องวางสลับกัน
Code (PHP)
if(strstr( $_POST["selID"] , ":"))
$find_id = " in ('".str_replace(":" , "','" , $_POST["selID"])."') ";
else
$find_id = " ='{$_POST["selID"]}' ";
if(strstr( $_POST["selStatus"] , ":"))
$find_status = " in ('".str_replace(":" , "','" , $_POST["selStatus"]) ."') ";
else
$find_status = " ='{$_POST["selStatus"]}' ";
$strSQL = "SELECT * FROM ene101 WHERE studentid $find_id AND Status $find_status ";
$objQuery = mysql_query($strSQL) or die (mysql_error()."<br />\nError Query [".$strSQL."]");
|
|
|
|
|
Date :
2012-04-27 10:52:07 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากๆเลยครับ ถ้าไม่ได้คุณผมคงไม่เสร็จแน่ๆเลยครับ :))
|
|
|
|
|
Date :
2012-04-27 10:58:29 |
By :
artto |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แสดงผลในหน้าเดิมครับ
|
|
|
|
|
Date :
2012-04-27 11:03:02 |
By :
artto |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<form method='POST'>
StudentID :
<select name='AllAbout'>
<option value='04:13:48' <?php if($_POST["AllAbout"] == "04:13:48") echo "selected"; ?> >All_id</option>
<option value='Checked:Late:Unchecked' <?php if($_POST["AllAbout"] == "Checked:Late:Unchecked") echo "selected"; ?>>All_Status</option>
</select><input type="submit"value="แสดง"/></label>
</form>
|
|
|
|
|
Date :
2012-04-27 11:10:15 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|