สวัสดีครับ คือผมมือใหม่ php ครับผม อยากจะรบกวนช่วยชี้แนะทีนะครับผม

1.คือผมได้ดึง record จากดาต้าเบส มาแสดงแบบ random ทีละ 10 ครับ แต่ว่าปัญหาคือเวลามัน random บ้างทีก็ขึ้นมาทีละ 10 แบบทีก็ขึ้นไม่ถึง 10 ครับ ไม่ทราบว่ามันเป็นที่อะไรร๋อครับ

***หรือเป็นที่ id เวลามันเรียงมัน 1 2 3 แต่เวลาลบ 2 ออก มันก็เป็น 1 3 หรือป่าวครับ เพราะผมมีการลบออกไปครับ และจะมีวิธีแก้ยังไงร๋อครับผม




<?php

include_once("db/db.php");



$sql = "select * from $tbl_name order by rand() limit 10 ";

$query = mysql_query($sql); 



while($rows=mysql_fetch_array($query)){ 

echo $rows["id"]." ".$rows["message"].<br>"; 

}; 

?>



2.คือเวลา search ข้อมูลครับ เวลาที่ search ไปแล้วไม่เจอข้อมูล จะให้มันขึ้นโชว์ว่าไม่เจอข้อมูล นี่จะต้องมีวิธีการเขียนยังไงร๋อครับผม ถ้าไงรบกวนช่วยตอบทีนะครับผม



<form name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME'];?>">

<table width="599" border="1">

<tr>

<th>Keyword

<input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_GET["txtKeyword"];?>">

<input type="submit" value="Search"></th>

</tr>

</table>

</form>

<?php

include_once("db/db.php");



$sql = "SELECT * FROM $tbl_name WHERE (name LIKE '%".$_GET["txtKeyword"]."%' or message LIKE '%".$_GET["txtKeyword"]."%' )";

$query = mysql_query($sql);



while($rows=mysql_fetch_array($query)){ 

if($_GET["txtKeyword"] == ""){

exit ("กรุณาใส่ข้อความที่ต้องการค้นหา");

}

else{

echo $rows["id"]." ".$rows["name"]." ".$rows["message"]."<br>"; 

}

}; 

?>



ปล.ถ้าไงรบกวนช่วยตอบทีนะครับผม แบบว่าผมนั่งงมกับมันนานมากมายแล้วอ่าครับ ขอบคุณครับผม
กรกฎ วิริยะ 16 ม.ค. 2555 22:35
1.ไม่น่าเป็นไปได้นะ ดูจาก query ที่ใช้ก็ถูกต้องดี ปัญหาอาจเกิดจากฐานข้อมูลนะ

2.ใช้วิธีนับจำนวน record ที่ได้ผลลัพท์ครับ



$query = mysql_query($sql, $dbconnection);
if (mysql_num_rows($query) == 0) {
   // ไม่มีผลลัพท์จาก query
} else {
  while($rows=mysql_fetch_array($query)){
    // ผลการค้นหา
  }
}
sephiroth 17 ม.ค. 2555 00:36
ได้แล้วครับผม ขอบคุณมากๆเลยนะครับ yes