ดึง record มาแสดงแบบ random และการ search

สวัสดีครับ คือผมมือใหม่ 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 2 1,549

1.ไม่น่าเป็นไปได้นะ ดูจาก query ที่ใช้ก็ถูกต้องดี ปัญหาอาจเกิดจากฐานข้อมูลนะ

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



$query = mysql_query($sql, $dbconnection);

if (mysql_num_rows($query) == 0) {

   // ไม่มีผลลัพท์จาก query

} else {

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

    // ผลการค้นหา

  }

}
#1

ได้แล้วครับผม ขอบคุณมากๆเลยนะครับ yes
#2
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^