 |
Q: ส่งค่าจาก select form ไป หน้า search.php คือผมให้เสิจโดย select option ว่าจะ เสิจด้วยอะไร |
|
 |
|
|
 |
 |
|
Code (PHP)
<?php
$sql = "select * From books where $_POST[ss] like '%$keyword%' " ;
?>
ถ้าเกิดไม่มี $_POST[ss] คาดว่า error ตรงนี้ส่วนคงค่าตัวแปรเป็น GET ไปด้วยน่ะครับ
|
 |
 |
 |
 |
Date :
2009-09-11 17:02:55 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คือ ต้องเปลี่ยน จาก $_POST[ss] เป็น $_GET[ss] เหรอ ครับ
|
 |
 |
 |
 |
Date :
2009-09-11 17:28:09 |
By :
Tonton_Macoute |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าเปลี่ยนเป็น $_GET คุณก็จะต้องส่งค่ามาเป็น $_GET น่ะครับ
|
 |
 |
 |
 |
Date :
2009-09-11 17:42:28 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ที่ผมทำและใช้อยู่ อาจจะยุ่งยากนิดหน่อย คือ
isset เช็คเอา อ้ะคับ ว่าเป็น GET หรือ POST
โดยครั้งแรก ที่กดปุ่ม Search ก็เอามาแบบ POST
พอจะกดพวก เลขหน้า 1 2 3 4 .... ก็ให้รับไปเป็นแบบ GET
แต่ในส่วนของ Query นั้น เอา $_POST[ss] ออกไป
แฮะๆ
|
 |
 |
 |
 |
Date :
2009-09-11 17:48:09 |
By :
yomaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เปลี่ยนเป็น get ทั้ง ส่ง ทั้งรับ แล้ว มันก็ ขึ้น error เหมือนเดิมเลย อ่า TwT
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\book_store\search.php on line 48
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\book_store\search.php on line 67
------------------------------------------------------------
ถ้าเกิดเอาส่วนของ $_POST[ss] นี่ออกไปแล้วเราจะใช้อะไรมารับแทนอ่ะครับ เพื่อให้มันตรวจว่า
เลือก ที่จะ หา ข้อมูลด้วย ชื่อ หรือ เลข หรือ อะไร ก็ ตามที่ ได้ select option มาก่อนหน้า
ขอบคุณสำหรับคำแนะนำเรื่อย ๆครับ ค่อย ๆปรับไป ผม หัดอยู่
|
 |
 |
 |
 |
Date :
2009-09-11 17:54:30 |
By :
Tonton_Macoute |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
พอกดหน้าต่อไป ที่ เกิด error ผม ลอง echo ตรง
Code (PHP)
<?php
$sql = "select * From books where $_POST[ss] like '%$keyword%' order by title asc LIMIT $Page_start , $Per_Page";
?>
แล้วมันขึ้นว่า
select * From books where course anthor like '%a%' order by title asc LIMIT 5 , 5
ในขณะที่หน้าแรกขึ้น ที่ไม่ error
select * From books where title like '%a%' order by title asc LIMIT 0 , 5
มันเกี่ยวกะช่วง แบ่งหน้าป่ะครับ งง ๆ
|
 |
 |
 |
 |
Date :
2009-09-11 23:24:59 |
By :
Tonton_Macoute |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมสันนิษฐานว่าตัวแปร $_POST ในหน้าแรก หลังจากคลิกแล้วมันส่งมาให้
แต่พอเราคลิกไปหน้าถัดไป เราไม่ได้ส่งตัวแปรเดิมต่อป่าวครับ มันจึงมองไม่เห็น ทำให้
คิวรี่ไม่ออก ฟังก์ชันจึงมองเห็นว่าตัวแปรที่เรารับ result ไม่ใช่ประเภทที่ใช้ในการส่งค่า parameter
ในฟังก์ชัน mysql_num_rows()
|
 |
 |
 |
 |
Date :
2009-09-11 23:34:17 |
By :
เด็กชาย กอ ไก่ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตัดปัญหาโดยให้ form ใช้ method get ครับ แล้วรับค่าเป็น get หมด
|
 |
 |
 |
 |
Date :
2009-09-11 23:48:40 |
By :
plakrim |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แก้เป็น get แล้วครับ เหมือนเดิม อ่า
|
 |
 |
 |
 |
Date :
2009-09-12 00:00:07 |
By :
Tonton_Macoute |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เป็น การส่งของ from เป็น get
และส่งต่อค่า $_GET[ss] ตอนนี้ เป็น $_POST[ss] ต่อไปยังหน้า อื่น ด้วยครับ
Code (PHP)
<?php
if($Prev_Page)
echo " <a href='$PHP_SELF?Page=$Prev_Page&keyword=$keyword&ss=$_GET[ss]'><< prev </a>";
for($i=1; $i<$Num_Pages; $i++){
if($i != $Page)
echo "<a href='$PHP_SELF?Page=$i&keyword=$keyword&ss=$_GET[ss]'>$i</a>";
else
echo "<b> $i </b>";
}
if($Page!=$Num_Pages)
echo "<a href ='$PHP_SELF?Page=$Next_Page&keyword=$keyword&ss=$_GET[ss]'> next>> </a>";
?>
ลอง ดูครับ ว่าได้ไหม
|
 |
 |
 |
 |
Date :
2009-09-12 00:16:21 |
By :
nilas |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
... ขอบคุณมากครับ ทุก ๆท่าน ที่ช่วยเหลือ ผม ต้องไปนั่งอ่าน get กะ post ใหม่ดีมั้ยเนี่ยย TwT อีก 5วัน ส่ง โปรเจ็ก แล่ว ๆ
เค้ามี แนวสอนพวก shopping cart ไหมอ่าา เหลืออีก ตึม เลย ยังไม่ได้ทำ
|
 |
 |
 |
 |
Date :
2009-09-12 00:54:47 |
By :
Tonton_Macoute |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|