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

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

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

VIO
PHP Newbie
PHP Newbie
Posts: 4
Joined: 25/08/2011 10:39 am

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

Post by VIO » 25/08/2011 11:09 am

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

Code: Select all

<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

Code: Select all

$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
Posts: 480
Joined: 25/01/2010 11:57 pm
Contact:

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

Post by touleg » 25/08/2011 11:45 am

ก็เช็คว่า mount และหรือ id ที่รับมามันเป็น 00 หรือป่าวถ้าเป็น 00 ก็ไปทำ select ทั้งหมด ถ้าไม่ใช่ก็ ให้ไปทำ select แบบเลือก

VIO
PHP Newbie
PHP Newbie
Posts: 4
Joined: 25/08/2011 10:39 am

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

Post by VIO » 25/08/2011 3:59 pm

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

Code: Select all

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
Posts: 480
Joined: 25/01/2010 11:57 pm
Contact:

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

Post by touleg » 25/08/2011 6:10 pm

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

Code: Select all

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

Code: Select all

$sql = "select * from $tblname where id='01' ";
แบบนี้ถึงจะได้
ก็จะเหมือนกันกับ month ที่ถ้าต้องการหา month ก็ต้องไม่มี id='00' ด้วย
มันจะใส่พร้อมกันไม่ได้ เพราะจะหาข้อมูลไม่เจอ
แต่ถ้ามันมีข้อมูลทั้งคู่ ก็จะต้องใส่เข้าไปทั้งคู่ด้วย ถ้ายิ่งมีหลายค่าที่ต้องหาก็จะเพิ่มเงื่อนไขเข้าไปด้วย เช่นมีทั้ง month และ id ไม่ใช่ 00 ก็จะต้องไปหา month และ id พร้อมกันด้วย
Last edited by touleg on 26/08/2011 11:53 am, edited 1 time in total.

VIO
PHP Newbie
PHP Newbie
Posts: 4
Joined: 25/08/2011 10:39 am

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

Post by VIO » 26/08/2011 8:53 am

ขอบคุณมากๆ เลยคับ ได้แนวคิดหลายอย่าง มากๆ เลย :)

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 23716
Joined: 22/09/2008 6:18 pm
Contact:

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

Post by mindphp » 26/08/2011 11:50 am

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
Posts: 4
Joined: 25/08/2011 10:39 am

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

Post by VIO » 27/08/2011 11:15 am

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

Code: Select all

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";
}
..
.
แล้วก็ใช้ให้ครบทุกเงื่อนไข คือเงื่อนไขมันค่อนข้างเยอะ ผมยังเขียนไม่เก่งต้องศึกษาอีกมาก
ขอบคุณทุกความคิดเห็นนะครับ

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - PHP”

Who is online

Users browsing this forum: Google Adsense [Bot] and 55 guests