search ดูข้อมูลในตารางไม่ได้ ช่วยดูให้หน่อยครับ.....................
$key_search = $_GET['key_search'];
มันยังไม่ได้รับค่ามาครับ ให้เชคก่อนว่าได้รับค่ามาแล้วหรือยัง
หรือจะเขียนแบบนี้ก็ได้ครับ
$key_search = !empty($_GET['key_search']) ? $_GET['key_search'] : "";
หรือจะใช้พวก isset เชคก่อนก็ได้ครับ
Date :
2018-03-24 07:56:00
By :
deawx
ผมแก้แล้วแต่ยังค้นหาไม่ได้ และ ไม่มีแจ้ง error อะไรด้วย
Code (PHP)
<?php
session_start();
include("../config.php");
?>
<html>
<head>
<meta charset="UTF-8">
<title>Local History Southern Thailand </title>
<link rel="stylesheet" href="../css/search_edit.css">
</head>
<body>
<?php
$key_search = null;
if(isset($_GET["key_search"]))
{
$key_search = $_GET["key_search"];
}
?>
<div class="div1">
<h1>ดูแบบทดสอบก่อนเรียน</h1>
</div>
<div class="div2">
<from name="f_search" method="GET" action="<?php echo $_SERVER['SCRIPT_NAME'];?>">
<input name="key_search" type="text" id="key_search" value="<?php echo $key_search;?>">
<input type="submit" value="search" class="button">
</from>
<?php
$sqli = "SELECT * FROM pretest a, chapter b, degree c
WHERE a.ct_id = b.ct_id and a.dg_id = c.dg_id and a.pre_question LIKE '%".$key_search."%'";
$result = mysqli_query($con,$sqli) or die ("Error Query [".$sqli."]");
?>
<table id="box-table">
<tr>
<th>ลำดับ</th>
<th >รหัส</th>
<th >บทเรียน</th>
<th >ระดับ</th>
<th >โจทย์</th>
<th >ตัวเลือกที่1</th>
<th >ตัวเลือกที่2</th>
<th >ตัวเลือกที่3</th>
<th >ตัวเลือกที่4</th>
<th >คำตอบ</th>
<th></th>
<th></th>
</tr>
<?php
$i=0;
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) {
$i++;
?>
<tr>
<td ><?php echo $i; ?></td>
<td ><?php echo $row["pre_id"]; ?></td>
<td ><textarea readonly name="ct_name"><?php echo $row["ct_name"] ?></textarea></td>
<td ><textarea readonly name="dg_name"><?php echo $row["dg_name"] ?></textarea></td>
<td ><textarea readonly name="quit"><?php echo $row["pre_question"];?></textarea></td>
<td ><textarea readonly name="choice1"><?php echo $row["pre_choice1"];?></textarea></td>
<td><textarea readonly name="choice2"><?php echo $row["pre_choice2"];?></textarea></td>
<td ><textarea readonly name="choice3"><?php echo $row["pre_choice3"];?></textarea></td>
<td ><textarea readonly name="choice4"><?php echo $row["pre_choice4"];?></textarea></td>
<td ><textarea readonly name="answer"><?php echo $row["pre_answer"];?></textarea></td>
<td ><a href="edit_pretest.php?pre_id=<?php echo $row["pre_id"]?>">แก้ไข</a></td>
<td > <a href ="delete_pretest.php?pre_id=<?php echo $row["pre_id"]?>" onClick='return confirm("คุณแน่ใจ ที่จะลบข้อมูล")'>ลบ</a></td>
</tr>
<?php
}
?>
</table><br>
<a href="../teacher/index_teacher.php"><input type="button" name="button" value="BACK" class="button2"></a>
</div>
<br>
<?php mysqli_close($con); ?>
</body>
</html>
Date :
2018-03-25 21:12:03
By :
tonmio852
เงื่อนไขมันไม่ได้มั้ง and .... and เยอะเกิน ลองดูเงื่อนไขดีดี
ลองเอา คิวรี่ที่ได้ ไป search ใน phpmyadmin ดูอีกรอบ
หรือทอสอบให้ค่ามันแสดงทั้งหมดแบบไม่มีเงื่อนไขดู
Date :
2018-03-26 15:46:40
By :
apisitp
เรื่องคิวรี่ผมไม่เก่งหรอก ผมทำงานทุกวันนี้ผมไม่เคยใช้การ join ตารางเลย เพราะข้อมูลมันไม่เยอะ
ฉนั้น ผมเลยช่วยอะไรไม่ได้มาก แต่ถึงบอกไง เอาค่าการคิวรี่ที่ได้ echo $sqli ออกมา ไปทดสอบรันใน phpmyadmin
ถ้าคิวรี่ถูกเอาไปทดสอบยังไง มันก็ต้องมีค่าออกมา ถ้าผิดมันจะเห็น Error ชัดเจนกว่า
เราจะได้ดูรู้ว่าเงื่อนไขที่ค้นหาจากการ join มันถูกต้องจริงไหม ถ้าคิวรี่ถูกมีข้อมูลตามต้องการ
ต้อมาก็แค่ดูว่าจะส่งค่านั้นออกมาแสดงผลอย่างไรต่อไป มันก็มีหลักการเท่านี้ครับ
Date :
2018-03-28 08:19:28
By :
apisitp
Code (PHP)
เปลี่ยน <input type="submit" value="search" class="button">
เป็น <input type="submit" value="search" id= "ok" name = "ok" class="button">
if(isset($_POST["ok"]))
{
$sqli = "SELECT * FROM pretest a, chapter b, degree c
WHERE a.ct_id = b.ct_id and a.dg_id = c.dg_id and a.pre_question LIKE '%".$key_search."%'";
$result = mysqli_query($con,$sqli) or die ("Error Query [".$sqli."]");
}
Check Where + ไปดูการ LEFT JOIN ครับ
Date :
2018-03-28 09:22:06
By :
Hararock
น่าจะติดตัวที่ 3 ครับ ตรง pre_question ถ้าเป็นผมจะลองทำดูคือ
ให้มันเช็คช่องค้นหาครับ
ถ้าช่องค้นหานั้นว่าง
ให้ทำ (แสดงข้อมูลทั้งหมด)
ถ้าไม่ใช้
ให้ทำ (แสดงข้อมูลที่อยู่ในเงื่อนไขที่ทำครับ)
ลองดูนะครับ
Date :
2018-03-28 16:37:26
By :
nobetaking
JOIN มา 3 ตาราง ประเด็นคือ เงื่อนไขของ "AND" ลงใน () กำหนดกลุ่มข้อมูลก่อนทำการเปรียบเทียบดูก่อน
ถ้ายัง Select ไม่เจอ ลองทำ Select มาทีละตาราง โดยไม่ต้อง Join ดูก่อนครับ จะได้รู้ค่าไหนมันไม่มา
Date :
2018-03-28 19:35:55
By :
dexjanghan
ค่าทุกค่า แสดงข้อมูลหมดนะครับ แต่ตอนนี้ติดปัญหาแค่ search อย่างเดียวครับ
Date :
2018-03-29 03:38:30
By :
tonmio852
ถ้าลูกค้า/อาจารย์/ผู้ใช้งานไม่ได้บังคับว่าการ search ต้องมีหน้าตาแบบนี้
ลองไปเล่น DataTable ดูครับ
ทุกท่านก็แนะนำไปแล้วว่าควรทำแบบไหนต่อ อยู่ที่จะทดสอบตามคำแนะนำหรือเปล่า
Date :
2018-03-29 08:17:58
By :
apisitp
Load balance : Server 00