ขอสอบถามเลือกการ Select หน่อยคับ(มือใหม่)

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

VIO
PHP Newbie
PHP Newbie
โพสต์: 4
ลงทะเบียนเมื่อ: 25/08/2011 10:39 am

ขอสอบถามเลือกการ Select หน่อยคับ(มือใหม่)

โพสต์ที่ยังไม่ได้อ่าน โดย VIO »

จากฟอร์มส่งนี้นะคับ

โค้ด: เลือกทั้งหมด

<table border=0 width=70% align='center'><tr>
<form action='report.php' method='post'>
	<td align='center'>งานทะเบียนแบบรายเดือน<td align='left'>
	<select name='month'>
		<option value='00'>ทั้งหมด</option>
		<option value='01'>มกราคม</option>
		<option value='02'>กุมภาพันธ์</option>
		<option value='03'>มีนาคม</option>
		<option value='04'>เมษายน</option>
		<option value='05'>พฤษภาคม</option>
		<option value='06'>มิถุนายน</option>
		<option value='07'>กรกฏาคม</option>
		<option value='08'>สิงหาคม</option>
		<option value='09'>กันยายน</option>
		<option value='10'>ตุลาคม</option>
		<option value='11'>พฤศจิกายน</option>
		<option value='12'>ธันวาคม</option>
	</select></td>
	<tr><td align='center'>แยกตามผู้ที่รับผิดชอบ<td align='left'>
	<select name='id'>
		      <option value='00'>ทั้งหมด</option>
	<option value='01'>A</option>
    	<option value='02'>B</option>
    	<option value='03'>C</option>
    	<option value='04'>D</option>
    	<option value='05'>E</option>
    	</select></td> </tr>
<tr><td colspan='2' align='center'></br><input type='submit' name='submit' value='ตกลง' /></td></tr></form>
มาที่ report.php

โค้ด: เลือกทั้งหมด

$month=$_POST['month'];
$id=$_POST['id'];

$sql = "select * from $tblname where month='$month' xor $month='00' and id='$id' xor $id='00' ;

$dbquery = mysql_db_query($dbname,$sql)or die('Query failed: ' . mysql_error());

$num_rows = mysql_num_rows($dbquery);
$num_fields = mysql_num_fields($dbquery);
echo "<tr><td>$month</td><td>$id</td></tr>";
ที่ผมตัดมาเป็นแบบย่อๆไม่มี error อะไร แต่น่าจะผิดตรงที่ month กับ id นะคับ
คืออยากให้ เลือกได้แบบทั้ง month เดียว และก็ month ทั้งหมด หรือ เลือก id คนเดียว หรือเลือก id ทั้งหมดครับ ....อาจจะงงๆ คือผมใช้แบบ and อย่างเดียวโดยไม่ใส่ xor ถ้าข้อมูลในฐานข้อมูลเป็น 00 จะไม่มีข้อมูลโชว์เลย แต่พอใช้ xor จะได้ข้อมูลไม่ตรง ... งมโขงมาหลายวันแล้วช่วยด้วยคับ :cry:
touleg
PHP Super Member
PHP Super Member
โพสต์: 480
ลงทะเบียนเมื่อ: 25/01/2010 11:57 pm
ติดต่อ:

Re: ขอสอบถามเลือกการ Select หน่อยคับ(มือใหม่)

โพสต์ที่ยังไม่ได้อ่าน โดย touleg »

ก็เช็คว่า mount และหรือ id ที่รับมามันเป็น 00 หรือป่าวถ้าเป็น 00 ก็ไปทำ select ทั้งหมด ถ้าไม่ใช่ก็ ให้ไปทำ select แบบเลือก
VIO
PHP Newbie
PHP Newbie
โพสต์: 4
ลงทะเบียนเมื่อ: 25/08/2011 10:39 am

Re: ขอสอบถามเลือกการ Select หน่อยคับ(มือใหม่)

โพสต์ที่ยังไม่ได้อ่าน โดย VIO »

ขอบคุณมากเลยคับ แต่ขอรบกวนอีกนิดนะครับ ตอนนี้ติดปัญหาตรง select ที่เลือกมี 6 อันมี month, id, program ,software, hardware, price, ผมใช้

