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

Post a reply

Smilies
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

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

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

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

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

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

month=="00"
ไม่ต้อง where แล้วก็ได้ครับ
และ $id='01'
น่าจะเขียนผิดอยู่หรือเปล่า
id='01'
หรือเปล่าครับ

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

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

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

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

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 พร้อมกันด้วย

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

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 ยังใช้ได้ไหมคับเพราะผมลองแล้วมันยังไม่ได้คำตอบที่ถูกเลยครับ :(

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

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

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

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

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:

Top