Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ช่วยดูหน่อยครับ ทำไมข้อมูลมันออกมาหมด ไม่ออกมาตามเงื่อนไขที่คิวลี่ออกมา มันผิดตรงไหนครับ รบกวนด้วยครับ



 

ช่วยดูหน่อยครับ ทำไมข้อมูลมันออกมาหมด ไม่ออกมาตามเงื่อนไขที่คิวลี่ออกมา มันผิดตรงไหนครับ รบกวนด้วยครับ

 



Topic : 069147



โพสกระทู้ ( 345 )
บทความ ( 0 )



สถานะออฟไลน์




Code (PHP)
<? 
					
					$a = $_POST['a'];
					$b = $_POST['b'];
					$c = $_POST['c'];
				    $c2 = $_POST['c2'];
					
					$strSQL = "SELECT * FROM tbldorm where dorm_price >= '$c' or dorm_price <= '$c2' or dorm_dormitory = '$a'  or dorm_rent = '$b' order by dorm_id+1 asc";
					$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
					$num = mysql_num_rows($objQuery);
					if($num > 0 ) {
					while($objResult = mysql_fetch_array($objQuery))
					{
				

?>




Tag : PHP, MySQL









ประวัติการแก้ไข
2011-11-15 21:00:10
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-11-15 20:59:38 By : buraratn View : 928 Reply : 8
 

 

No. 1



โพสกระทู้ ( 347 )
บทความ ( 0 )



สถานะออฟไลน์


ลองจับมันแยกออกเป็นสัก 2-3 คำสั่งไหม ผมก็เคยเรียกข้อมูลหลายเงื่อนไขแบบนี้แหละ มันก็ทำงานแบบมั่วน่ะ ก็จับแยกออกให้คำส่ังนึ่งมีซัก 1-2 เงื่อนไขพอ มันก็ทำงานตามที่ต้องการน่ะ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-15 21:09:12 By : ozma
 


 

No. 2



โพสกระทู้ ( 345 )
บทความ ( 0 )



สถานะออฟไลน์


แยกยังไงหรอครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-15 21:41:22 By : buraratn
 

 

No. 3



โพสกระทู้ ( 347 )
บทความ ( 0 )



สถานะออฟไลน์


Code (PHP)
$a = $_POST['a'];
$b = $_POST['b'];
$c = $_POST['c'];
$c2 = $_POST['c2'];
if($c or $b){
$query=mysql_query("SELECT * FROM tbldorm where dorm_price >= '$c' or dorm_rent = '$b' ");
}
else if($a or $c2){
$query=mysql_query("SELECT * FROM tbldorm where dorm_dormitory = '$a' or dorm_price <= '$c2' ");
}

$num = mysql_num_rows($query);
if($num > 0 ) {
while($objResult = mysql_fetch_array($query))
{				
}
}


ผมก็ใช้วิธีนี้แหละ เวลาที่มีเงื่อนไขเยอะ บางทีเขียนคำสั่งเดียวหลายเงื่อนไข ไล่เงื้อนไขไปมาก็งงเอง
แต่คำสั่งของคุณน่ะ ของเอาไปรันใน phpmyadmin ดูก่อน เท่าที่ดูมันนะ ฟิลด์ที่ใช้เช็คเงื่อนไขมันก็คนละฟิลด์ก็ไม่น่ามีปัญหาเรื่องค่าในฟิลด์
แต่ก็อาจจะมีปัญหาตรงฟิลด์ dorm_price ตรงเงื่อนไข c กับ c2 มั้งนะเพราะมันฟิลด์เดียวกัน อาจเกี่ยวกับค่าในฟิลด์ ก็ลองดูก่อนนะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-16 00:22:05 By : ozma
 


 

No. 4



โพสกระทู้ ( 1,463 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Blogger

ปกติเงื่อนไขในการค้นหามักจะใช้ and มากกว่าครับ

<?php
//...					
$a = $_POST['a'];
$b = $_POST['b'];
$c = $_POST['c'];
$c2 = $_POST['c2'];
					
$sql = "SELECT * FROM tbldorm where 1=1 ";
if (!empty($c)) $sql.="and dorm_price >= '$c' "; // มีการส่งค่าที่ไม่ว่างมาให้เพิ่มเงื่อนไขเข้าไป
if (!empty($c2)) $sql.="and dorm_price <= '$c2' ";
if (!empty($a)) $sql.="and dorm_dormitory = '$a' ";
if (!empty($b)) $sql.="and dorm_rent = '$b' ";
$sql .= "order by dorm_id asc ";

$rs = mysql_query($sql) or die (htmlspecailchars($sql));
$num_rows = mysql_num_rows($rs);
if($num_rows > 0 ) {
   while($r = mysql_fetch_array($sql)){
       //...
   }
}

?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-16 00:41:07 By : num
 


 

No. 5



โพสกระทู้ ( 345 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณมากครับ ทั้งสองแบบ Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\full\search_dorm2.php on line 138 คือบรรทัดที่13ของโค้ดที่เอาลงครับ
ไม่พบข้อมูล

Code (PHP)
                       <? 
					
                                    $a = $_POST['a'];
                                    $b = $_POST['b'];
                                     $c = $_POST['c'];
                                    $c2 = $_POST['c2'];
                                                         if($c or $b){
                                     $query=mysql_query("SELECT * FROM tbldorm where dorm_price >= '$c' or dorm_rent = '$b' ");
                                                                           }
                                                        else if($a or $c2){
                                        $query=mysql_query("SELECT * FROM tbldorm where dorm_dormitory = '$a' or dorm_price <= '$c2' ");
                                                                      }
                                        $num = mysql_num_rows($query);
                                                         if($num > 0 ) {
                                        while($objResult = mysql_fetch_array($query))
                                                                         {				

?>



ประวัติการแก้ไข
2011-11-16 12:48:51
2011-11-16 12:55:12
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-16 12:47:34 By : buraratn
 


 

No. 6



โพสกระทู้ ( 345 )
บทความ ( 0 )



สถานะออฟไลน์


โค้ดเต็มครับ จะมี else ที่บรรทัด 170 ด้วยครับCode (PHP)
<?php
$options = $_GET['options'];
session_start() ;
include("config.inc.php") ;
?>
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<title>ระบบค้นหาหอพัก</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="css/style.css">
<style type="text/css">
body {margin-right:0px;margin-left: 0px;margin-top:0px;margin-bottom:0px;}
#map_canvas {   
    width:400px;  
    height:400px;  
    margin:auto;  
    margin-top:20px;  
}  
</style>
<script language="javascript" src="js/jquery-1.5.1.min.js"></script>
<script type="text/javascript">
$(function(){
	function drag_me(name){
		$(name).css({
			position:"absolute",
			cursor:"move"
		});
		$(name).mousedown(function(event){
			var locateX=event.pageX;
			var locateY=event.pageY;	
			var obj_locateX=$(this).offset().left;
			var obj_locateY=$(this).offset().top;		
			var diff_x=locateX-obj_locateX;	
			var diff_y=locateY-obj_locateY;			
			$(this).css("opacity",0.3).mousemove(function(event){
				locateX=event.pageX;
				locateY=event.pageY;	
				obj_locateX=$(this).offset().left;
				obj_locateY=$(this).offset().top;				
				new_locateX=locateX-diff_x;;		
				new_locateY=locateY-diff_y;							
				$(this).css({
					left:new_locateX,
					top:new_locateY
				}).bind("mouseup mouseout",function(){		
					$(this).css("opacity",1);
					$(this).unbind("mousemove");		
				});					
			});
		});
	}	
	
// การใช้งาน กำหนด selector วัตถุที่ต้องการ
// ในตัวอย่างคือ div ที่มี id เท่ากับ myblock			
drag_me("div#myblock");
});
</script>

<style type="text/css">
<!--
.style13 {font-size: small}
.text1 {	color: #666;
	font-size: x-small;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: normal;
}
.style15 {
	font-size: medium;
	font-weight: bold;
}
-->
#map_canvas {   
    width:600px;  
    height:600px;  
    margin:auto;  
    margin-top:10px;  
}  
.style19 {color: #000000}
</style>
</head>
<body onLoad="pageLoad();">
<div align="center">
<table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%">
  <tbody><tr>
    <td align="center" valign="top"><table width="1000" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td bgcolor="#FFFFFF"><? include 'logo.php'; ?>&nbsp;</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFFF"><? include 'menu.php'; ?></td>
      </tr>
    </table>
      <table width="1000" border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <td valign="top" bgcolor="#FFFFFF"><center><table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td width="1%" align="left" valign="top">&nbsp;</td>
              <td width="44%" align="left" valign="top"><table width="96%" border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td><? switch($options)
			{
			default:
			{
			?></td>
                  </tr>
                </table>
                  
  <div>
  <b class="spiffy">
  <b class="spiffy1"><b></b></b>
  <b class="spiffy2"><b></b></b>
  <b class="spiffy3"></b>
  <b class="spiffy4"></b>
  <b class="spiffy5"></b></b>
  
  
  
  <div class="spiffyfg">
               <center> <table width="98%" border="0" cellpadding="0" cellspacing="0">
                    <tr>
                      <td>&nbsp;</td>
                      <td><span class="style15">แสดงรายการค้นหา</span></td>
                    </tr>
                    <tr>
                      <td><p class="CurPage style13">&nbsp;</p>                        </td>
                      <td><p class="CurPage style13">
                        <? 
					
                                    $a = $_POST['a'];
                                    $b = $_POST['b'];
                                     $c = $_POST['c'];
                                    $c2 = $_POST['c2'];
                                                         if($c or $b){
                                     $query=mysql_query("SELECT * FROM tbldorm where dorm_price >= '$c' or dorm_rent = '$b' ");
                                                                           }
                                                        else if($a or $c2){
                                        $query=mysql_query("SELECT * FROM tbldorm where dorm_dormitory = '$a' or dorm_price <= '$c2' ");
                                                                      }
                                        $num = mysql_num_rows($query);
                                                         if($num > 0 ) {
                                        while($objResult = mysql_fetch_array($query))
                                                                         {				

?>
                          <br />
                        </p>
                        <center>
                        <table width="95%" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#FFFFFF">
                          <tr>
                            <td width="47%" bgcolor="#66CC33"><div align="center" class="style19 style13 style10 style11">
                              <div align="left"><strong>ชื่อหอพัก</strong></div>
                            </div></td>
                            <td width="53%" bgcolor="#66CC33"><div align="center" class="style13 style19 style11">
                              <div align="left"><strong>รายละเอียด</strong></div>
                            </div></td>
                          </tr>
                          <tr onMouseOver="this.className='menu-over'" onMouseOut="this.className='menu'" class="menu">
                            <td valign="top"><div align="center" class="style13">
                              <div align="left"><span class="link style10"><? echo $objResult['dorm_name']; ?></span><br>
                                <br>
                                <a href="dorm_detail.php?id=<? echo $objResult['dorm_id'];  ?>"><img src="img/icon_detail.th.gif" width="61" height="15" border="0"></a></div>
                            </div></td>
                            <td valign="top"><div align="left"><span class="link style10 style13"><? echo $objResult['dorm_about']; ?><br>
                              <br>
                              ระยะห่างจากมหาวิทยาลัย <? echo $objResult['dorm_km']; ?> Km.</span></div></td>
                          </tr>
                        </table>
                        <p class="CurPage style13"><br />
                            <span class="link">
                            <? 
							 } } else 
							
							{
							?> ไม่พบข้อมูล <?   } ?>
                            </span></p>
                        <p class="CurPage style13">&nbsp;</p>
                        </td>
                    </tr>
                  </table>
                  
                </div>
                   
                   
 <b class="spiffy">
  <b class="spiffy5"></b>
  <b class="spiffy4"></b>
  <b class="spiffy3"></b>
  <b class="spiffy2"><b></b></b>
  <b class="spiffy1"><b></b></b></b>
 </div>  
               </td>
              <td width="55%" valign="top"> <div id="map_canvas"></div>  

<script type="text/javascript">  
var map; // กำหนดตัวแปร map ไว้ด้านนอกฟังก์ชัน เพื่อให้สามารถเรียกใช้งาน จากส่วนอื่นได้  
var GGM; // กำหนดตัวแปร GGM ไว้เก็บ google.maps Object จะได้เรียกใช้งานได้ง่ายขึ้น  
function initialize() { // ฟังก์ชันแสดงแผนที่  
    GGM=new Object(google.maps); // เก็บตัวแปร google.maps Object ไว้ในตัวแปร GGM  
    // กำหนดจุดเริ่มต้นของแผนที่  
    var my_Latlng  = new GGM.LatLng(14.85467,103.48357);  
    // กำหนด DOM object ที่จะเอาแผนที่ไปแสดง ที่นี้คือ div id=map_canvas  
    var my_DivObj=$("#map_canvas")[0];   
    // กำหนด Option ของแผนที่  
    var myOptions = {  
        zoom: 14, // กำหนดขนาดการ zoom  
        center: my_Latlng , // กำหนดจุดกึ่งกลาง  
        mapTypeId:GGM.MapTypeId.ROADMAP, // กำหนดรูปแบบแผนที่  
        mapTypeControlOptions:{ // การจัดรูปแบบส่วนควบคุมประเภทแผนที่  
            position:GGM.ControlPosition.TOP, // จัดตำแหน่ง  
            style:GGM.MapTypeControlStyle.DROPDOWN_MENU // จัดรูปแบบ style   
        }  
    };  
    map = new GGM.Map(my_DivObj,myOptions);// สร้างแผนที่และเก็บตัวแปรไว้ในชื่อ map  
      
    $.ajax({  
        url:"getsearch_dorm3.php?a=<? echo $a; ?>&b=<? echo $b; ?>&c=<?  echo $c; ?>", // ใช้ ajax ใน jQuery เรียกใช้ไฟล์ xml  
        dataType: "xml",  
        success:function(xml){  
            $(xml).find('marker').each(function(){ // วนลูปดึงค่าข้อมูลมาสร้าง marker  
                    var markerID=$(this).attr("id");// นำค่าต่างๆ มาเก็บไว้ในตัวแปรไว้ใช้งาน      
                    var markerName=$(this).find("name").text(); // นำค่าต่างๆ มาเก็บไว้ในตัวแปรไว้ใช้งาน      
                    var markerLat=$(this).find("latitude").text(); // นำค่าต่างๆ มาเก็บไว้ในตัวแปรไว้ใช้งาน   
                    var markerLng=$(this).find("longitude").text(); // นำค่าต่างๆ มาเก็บไว้ในตัวแปรไว้ใช้งาน              
                    var markerLatLng=new GGM.LatLng(markerLat,markerLng);  
                    var my_Marker = new GGM.Marker({ // สร้างตัว marker  
                        position:markerLatLng,  // กำหนดไว้ที่เดียวกับจุดกึ่งกลาง  
                        map: map, // กำหนดว่า marker นี้ใช้กับแผนที่ชื่อ instance ว่า map  
                        title:markerName // แสดง title เมื่อเอาเมาส์มาอยู่เหนือ  
                    });  
                //  console.log($(this).find("id").text());  
            });  
        }     
    });       
  
}  
$(function(){  
    $("<script/>", {  
      "type": "text/javascript",  
      src: "http://maps.google.com/maps/api/js?v=3.2&sensor=false&language=th&callback=initialize"  
    }).appendTo("body");      
});  
</script></td>
            </tr>
          </table>
          <p><br>
          </p>
          <center><table width="80%" border="0" align="center" cellpadding="0" cellspacing="0">
            <tr>
              <td>
                  <br></td>
            </tr>
          </table>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>
              <? 
			}
			break;
		}	
			
			?>
            </p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td><? include 'foorter.php'; ?></td>
              </tr>
            </table>            <p>&nbsp;</p></td>
        </tr>
      </table></td>
  </tr>
</tbody></table>

</div>


</body></html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-16 12:53:38 By : buraratn
 


 

No. 7



โพสกระทู้ ( 345 )
บทความ ( 0 )



สถานะออฟไลน์


แบบนี้ก็เออเลอร์ครับ บรรทัด while ($r =mysql_fetch_array($sql))Code (PHP)
$a = $_POST['a'];
$b = $_POST['b'];
$c = $_POST['c'];
$c2 = $_POST['c2'];
					
$sql = "SELECT * FROM tbldorm where 1=1 ";
if (!empty($c)) $sql.="and dorm_price >= '$c' "; // มีการส่งค่าที่ไม่ว่างมาให้เพิ่มเงื่อนไขเข้าไป
if (!empty($c2)) $sql.="and dorm_price <= '$c2' ";
if (!empty($a)) $sql.="and dorm_dormitory = '$a' ";
if (!empty($b)) $sql.="and dorm_rent = '$b' ";
$sql .= "order by dorm_id asc ";

$rs = mysql_query($sql) or die (htmlspecailchars($sql));
$num_rows = mysql_num_rows($rs);
if($num_rows > 0 ) {
  while ($r =mysql_fetch_array($sql))
   {
?>
       



ประวัติการแก้ไข
2011-11-16 17:32:13
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-16 17:31:23 By : buraratn
 


 

No. 8



โพสกระทู้ ( 347 )
บทความ ( 0 )



สถานะออฟไลน์


บรรทัด while เปลี่ยน $sql เป็น $rs
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-17 17:09:46 By : ozma
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยดูหน่อยครับ ทำไมข้อมูลมันออกมาหมด ไม่ออกมาตามเงื่อนไขที่คิวลี่ออกมา มันผิดตรงไหนครับ รบกวนด้วยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่