ดึง 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>";
}
};
?>
ปล.ถ้าไงรบกวนช่วยตอบทีนะครับผม แบบว่าผมนั่งงมกับมันนานมากมายแล้วอ่าครับ ขอบคุณครับผม
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.ใช้วิธีนับจำนวน record ที่ได้ผลลัพท์ครับ
if (mysql_num_rows($query) == 0) {
// ไม่มีผลลัพท์จาก query
} else {
while($rows=mysql_fetch_array($query)){
// ผลการค้นหา
}
}