ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingรับค่าจากฟอร์ม หรือ checkbox เข้ามาในคำสั่ง MySQL นี้ จะเขียนอย่างไรครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: รับค่าจากฟอร์ม หรือ checkbox เข้ามาในคำสั่ง MySQL นี้ จะเขียนอย่างไรครับ  (อ่าน 838 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Fallen
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 162
ออฟไลน์ ออฟไลน์

กระทู้: 2,751



ดูรายละเอียด เว็บไซต์
« เมื่อ: 20 พฤษภาคม 2017, 16:59:37 »

ถ้าเราจะรับค่าจากฟอร์ม หรือ checkbox
เข้ามาในคำสั่ง MySQL นี้ จะเขียนอย่างไรครับ  Tongue


โค๊ด:
$result = mysql_query("SELECT * FROM database_name WHERE field1 LIKE [color=red]'%keyword1%'[/color] AND field2 LIKE [color=red]'%keyword2%'[/color] ORDER BY id DESC");
บันทึกการเข้า

smapan
Global Moderator
เจ้าพ่อบอร์ดเสียว
*****

พลังน้ำใจ: 643
ออฟไลน์ ออฟไลน์

กระทู้: 8,272



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 20 พฤษภาคม 2017, 21:01:23 »

HTML จะต่อตรงกับ MySQL ไม่ได้ครับ
ต้องมีตัวกลางเชื่อม เช่น php, jsp, asp.net

ปล.คำถามเดิมๆแต่แปลมาให้อ่านนะครับไม่ได้คิดเอาเอง

http://stackoverflow.com/quest...t-html-pages-to-mysql-database
บันทึกการเข้า

จูมล่าโฮส สยามโฮสเว็บ modty.com
รวมที่พัก เช่ารายวัน ที่พักเช่ารายเดือนมากที่สุดแจ่มจริง
***Tel 083-757-1515 ติดปัญหา Joomla ตรงไหนรับปรึกษาฟรี โทรมาเถอะครับ ถ้าตอบได้ช่วยแน่นอน ไม่มีกั้ก. ***
rapiz
Newbie
*

พลังน้ำใจ: 13
ออฟไลน์ ออฟไลน์

กระทู้: 81



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 21 พฤษภาคม 2017, 23:35:59 »

ควรจะเลิกใช้ mysql_* ได้แล้วนะครับ เพราะ php เลิก support ไปแล้ว

แนะนำให้ใช้ mysqli วิธีข้างล่างจะป้องกัน mysql injection ไปในตัว

โค๊ด:
$mysql = new mysqli($CONFIG['DB_HOST'],$CONFIG['DB_USER'],$CONFIG['DB_PWD'],$CONFIG['DB_NAME']) or die(mysqli_error());	
$stm = $mysql->prepare("SELECT * FROM testtable WHERE a = ?, b = ?");
$stm->bind_param('ii', $_POST['val1'] , $_POST['val2'] );
$stm->execute();
« แก้ไขครั้งสุดท้าย: 21 พฤษภาคม 2017, 23:37:02 โดย rapiz » บันทึกการเข้า

Web Hosting,Reseller Hosting ราคาถูกเริ่มต้นแค่ 200฿ ต่อปีเท่านั้น!
VPS Linux, Windows (*ฟรี Direct Admin*) เริ่มต้นแค่ 700฿ ต่อเดือนเท่านั้น
รับเขียน Application บน Windows, Linux ด้วยทีมงานมืออาชีพ!!
สนใจ สมัครบริการด้านบน http://www.rapizhost.com
ติดต่อ 091-7733660 (24ชม.) Line ID : @rapizhost
sunwu
สมุนแก๊งเสียว
*

พลังน้ำใจ: 17
ออฟไลน์ ออฟไลน์

กระทู้: 735



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 21 พฤษภาคม 2017, 23:36:50 »

เก็บข้อมูลดีๆ  wanwan017
บันทึกการเข้า

ตรวจหวยออนไลน์ตรวจหวยออนไลน์
ตรวจหวยย้อนหลังตรวจหวย
ทำนายเบอร์ทำนายเบอร์
ดูดวงออนไลน์ดูดวง
เลขเด็ดเลขเด็ด
Fallen
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 162
ออฟไลน์ ออฟไลน์

กระทู้: 2,751



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 22 พฤษภาคม 2017, 12:21:39 »

ขอบคุณท่าน smapan และขอบคุณ ท่าน rapiz (แค่เขียน mysql ปกติ ผมก็จะไปไม่รู้จะรอดไหมเลย อิอิ)

อันนี้เป็นโค๊ดเดิมค้นหาจาก ฟอร์ม 1 keyword ใช้ ไฟล์เดียว ไม่ส่งค่าไปไฟล์อื่น

โค๊ด:
<?php
    $db 
mysqli_connect('localhost','user','pw','database_name');
?>


<form action="" method="post">  
<input name="txt_search" type="text" value="<?=$_POST['txt_search']?>" />
<input name="Search" type="submit" value="ค้นหา" />
</form>

<table>
  <tr>
    <td><b>ID</b></td>
<td><b>ขนาด</b></td>
    <td><b>ราคา</b></td>
  </tr>
<?php
$sql_show 
"select * from table_name";

//  สร้าง code ค้นหา , ให้เพิ่มไปใน $sql รับค่า จาก form
if($_POST['submit'])
{
$txt_search1 $_POST['txt_search'];
$sql_show.=" where ขนาด like '%$txt_search%'";
}
$result_show mysql_query($sql_show) or die(mysql_error());
while(
$dbarr mysql_fetch_array($result_show))
{
?>


<tr>
<td><?=$dbarr['id']?></td>
<td><?=$dbarr['ขนาด']?></td>
<td><?=$dbarr['ราคา']?></td>
</tr>
<?
}
?>
</table>



ทีนี้ผมอยากจะให้มันค้นหาได้ 2 key โดยอาจเชื่อมด้วย and แต่เขียนไม่เป็น
อยากให้มัน ค้นคำใน "ขนาด" และ "ราคา" แล้วแสดงผลออกมา

ผมคิดว่าต้องเพิ่มฟอร์ม เป็น

<form action="" method="post">  
<input name="txt_search" type="text" value="<?=$_POST['txt_search']?>" />
<input name="txt_search1" type="text" value="<?=$_POST['txt_search1']?>" />
<input name="Search" type="submit" value="ค้นหา" />
</form>

แล้วเวลา submit มันจะไป...

$txt_search = $_POST['txt_search'];
$txt_search1 = $_POST['txt_search1'];
$result = mysql_query("SELECT * FROM database_name WHERE ขนาด LIKE '%txt_search%' AND ราคา LIKE '%txt_search1%' ORDER BY id DESC");


ประมาณนี้จะทำอย่างไรครับ
« แก้ไขครั้งสุดท้าย: 22 พฤษภาคม 2017, 12:25:28 โดย Fallen » บันทึกการเข้า

Fallen
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 162
ออฟไลน์ ออฟไลน์

กระทู้: 2,751



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 22 พฤษภาคม 2017, 12:39:23 »

ทำได้แล้ว
โค๊ด:
$txt_search = $_POST['txt_search'];
$txt_search1 = $_POST['txt_search1'];
$txt_search2 = $_POST['txt_search2'];
$sql_show.=" where F0 like '%$txt_search%' AND F1 like '%$txt_search1%' AND F2 like '%$txt_search2%'";
« แก้ไขครั้งสุดท้าย: 22 พฤษภาคม 2017, 15:07:28 โดย Fallen » บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์