while($rs = mysql_fetch_array($result)){
<tr><td>$rs
โค้ด: เลือกทั้งหมด
</td><td>$rs[price]</td><td><a href="">แก้ไข</a></td></tr>
}
ในกรณีปรกติ ก็จะต้องกดแก้ไข แล้วไปอีกหน้านึง
แต่ทีนี้ถ้าจะต้องเปลี่ยนมาทำ edit in place เพื่อให้สามารถแสดง <form> ให้แก้ไขได้เลยโดยไม่ต้องสลับหน้า จึงต้องอาศัย javascript และ Ajax มาช่วย
มันจึงเกิดปัญหาขึ้นมาเพราะว่าเราไม่มีความรู้ทั้งสองเรื่องนี้เลย ลองหาดูจาก Internet ก็มีมากมายโดยเราเลือกแบบนี้มาค่ะ
<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/editinplace.js" type="text/javascript"></script>
<div [color=#FF0000]id="desc"[/color]>click here to edit text</div>
เมื่อเราคลิกที่ข้อความใน แท็กdiv มันก็จะแสดง input type=text ให้เรากรอกข้อความใหม่ พร้อมกับมีปุ่ม submit และ cancel ให้
ปัญหามันอยู่ที่ว่า เราพยายาม เอาcode นั้นมาแก้ให้เข้ากับของเราซึ่ง
ในตัวอย่างมันน่าจะดักจับการคลิกข้อความของ element ที่มี id="desc" ในที่นี้มีแค่จุดเดียว
พอเอามาใช้กับตารางของเรา จะกลายเป็น
while($rs = mysql_fetch_array($result)){
<tr><td>$rs[code]</td><td [color=#FF0000]id="desc"[/color]>$rs[price]</td><td><a href="">แก้ไข</a></td></tr>
}
[color=#FF4080][b]ซึ่งถ้าใส่ไปตรงๆแบบนี้ ก็จะทำให้ในหน้านี้ มี id="desc" เป็นร้อยๆที่ไม่สามารถรู้ได้ว่า เป็น id ของข้อมูลไหน scriptเลยผิดทำงานไม่ได้
เลยคิดต่อไปว่าถ้าใส่ให้ id="desc[]" เป็น arrayซะ เราก็จนปัญญาที่จะแก้โค้ด ในfunction ของ javascript
พอจะมีทางไหนแก้ไขได้บ้างรึเปล่าคะ เรื่องนี้ไม่รู้จริงๆค่ะ งมโข่งมาสองวันเต็มๆแล้ว[/b][/color]