โค้ด: เลือกทั้งหมด

if($month=="00")
{
$sql = "select * from $tblname where $month='00' ";
}
if($month=="01")
{
$sql = "select * from $tblname where $month='01' ";
}
หรือ
if($id=="00")
{
$sql = "select * from $tblname where $id='00' ";
}
if($id=="01")
{
$sql = "select * from $tblname where $id='01' ";
}
...
..
.
แบบนี้ผมต้องทำทั้ง 6 อันเลยใช่ไหมคับ แล้วถ้าต้องการให้ month = 00 id = 01 ฟังก์ชัน IF ยังใช้ได้ไหมคับเพราะผมลองแล้วมันยังไม่ได้คำตอบที่ถูกเลยครับ :(
touleg
PHP Super Member
PHP Super Member
โพสต์: 480
ลงทะเบียนเมื่อ: 25/01/2010 11:57 pm
ติดต่อ:

Re: ขอสอบถามเลือกการ Select หน่อยคับ(มือใหม่)

โพสต์ที่ยังไม่ได้อ่าน โดย touleg »

ดูตามเงื่อนไขครับ ถ้าข้อมุลในฐานข้อมูลไม่มี 00 แล้วใส่ไปแบบนี้

โค้ด: เลือกทั้งหมด

$sql = "select * from $table where mouth='00' and id='01'";
คำตอบที่ได้คือไม่มี ถ้าต้องการที่จะหาตาม id ต้องไม่มี month ที่เป็น 00

โค้ด: เลือกทั้งหมด

$sql = "select * from $tblname where id='01' ";
แบบนี้ถึงจะได้
ก็จะเหมือนกันกับ month ที่ถ้าต้องการหา month ก็ต้องไม่มี id='00' ด้วย
มันจะใส่พร้อมกันไม่ได้ เพราะจะหาข้อมูลไม่เจอ
แต่ถ้ามันมีข้อมูลทั้งคู่ ก็จะต้องใส่เข้าไปทั้งคู่ด้วย ถ้ายิ่งมีหลายค่าที่ต้องหาก็จะเพิ่มเงื่อนไขเข้าไปด้วย เช่นมีทั้ง month และ id ไม่ใช่ 00 ก็จะต้องไปหา month และ id พร้อมกันด้วย
แก้ไขล่าสุดโดย touleg เมื่อ 26/08/2011 11:53 am, แก้ไขไปแล้ว 1 ครั้ง.
VIO
PHP Newbie
PHP Newbie
โพสต์: 4
ลงทะเบียนเมื่อ: 25/08/2011 10:39 am

Re: ขอสอบถามเลือกการ Select หน่อยคับ(มือใหม่)

โพสต์ที่ยังไม่ได้อ่าน โดย VIO »

ขอบคุณมากๆ เลยคับ ได้แนวคิดหลายอย่าง มากๆ เลย :)
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41336
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: ขอสอบถามเลือกการ Select หน่อยคับ(มือใหม่)

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

month=="00"
ไม่ต้อง where แล้วก็ได้ครับ
และ $id='01'
น่าจะเขียนผิดอยู่หรือเปล่า
id='01'
หรือเปล่าครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
VIO
PHP Newbie
PHP Newbie
โพสต์: 4
ลงทะเบียนเมื่อ: 25/08/2011 10:39 am

Re: ขอสอบถามเลือกการ Select หน่อยคับ(มือใหม่)

โพสต์ที่ยังไม่ได้อ่าน โดย VIO »

เสร็จแล้วคับได้ประมาณนี้

โค้ด: เลือกทั้งหมด

if($month<>'00' and $id=='00' and $ids=='00' and $software=='0' and $program=='0' and $hareware=='0')
{
$sql = "select * from $tblname where month = $month";
}
if($month=='00' and $id<>'00' and $ids=='00' and $software=='0' and $program=='0' and $hareware=='0')
{
$sql = "select * from $tblname where id = $id";
}
..
.
แล้วก็ใช้ให้ครบทุกเงื่อนไข คือเงื่อนไขมันค่อนข้างเยอะ ผมยังเขียนไม่เก่งต้องศึกษาอีกมาก
ขอบคุณทุกความคิดเห็นนะครับ
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 56