A-AA+then

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

1,486
สวัสดีครับ คือผมมือใหม่ 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>"; 
}
}; 
?>


ปล.ถ้าไงรบกวนช่วยตอบทีนะครับผม แบบว่าผมนั่งงมกับมันนานมากมายแล้วอ่าครับ ขอบคุณครับผม

2 ความคิดเห็น

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
^