php ขอคำแนะนำเกี่ยวกับการอัพเดทสเตตัสหน่อยค่ะ เช่นข้อมูลจะยูในรูแบบตารางแล้วให้ขึ้นข้อมูลว่า ห้องนี้ว่างหรือไม่ว่างค่ะ
คุ้น ๆ ว่าเคยถามในกระทู้ก่อนหน้านี้ไปแล้วนี่ครับ
Date :
2015-01-07 13:21:09
By :
mr.win
ค่ะ
ถ้าต้องการให้ข้อมูลออกจากตารางเมื่อกด"ว่าง" แต่ข้อมูลก้อยังอยู่ในฐานข้อมูลเหมือนเดิม
รบกวนช่วยบอกหน่อยค่ะ
Date :
2015-01-07 14:14:41
By :
นาok
รบกวนหน่อยนะค่ะ
Date :
2015-01-07 14:16:03
By :
นาok
เอาโค๊ดมาดูเถอะครับ ทำถึงไหนแล้ว
Date :
2015-01-07 14:24:23
By :
แค่ล้อเล่น
การอัพเดท status นั้นได้แล้วค่ะ แต่ต้องการให้ข้อมูลหายไปเมื่อกด "คืน" ค่ะ แล้วมันต้องเกี่ยวกับการดึงข้อมูลมาค่ะ ว่าฟิลด์นี้มีจะดึงเฉพาะ ข้อมูลที่มี เลข 0 อย่างเดียว งง ไมค่ะ
Code (PHP)
<?
$sql_show = "select * from book2 ";//การดึงเข้ามาจากฐานข้อมูล
if($_POST['Search'])
{
$txt_search = $_POST['txt_search'];
$sql_show.=" where yc_idr like '%$txt_search%' or yc_namer like '%$txt_search%' ";//การค้นหาข้อมูล
}
$result_show = mysql_query($sql_show) or die(mysql_error());
while($row_show = mysql_fetch_array($result_show))
{
?>
Date :
2015-01-07 14:37:00
By :
นาok
แบบนี้ค่ะ
จะให้ช่องที่ขึ้นเลข 0 กับ 1 ถ้าต้องการให้ขึ้นเฉพาะที่มีเลข 0 อย่างเดียว จะต้องเขียนโค้ดอะไรเพิ่มไปค่ะ
Date :
2015-01-07 14:43:53
By :
นาok
โชว์เฉพาะที่ status = 0 ใช่ใหม ในส่วนของ where เพิ่ม and status = '0'
<?php
$sql_show = "select * from book2 ";//การดึงเข้ามาจากฐานข้อมูล
if($_POST['Search'])
{
$txt_search = $_POST['txt_search'];
$sql_show .= " where yc_idr like '%$txt_search%' or yc_namer like '%$txt_search%' and status = '0' ";//การค้นหาข้อมูล
}
$result_show = mysql_query($sql_show) or die(mysql_error());
while($row_show = mysql_fetch_array($result_show))
{
?>
Date :
2015-01-07 14:45:15
By :
แค่ล้อเล่น
while($row_show = mysql_fetch_array($result_show))
{ If (staatus=='') {
echo ....
}
}
น่าจะประมาณนี่ครับ
Date :
2015-01-07 14:46:45
By :
chanut1985
Code (PHP)
Code (PHP)
[php]<?php
$sql_show = "SELECT * FROM book2 ";
if(isset($_POST['Search']))
{
$sql_show .= " WHERE yc_idr LIKE '%".$_POST['txt_search']."%' OR yc_namer LIKE '%".$_POST['txt_search']."%' ";
}else{
$sql_show .= " WHERE status = '0' ";
}
$result_show = mysql_query($sql_show) or die(mysql_error());
while($row_show = mysql_fetch_array($result_show))
{
?>
[/php]
Date :
2015-01-07 15:13:03
By :
แค่ล้อเล่น
แล้วถ้าอยากให้ 0 แสดงเป็น "ว่าง" , 1 แสดงเป็น "ไม่ว่าง"
Code (PHP)
<?php if($row_show['status'] == 0){ echo 'ว่าง'; }else{ echo 'ไม่ว่าง'; } ?>
Date :
2015-01-07 15:19:39
By :
แค่ล้อเล่น
By : แค่ล้อเล่น
เลข 1 ก้อยังขึ้นอยู่อีกค่ะ
Date :
2015-01-07 15:26:21
By :
นาok
By : แค่ล้อเล่น
มันต้องกำหนด ชื่อ ฟิลด์ กันไหมค่ะ แล้วก้อสั่งให้ขึ้นเฉพาะ เลข 0 เท่านั้น ไหมค่ะ
Date :
2015-01-07 15:28:28
By :
นาok
ฐานข้อมูลค่ะ
Date :
2015-01-07 15:33:24
By :
นาok
แก้ไขแล้ว
แต่ก็ยังขึ้นอยู่อีกค่ะ
Code (PHP)
$sql_show = "SELECT * FROM book2 ";
if(isset($_POST['Search']))
{
$sql_show .= " WHERE yc_idr LIKE '%".$_POST['txt_search']."%' OR yc_namer LIKE '%".$_POST['txt_search']."%' ";
}else{
$sql_show .= "WHERE yc_status = '0' ";
}
$result_show = mysql_query($sql_show) or die(mysql_error());
while($row_show = mysql_fetch_array($result_show))
{
Date :
2015-01-07 15:36:36
By :
นาok
คือว่า ทำการคืนหนังสือค่ะ ตารางเดียวกันค่ะ
ขอโทดทีนะค่ะ ถ้าทำอะไรผิด ช่วยแนะนำได้ค่ะ แบบนี้แหละค่ะ มือใหม่หัดทำค่ะ
Date :
2015-01-07 15:41:27
By :
นาok
ทำทั้ง 2 ค่ะ แต่รูปแบบมันจะเหมือนเลยค่ะ ห้องยังไม่ถึงไหนทีค่ะ แต่หนังสือได้มากกว่าค่ะ ขอโทดค่ะที่ทำให้สับสนค่ะ
Date :
2015-01-07 15:43:12
By :
นาok
ถ้ามันอยู่ตารางเดียวกัน
สมาชิก 1 คนก็ยืมได้เล่มเดียวสิครับ
หรือคิดว่าจะใส่ชื่อเดิมๆ ซ้ำๆ มันก็เกิดความซ้ำซ้อนครับ
ต้องไปดูเรื่องดาต้าเบสใหม่แล้วครับ ขืนทำต่อไป เจอปัญหาแน่นอนครับ
Date :
2015-01-07 15:46:31
By :
แค่ล้อเล่น
Code (PHP)
<?
$sql_show = "select * from book2 ";//การดึงเข้ามาจากฐานข้อมูล
if($_POST['Search'])
{
$txt_search = $_POST['txt_search'];
$sql_show.=" where yc_idr like '%$txt_search%' or yc_namer like '%$txt_search%' ";//การค้นหาข้อมูล
}
$result_show = mysql_query($sql_show) or die(mysql_error());
while($row_show = mysql_fetch_array($result_show))
{ if ($row_show[yc_status]=='0']){
echo $row_show[yc_namer]
}
}
?>
น่าจะประมารนี้ครับ
Date :
2015-01-07 15:54:30
By :
chanut1985
ลองดูรับ
Date :
2015-01-07 16:32:26
By :
แค่ล้อเล่น
อันบนผิดนิดหน่อย
Date :
2015-01-07 16:45:44
By :
แค่ล้อเล่น
Database
--
-- โครงสร้างตาราง `books`
--
CREATE TABLE `books` (
`b_id` varchar(10) NOT NULL,
`b_name` varchar(100) NOT NULL,
PRIMARY KEY (`b_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- dump ตาราง `books`
--
INSERT INTO `books` VALUES ('B001', 'PHP');
INSERT INTO `books` VALUES ('B002', 'SQL');
INSERT INTO `books` VALUES ('B003', 'HTML');
INSERT INTO `books` VALUES ('B004', 'JQUERY');
INSERT INTO `books` VALUES ('B005', 'AJAX');
-- --------------------------------------------------------
--
-- โครงสร้างตาราง `customers`
--
CREATE TABLE `customers` (
`c_id` varchar(10) NOT NULL,
`c_name` varchar(100) NOT NULL,
PRIMARY KEY (`c_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- dump ตาราง `customers`
--
INSERT INTO `customers` VALUES ('C001', 'นาย ก');
INSERT INTO `customers` VALUES ('C002', 'นาย ข');
INSERT INTO `customers` VALUES ('C003', 'นาย ค');
-- --------------------------------------------------------
--
-- โครงสร้างตาราง `permits`
--
CREATE TABLE `permits` (
`p_id` varchar(10) NOT NULL,
`c_id` varchar(10) NOT NULL,
`b_id` varchar(10) NOT NULL,
`p_borrow` date NOT NULL,
`p_return` date NOT NULL,
`p_status` char(1) NOT NULL,
PRIMARY KEY (`p_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- dump ตาราง `permits`
--
INSERT INTO `permits` VALUES ('P001', 'C001', 'B002', '2015-01-01', '2015-01-05', '0');
INSERT INTO `permits` VALUES ('P002', 'C001', 'B003', '2015-01-01', '2015-01-05', '1');
INSERT INTO `permits` VALUES ('P003', 'C002', 'B001', '2015-01-06', '2015-01-12', '1');
INSERT INTO `permits` VALUES ('P004', 'C003', 'B002', '2015-01-06', '2015-01-12', '0');
INSERT INTO `permits` VALUES ('P005', 'C003', 'B004', '2015-01-06', '2015-01-12', '0');
INSERT INTO `permits` VALUES ('P006', 'C003', 'B005', '2015-01-06', '2015-01-12', '1');
Code (PHP)
<?php
$objConnect = mysql_connect("localhost","root","root") or die (mysql_error());
$objDB = mysql_select_db("room") or die("Error Connect to Database");
mysql_query("SET NAMES UTF8");
// เปลี่ยนสถานะ
if($_GET['Action'] == 'Update'){
if($_GET['p_status'] == '0'){ $status = '1'; }else{ $status = '0'; }
$upSQL = " UPDATE permits SET p_status = '$status' WHERE p_id = '".$_GET['p_id']."' ";
$upQuery = mysql_query($upSQL);
echo "<script>window.location='".$_SERVER['PHP_SELF']."';</script>";
exit();
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<form name="Search" method="get" action="<?=$_SERVER['PHP_SELF'];?>">
<table>
<tr>
<td>กรุณาใส่รหัสสมาชิกหรือชื่อสมาชิก :
<input type="text" name="txtSearch" value="<?=$_GET['txtSearch'];?>"/>
<input type="submit" name="btnSubmit" value="ค้นหา"/>
<input type="button" name="btnBorrow" value="แสดงที่ยังไม่คืน" onClick="window.location.href='<?=$_SERVER['PHP_SELF'];?>?Action=Borrow'"/>
<input type="button" name="btnReturn" value="แสดงที่คืนแล้ว" onClick="window.location.href='<?=$_SERVER['PHP_SELF'];?>?Action=Return'"/>
<input type="button" name="btnAll" value="แสดงทั้งหมด" onClick="window.location.href='<?=$_SERVER['PHP_SELF'];?>?Action=All'"/>
</td>
</tr>
</table>
</form>
<table width="100%" border="1" cellpadding="1" cellspacing="0">
<tr>
<th width="10%">ลำดับ</th>
<th width="10%">รหัสสมาชิก</th>
<th width="10%">ชื่อสมาชิก</th>
<th width="10%">รหัสหนังสือ</th>
<th width="10%">ชื่อหนังสือ</th>
<th width="15%">วันที่ยืม</th>
<th width="15%">วันที่คืน</th>
<th width="10%">สถานะ</th>
<th width="10%">คืนหนังสือ</th>
</tr>
<?php
$Num = 0;
$strSQL = " SELECT * FROM permits";
$strSQL .= " LEFT JOIN customers ON permits.c_id = customers.c_id";
$strSQL .= " LEFT JOIN books ON permits.b_id = books.b_id";
if(isset($_GET['btnSubmit']) && $_GET['txtSearch'] != ""){
$strSQL .= " WHERE (customers.c_id LIKE '%".$_GET['txtSearch']."%') OR (customers.c_name LIKE '%".$_GET['txtSearch']."%') ";
}else if($_GET['Action'] == 'Borrow' || empty($_GET['Action'])){
$strSQL .= " WHERE p_status = '0' ";
}else if($_GET['Action'] == 'Return'){
$strSQL .= " WHERE p_status = '1' ";
}
$objQuery = mysql_query($strSQL);
if(mysql_num_rows($objQuery) > 0){
while($objResult = mysql_fetch_array($objQuery)){
$Num++;
?>
<tr>
<td><?=$Num;?></td>
<td><?=$objResult['c_id'];?></td>
<td><?=$objResult['c_name'];?></td>
<td><?=$objResult['b_id'];?></td>
<td><?=$objResult['b_name'];?></td>
<td><?=$objResult['p_borrow'];?></td>
<td><?=$objResult['p_return'];?></td>
<td><?php if($objResult['p_status'] == '0'){ echo 'ยังไม่คืน'; }else{ echo 'คืนแล้ว'; } ?></td>
<td><a href="<?=$_SERVER['PHP_SELF'];?>?Action=Update&p_id=<?=$objResult['p_id'];?>&p_status=<?=$objResult['p_status'];?>">คืน</a></td>
</tr>
<?php } }else{ ?>
<tr align="center">
<td colspan="9">ไม่พบข้อมูล</td>
</tr>
<?php } ?>
</table>
</body>
</html>
Date :
2015-01-08 14:08:33
By :
แค่ล้อเล่น
ไหนบอกไม่เกี่ยวกับการค้นหาหว่า เพิ่ม AND WHERE p_status = '0'
ข้อเสีย : ถ้าเรา Search นาย ก เราก็จะไม่รู้ว่าหนังสือที่เค้าคืนมาแล้วมีเล่มใหนบ้าง จะเห็นเฉพาะที่ยังไม่คืน
* ถ้าจะทำให้เลือกดูได้ทั้งคืนและยืม หรือ ทั้ง 2 อย่าง ต้องเพิ่มช่องค้นหามาอีก เช่นเป็น Selectbox มาให้เลือกว่าจะดู คืนหรือยืม หรือไม่เลือกก็ได้ ก็จะแสดงทั้งหมดของนาย ก
Code (PHP)
$strSQL .= " WHERE (customers.c_id LIKE '%".$_GET['txtSearch']."%') OR (customers.c_name LIKE '%".$_GET['txtSearch']."%') AND WHERE p_status = '0' ";
Date :
2015-01-09 14:43:37
By :
sabaitip
สวัสดีค่ะ
ถ้าจะเขียนโปรแกรมห้องสมุด แล้วหน้าคืนหนังจะให้ขึ้นค่าปรับด้วย
ต้องเขียนยังไงบ้างค่ะ
Date :
2015-08-18 15:52:58
By :
นาok
Load balance : Server 02