|
|
|
สอบถามการส่งค่า รับค่าหน่อยครับ ขอผู้รู้ทุกท่านมาตอบหน่อยนะครับ |
|
|
|
|
|
|
|
ผมขออนุญาติถาม การรับส่งค่า PHP มา JS หน่อยครับผม
นี่จะเป็นหน้า ที่จะส่งค่าไปครับ ผมต้องการให้
video-edit.php?id=<?php echo (int)$row['id']?>
ก็คือ id = $row['id'] ครับ
แต่ผล output เจ้ากรรมออกมา จะเป็น ระเบียนล่าสุดที่เพิ่มเข้ามาครับ เช่น ผมมี id 19,20,21 ผมได้เพิ่ม 22 เข้ามา พอผลิกคลิกปุ่ม <button>แก้ไข</button> มันก็จะไปเทียบ id ล่าสุดเลยครับ คือ 22 ผมละแก้ไม่ตกจริงๆ
Code (JavaScript)
<script>
function editFunction() {
window.open('video-edit.php?id=<?php echo (int)$row['id']?>', '_blank', 'toolbar=yes, scrollbars=yes, resizable=yes, top=20, left=300, width=700, height=600');
}
</script>
Code (PHP)
<button onclick="editFunction()"><img src="image/icon-edit.png" border="0"></button>
ขอบคุณ ผู้รู้ทุกท่านครับ
Tag : PHP, MySQL, JavaScript, Ajax, jQuery, CakePHP
|
|
|
|
|
|
Date :
2014-11-03 10:31:33 |
By :
The_Colosseum |
View :
845 |
Reply :
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อันดับแรก วิว source ดูก่อนครับ ว่าคำสั่ง window.open( ได้ไอดี ที่ถูกต้อง
สันนิฐาน ว่าน่าจะเกิดจากมีการเปลี่ยนแปลงค่าก่อนการเรียกใช้
<?php echo (int)$row['id']?>
สิ่งที่ควรทำ
$open_id=(int)$row['id']; คำสั่งนี้ทำต่อจาก คำสั่งง $row=$mysql->fetch_assoc() (หรือคำสั่งอื่นที่คล้ายกัน)
แล้วนำมาเรียกใช้ใน function
window.open('video-edit.php?id=<?php echo $open_id;?>', '_blank', 'toolbar=yes, scrollbars=yes, resizable=yes, top=20, left=300, width=700, height=600');
|
|
|
|
|
Date :
2014-11-03 10:44:55 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แต่ ถ้าผมลองเขียนไม่ส่งผ่าน JS
Code (PHP)
<a href="video-edit.php?id=<?php echo (int)$row['id'];?>" id="edit"><img src="image/icon-edit.png" border="0"></a>
ก็คือเทียบค่าได้ปกติเลยครับ แต่พอส่งค่า เข้า Function ปุ๊บ ก็เปลี่ยนค่าอย่างที่เห็นเลย
|
|
|
|
|
Date :
2014-11-03 11:11:36 |
By :
The_Colosseum |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองวิวซอร์ส มาเปรียบเทียบหรือยังครับ ว่า id=?? ถูกต้องตามต้องการใหม่
|
|
|
|
|
Date :
2014-11-03 11:21:29 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<script>
function editFunction(id) {
window.open('video-edit.php?id='+id, '_blank', 'toolbar=yes, scrollbars=yes, resizable=yes, top=20, left=300, width=700, height=600');
}
</script>
<button onclick="editFunction(<?php echo (int)$row['id']?>)"><img src="image/icon-edit.png" border="0"></button>
|
|
|
|
|
Date :
2014-11-03 11:28:01 |
By :
gaowteen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทั้งสอง วิธีการไม่ได้ต่างกันเลยครับ จากตัวอย่าง ข้างล่าง
Code (PHP)
<?php
if(isset($_GET['id'])){
echo 'test id = '.$_GET['id']; exit;
}
$id='999';
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<script language="javascript">
function open_new(){
window.open('?id=<?php echo $id;?>', '_blank', '');
}
function open_x( id ){
window.open('?id='+id, '_blank', '');
}
</script>
<body>
<button type="button" onClick="open_new()">TEST1</button><br>
<button type="button" onClick="open_x(<?php echo $id; ?>)">TEST2</button><br>
</body>
</html>
พอวิวซอร์ส ออกมาจะได้
Code (JavaScript)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<script language="javascript">
function open_new(){
window.open('?id=999', '_blank', ''); // บันทัดนี้ครับ วิวซอร์สแล้วได้เลข หลัง id ถุกต้องตามต้องการหรือไม่ครับ
}
function open_x( id ){
window.open('?id='+id, '_blank', '');
}
</script>
<body>
<button type="button" onClick="open_new()">TEST1</button><br>
<button type="button" onClick="open_x(999)">TEST2</button><br>
</body>
</html>
ซึ่งผลที่ได้ ไม่ได้ต่างกันเลยครับ
ประเด็นที่ต้องการให้ทดสอบก็ตือ การวิวซอร์ส แล้วเห็นผลได้ถกต้องตามต้องการ
|
|
|
|
|
Date :
2014-11-03 11:50:02 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|