ช่วยหน่อยนะครับ.. เกี่ยวกับการแสดงผลว่า "จอง"แล้ว รบกวนทีนะครับ
น่าจะมาจาก $seat ของคุณเป็นตัวแปรธรรมดา คือเก็บค่าได้ตัวเดียว คุณต้องทำให้มันเป็น array มันถึงจะเก็บค่าได้หลายๆตัวครับ เพียงแค่ใส่ [] ลงไปก็น่าจะจบนะครับ แบบนี้ ใส่ในบรรทัดที่ 5 ของคุณ
Code (PHP)
$seat[] =$row3['Number'];
เวลาเรียกใช้ก็ต้องบอกมันด้วยว่าจะเอาตัวไหน เช่น
$seat[0] // มันจะเท่ากับ D4 ของคุณ
$seat[1] // มันจะเท่ากับ B4 ของคุณ
หรือจะใส่เป็นตัวแปรไปก็ได้ เช่น
$seat[$i]
ทำลองดูครับ
Date :
2011-09-21 08:48:51
By :
grandraftz
ขอบคุณมากครับ คุณ grandraft เดี๋วยผม ลองดูอีกทีครับ
เดี๋วยยังไงมาแจ้งผลครับ
Date :
2011-09-21 08:55:09
By :
brezebub
รบกวนคุณ grandraft อีกทีครับ
แบบนี้เวลาผมจะเรียกใช้ มันผมก็ต้องกําหนดว่า จะเอาค่าไหน $seat[0] , $seat[1] แบบนี้ผมจะเอามาประยุกใช้กับการจองยังไงดีอ่ะครับ
Code (PHP)
<?
if( $seat[$i] =="A1") {
?>
<td width="80" height="40" align="center" bgcolor="#FF9900">จองแล้ว</td>
<? }else{ ?>
<td width="98" class="style1" align="center"><input type="checkbox" name="Number" value="A1" onClick="check(this)"/>A1</td>
<? }?>
รูปที่เวลา มีค่า ในฐานข้อมูลจะแสดงว่า "จองแล้ว" หนะครับ
ขอขอบคุณท่านอีกทีครับ
Date :
2011-09-21 09:14:24
By :
brezebub
แบบนี้ได้ไหมครับ วนลูปจนครบ เลข 8 ที่ตั้งไว้ ผมดูจากรูปภาพข้างบนของคุณนะครับ เวลาใช้ก็ปรับเปลี่ยนได้เลยครับ
แต่ code ที่เขียนนี่ เดาๆเอานะครับ เพราะรู้สึกว่ามันยังแปลกๆ อยู่ - -
Code (PHP)
<?
for($i=0;$i<=8;$i++)
{
if( $seat[$i] =="A1") {
?>
<td width="80" height="40" align="center" bgcolor="#FF9900">จองแล้ว</td>
<? }else{ ?>
<td width="98" class="style1" align="center"><input type="checkbox" name="Number" value="A1" onClick="check(this)"/>A1</td>
<?
}
}
?>
Date :
2011-09-21 09:32:51
By :
grandraftz
ขอบคุณครับผม ตอนแรกมีคนอื่นมาว่าควร เปลี่ยนแปลงคือ ควรเพิ่ม field ใน database เวลาคนจองแล้วก็ ให้ ไป check ใน ฐานข้อมูลว่า ที่นั่งนั่งนี้ จองแล้ว (เป็น 0,1) แต่ผม นึกไม่ออกเลยว่า ต้อง เขียน code อะไร เพิ่ม เข้าไปบ้าง ตั้งแต่ ว่าเลือกใน checkbox ว่านั่งที่ไหนแล้วให้ check เป็น 1 กับ code ที่ใช้ตรวจสอบว่า ที่นั่ง ไหนว่า หรือไม่ว่างจาก (0,1) ใน database หนะครับ
รบกวนท่านอีกแล้ว ขอบคุณที่ช่วยเหลือครับ
Date :
2011-09-21 10:46:49
By :
brezebub
เบื้องต้นเวลา draw form นี้ก็ select ออกมาก่อนว่าตรงไหนถูกจองแล้ว ก็ diable มันไป แล้วก็ไปเช็คอีกที่ต้อง submit ไปบันทึกการจองว่ามีคนจองตัดหน้าไปหรือยัง
Date :
2011-09-21 11:21:18
By :
ikikkok
อ่ะครับผม แต่ถ้าผมต้องการ.. ใช้ในรูปแบบเดิม คือให้ค่า ว่า มีค่าอยู่แล้วเช่น A1 มีอยู่ใน database แล้ว ก็จะแสดงว่าจองแล้ว หรือ B1 ไม่มีค่าอยู่ใน database ก็ให้ ขึ้นแสดงเป็น checkbox แบบนี้ จะสามารถทําได้ หรือป่าวครับ
รบกวนอีกแล้วครับ
ขอบคุณมากๆ ครับ
Date :
2011-09-21 12:42:34
By :
brezebub
select ที่นั่งที่จองแล้วมาใส่ array แล้วเวลาลูปเช็คใช้ in_array เช็คครับ ตัวอย่าง
$reserved = select มาใส่ในนี้
$a = 'A1';
if(in_array($a, $reserved)){
จองแล้ว
}else{
ยังไม่จอง
}
Date :
2011-09-21 13:18:37
By :
ikikkok
ขอบคุณมากๆๆๆ เลยครับ คุณ ปลากิม.. ผมลองทําดูนะครับ ว่าแต่ add facebook คุณไปแล้วเน้อครับ ไม่ยังไม่กล้ารบกวน ถาม
Date :
2011-09-21 13:22:26
By :
brezebub
แบบนี้ ถูกไหมหนะครับ แต่มันไม่ยอมมา หุหุ
Code (PHP)
$reserved = " SELECT Number FROM tbltourbus ";
$reserved = array();
อันนี้ใส่ใน TD ครับเพื่อแสดงผลตามที่ให้มาครับ ใส่แล้วไม่ยอมเลือกว่าจอง ยังคงขึ้นให้เลือกได้ ทุกที่อยู่เลย หุหุ
Code (PHP)
<?
$a1 = 'A1';
if(in_array($a1, $reserved))
{
?>
<td width="80" height="40" align="center" bgcolor="#FF9900">จองแล้ว</td>
<? }else{ ?>
<td width="98" class="style1" align="center"><input type="checkbox" name="Number" value="A1"
onClick="check(this)"/>A1</td>
<?
}?>
ขอบคุณมากๆๆๆอีกครั้งครับผม
ประวัติการแก้ไข 2011-09-21 15:46:28 2011-09-21 15:47:48
Date :
2011-09-21 15:45:29
By :
brezebub
รับทราบครับ No. 10 ถามและครับ อิอิ
ขอบคุณครับผม
Date :
2011-09-21 16:21:28
By :
brezebub
ใคร ที่ เคยทำเกี่ยวกับระบบ จองตั๋วช่วย ที จร้า
Date :
2011-09-21 18:33:59
By :
brezebub
รบกวน คุณ PlaKriM อีกทีนะคร๊าบ... รอคําแนะนําจากคุณ อยู่หนะครับ ตาม No.10 เลยนะครับ ^.^
ขอบคุณมากๆ!! ครับ
Date :
2011-09-21 21:24:30
By :
brezebub
ถามก่อนครับ แล้วที่นั่งนี่เก็บไว้ใน db หรือ fix ว่ามีกี่ที่นั่งเอา
Date :
2011-09-21 23:48:12
By :
ikikkok
เพิ่ม Field reserved ใน table เก็บค่าสองค่าคือ 0 กับ 1 default=0 ถ้ามีการจองก็เก็บค่า 1
Code (PHP)
$getorder = " SELECT * FROM tbltourbus ";
$resultorder = mysql_query($getorder) ;
echo "<table>";
while($row3 = mysql_fetch_array($resultorder))
{
$seat =$row3['Number'];
$reserved=$row3['reserved'];
// ให้ส่วนที่จะแสดงว่าจองแล้ว อยู่ในลูปนี้
echo "<tr><td>$seat</td>";
if ($reserved==1) {
echo "<td>จองแล้ว</td>";
} else {
echo "<td><input type=checkbox name=reserved[] value=1> <input type=hidden name=number[] value=$seat></td>";
}
echo "</tr>";
}
echo "</table>";
ประวัติการแก้ไข 2011-09-22 14:15:19 2011-09-22 14:15:52
Date :
2011-09-21 23:53:08
By :
nimporn
เรียนคุณ nimporn
รบกวนถามเพิ่มหน่อยครับ ถ้าผมทําแบบที่แนะ นําผมจะ บันทึกค่า ที่นั่งลง DB ยังไงหนะครับ แบบว่า จอง A1 ก็ให้เซพลง field ->Number ว่า A1 หนะครับ
ขอบคุณครับคุณ
nimporn
Date :
2011-09-22 10:02:48
By :
brezebub
ตั้งตารอ !! อย่างใกล้ชิด
Date :
2011-09-22 11:31:34
By :
brezebub
ไว้คืนนี้จะเขียนเป็นตัวอย่างให้ละกันครับ
Date :
2011-09-22 11:49:17
By :
ikikkok
ขอบคุณมากครับ คุณ ปลากิม
น้องใหม่ ขอ คาราวะ 1 ที
Date :
2011-09-22 13:05:48
By :
brezebub
เข้ามา เฝ้ารอ ตัวอย่างจาก คุณ ปลากิม อิอิ
Date :
2011-09-22 23:06:09
By :
brezebub
DB :
Quote: DROP TABLE IF EXISTS `demo_table`;
CREATE TABLE IF NOT EXISTS `demo_table` (
`reserved` char(2) COLLATE utf8_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
INSERT INTO `demo_table` (`reserved`) VALUES
('A1'),
('A2'),
('B1'),
('B4'),
('B3'),
('C1'),
('C2'),
('D3'),
('D4');
Code :
Code (PHP)
$host = "localhost";
$user = "root";
$pass = "root";
$db = "demo_db";
$fixed = "utf8";
$dbcon = mysql_connect($host, $user, $pass) or die(mysql_error());
mysql_select_db($db, $dbcon) or die(mysql_error());
mysql_query("set character_set_results = " . $fixed, $dbcon) or die(mysql_error());
mysql_query("set names " . $fixed, $dbcon) or die(mysql_error());
$sql="select * from demo_table;";
$result = mysql_query($sql, $dbcon) or die(mysql_error());
$reserved = array();
while($rows = mysql_fetch_assoc($result)){
array_push($reserved, $rows['reserved']);
}
$letters = str_split("ABCDEF");
foreach($letters as $letter){
for($i=1;$i<5;++$i){
echo '<br />' . $letter.$i . ' is ' . (in_array($letter.$i, $reserved)? 'reserved.' : 'available.');
}
}
ประวัติการแก้ไข 2011-09-23 06:54:20
Date :
2011-09-23 06:53:46
By :
ikikkok
ผมลองเปลี่ยนเป็นของผมแล้วหนะครับ แต่ติดปัญหาอีกอย่างเดียวครับ ไม่สามารถ ส่งค่า Value เพื่อไปใช้ในหน้าถัดไปได้หนะครับ
แต่ก็ขอบคุณ ท่าน ปลากิม มากๆครับ
Code (PHP)
<?
$host = "localhost";
$user = "root";
$pass = "123";
$db = "busdb";
$fixed = "utf8";
$dbcon = mysql_connect($host, $user, $pass) or die(mysql_error());
mysql_select_db($db, $dbcon) or die(mysql_error());
mysql_query("set character_set_results = " . $fixed, $dbcon) or die(mysql_error());
mysql_query("set names " . $fixed, $dbcon) or die(mysql_error());
$sql="select * from tbltourbus;";
$result = mysql_query($sql, $dbcon) or die(mysql_error());
?>
<form method="POST" action="repostregister_from.php">
<?
$Number = array();
while($rows = mysql_fetch_assoc($result)){
array_push($Number, $rows['Number']);
}
$letters = str_split("ABCD");
foreach($letters as $letter){
for($i=1;$i<9;++$i){
echo ' </br> ' . $letter.$i . ' is ' . (in_array($letter.$i, $Number)?
'<td width="80" height="40" align="center" bgcolor="#FF9900">จองแล้ว</td>'
:
'<td width="98" class="style1" align="center"><input type="checkbox" name="Number" value="????"
onClick="check(this)"/><input name="send" type="submit" value="ยืนยันที่นั่ง" /></td>');
}
}
?>
รูปที่ได้จากการรันครับ
ประวัติการแก้ไข 2011-09-23 11:37:29
Date :
2011-09-23 11:36:05
By :
brezebub
ไม่เห็นคุณใส่ value แล้วก็ไม่ได้ส่ง array ด้วย
Date :
2011-09-23 11:57:36
By :
ikikkok
ตรง Value ถ้าผมใส่เป็น "A1" มันก็จะส่งเป็น A1 ไปในทุก ที่นั่ง ใช่ไหมครับ เพราะมัน ฟอร์มเดียวกัน
ช่ายมะครับ เลย อยากส่งค่า $letter.$i ไปแทนหนะครับ(แต่ใส่แล้วมันเป็น string ซะงั้น) เพราะมันรันเปลี่ยนให้ตลอด
ไม่ทราบว่าผมเข้าใจถูกไหมครับ
ส่วน Array ที่คุณ ปลากิม บอกว่าผมไม่ได้ใส่ นี่ตรงไหนเหรอครับ
ขอบคุณครับผม ที่ช่วยเหลือมือใหม่อย่างผม
Date :
2011-09-23 12:08:00
By :
brezebub
ได้และครับ คุณ ปลากิม ขอบคุณท่านมากๆๆ จริงๆครับ ผมประยุคใช้กับอันเก่าได้และครับ
Date :
2011-09-23 12:46:01
By :
brezebub
Load balance : Server 05