|
|
|
รบกวนช่วยดูโค้ดหน่วยค่ะ คือว่าค่ามันไม่แสดงตาม textbox ที่ต้องการ |
|
|
|
|
|
|
|
Code (PHP)
<?
include('connect.php');
$spare_id = $_GET['spare_id'];
$sql="SELECT spare_id,spare_name FROM sparepart WHERE spare_id = '$spare_id'"; //ตอนแรกคุณเลือกเฉพาะ spare_name แต่ตอนที่ให้ข้อมูลแสดงคุณต้องการ spare_id ด้วย ฉนั้นจึงต้องเลือกด้วย
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");// เลือกฐานข้อมูล
$db=mysql_query($sql);
while($up = mysql_fetch_array($db)) { //แก้จาก if เป็น while ครับ
?>
<tr>
<td height="34"><div align="right">รหัสอะไหล่:</div></td>
<td align="left"><input name="ss" type="text" class="textfield" id="ss" value="<?=$up['spare_id']; ?>" size="10" /> <a href="pop_sp.php"> // ในส่วนนี้จะดึงค่าจากตัวแปรที่เราสั่ง mysql_fetch_array มาแสดงนะครับ
<img src="images/icon_search.gif" width="23" height="22" /></a></td>
<td align="left"><div align="right">รายการ:</div></td>
<td><input name="spare_name" type="text" class="textfield_n" value="<?=$up['spare_id'];?>" size="30"/></td>
</tr> // ในส่วนนี้จะดึงค่าจากตัวแปรที่เราสั่ง mysql_fetch_array มาแสดงนะครับ
<? } //วนโชค่า?>
ลองดูนะครับว่าได้รึป่าว?
เพิ่มเติมนะครับ
<? echo ........; ?> กับ <?=.......; ?> เป็นคำสั่งที่ใช้ในการแสดงผลเหมือนกัน ส่วนตัวแล้ว ผมจะใช้ <?=.......; ?> ครับ ง่ายดี ^_^
|
ประวัติการแก้ไข 2011-07-24 14:58:32 2011-07-24 16:24:24
|
|
|
|
Date :
2011-07-24 14:30:03 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คำสั่ง while() ต้องมี {} ด้วยครับ เพราะเป็นคำสั่งทำซ้ำ
Code (PHP)
while() {
.....
}
แล้วตอนนี้ระบบสามารถแสดงข้อมูลออกมาได้ยังครับ?
|
ประวัติการแก้ไข 2011-07-24 16:28:54
|
|
|
|
Date :
2011-07-24 16:23:17 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าเอาwhileออกละค่ะ มันก็ยังแสดงอยู่ ใช้while ไม่ใช้ดีต่างกันไหมค่ะ
|
|
|
|
|
Date :
2011-07-24 16:28:15 |
By :
เป๋าตุง |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก้อถ้าเราต้องการให้ข้อมูลแสดงออกมาจนกว่าจะหมด หรือว่าตามเงื่อนไขที่เราอยากให้ข้อมูลแสดง เท่าไหร่ เช่น ถ้าเราต้องการให้แสดงข้อมูลออกมา 20 รายการ เราก็กำหนดในตอน mysql_query ตัวอย่างนะ
Code (PHP)
<?PHP
include('connect.php');
$spare_id = $_GET['spare_id'];
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");// เลือกฐานข้อมูล
$sql="SELECT spare_id,spare_name FROM spareparts WHERE spare_id = '$spare_id' LIMIT 20";
$db=mysql_query($sql);
while ($up = mysql_fetch_array($db)) {
?>
<tr>
<td height="34"><div align="right">รหัสอะไหล่:</div></td>
<td align="left"><input name="ss" type="text" class="textfield" disabled="disabled" id="ss" value="<?=$up['spare_id'] ?>" size="10" /> <a href="pop_sp.php">
<img src="images/icon_search.gif" width="23" height="22" /></a></td>
<td align="left"><div align="right">รายการ:</div></td>
<td><input name="spare_name" type="text" class="textfield_n" disabled="disabled" value="<?=$up['spare_name']?>" size="30"/></td>
</tr>
<?PHP } ?>
ผลลัพธ์ก็จะแสดงออกมา 20 รายการ
แต่ถ้าต้องการให้แสดงรายการเดียว ก็ไม่ต้องกำหนดลิมิต และก็ไม่จำเป็นต้องใช้คำสั่งในการวนลูบครับ ตัวอย่างนะ
Code (PHP)
<?PHP
include('connect.php');
$spare_id = $_GET['spare_id'];
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");// เลือกฐานข้อมูล
$sql="SELECT spare_id,spare_name FROM spareparts WHERE spare_id = '$spare_id'";
$db=mysql_query($sql);
$up = mysql_fetch_array($db));
?>
<tr>
<td height="34"><div align="right">รหัสอะไหล่:</div></td>
<td align="left"><input name="ss" type="text" class="textfield" disabled="disabled" id="ss" value="<?=$up['spare_id'] ?>" size="10" /> <a href="pop_sp.php">
<img src="images/icon_search.gif" width="23" height="22" /></a></td>
<td align="left"><div align="right">รายการ:</div></td>
<td><input name="spare_name" type="text" class="textfield_n" disabled="disabled" value="<?=$up['spare_name']?>" size="30"/></td>
</tr>
พอจะเข้าใจป่าวน๊า?
|
|
|
|
|
Date :
2011-07-24 16:37:54 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อีกอย่างนะครับ ข้อควรระวังในการใช้คำสั่ง while() คือ
ถ้าใช้คำสั่ง while() แล้วเราไม่กำหนดลิมิต(limit) มันก็จะทำงานเรื่อยๆจนกว่าจะดึงข้อมูลออกมาแสดงจนหมด และถ้าในฐานข้อมูลมีข้อมูลเยอะๆๆๆๆๆๆ เซิร์ฟเวอร์ล่มได้นะครับ ^_^ (ประมาณนี้ครับ เท่าที่พอมีความรู้)
|
|
|
|
|
Date :
2011-07-24 16:43:21 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แค่ไม่ unfinished loop ก็ไม่ต้องห่วงอะไรมากหรอกครับ แต่เยอะไปอาจเมมหมดหรือ timeout ได้
|
|
|
|
|
Date :
2011-07-24 17:05:03 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|