|
|
|
มันติดตรง value POST อ่ะครับ ตรงเขียนแบบไหนครับ อ่ะ อ่านแล้วไม่เข้าใจยกตัวอย่างช่วยดูให้หน่อยครับ |
|
|
|
|
|
|
|
มันติดตรง value POST อ่ะครับ ตรงเขียนแบบไหนครับ อ่ะ อ่านแล้วไม่เข้าใจยกตัวอย่างช่วยดูให้หน่อยครับ
Code (PHP)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Workshop 10-2</title>
<style>
* {
font: 14px tahoma;
}
body {
background: url(bg.jpg);
text-align: center;
min-width: 700px;
}
table {
border-collapse: collapse;
min-width: 600px;
margin: auto;
}
td {
text-align: left;
}
td, th {
padding: 5px;
border-right: solid 1px white;
font: 14px tahoma;
word-wrap:break-word;
vertical-align: top;
max-width: 250px;
}
td:last-child, th:last-child {
border-right: solid 0px !important;
}
tr:nth-of-type(odd) {
background: #dfd;
}
tr:nth-of-type(even) {
background: #ddf;
}
th {
background: green !important;
color: yellow;
}
a {
text-decoration: none;
color: blue;
}
a:hover {
color:red;
}
caption {
text-align: left;
padding: 2px;
}
button {
background: steelblue;
color: white;
border:solid 1px orange;
border-radius: 3px;
padding: 2px 10px;
}
img {
height: 20px;
vertical-align: text-top;
}
</style>
</head>
<body>
<?php
$link = mysqli_connect("localhost", "root", "", "mydatabase")
or die(mysqli_connect_error()."</body></html>");
//กรณีเลือก checkbox แล้วโพสต์กลับขึ้นมา
if($_POST) {
$QuestionID = implode(", ", $_POST['QuestionID']);
$sql = "DELETE FROM webboard WHERE QuestionID IN($QuestionID)";
mysqli_query($link, $sql);
}
$sql = "SELECT * FROM webboard";
$result = mysqli_query($link, $sql);
//อ่านข้อมูลใน result set มาแสดงในแบบตาราง
echo '<form method="post">';
echo "<table>";
echo '<caption>
<img src="arrow-down.gif">
<button>ลบแถวที่เลือก</button>
<a href="form.php?action=insert">เพิ่มข้อมูล</a></caption>';
//ส่วนหัวตาราง(ชื่อฟิลด์)
echo "<tr>";
$num_fields = mysqli_num_fields($result);
echo "<th> </th>";
echo "<th>action</th>";
for($i = 0; $i < $num_fields; $i++) {
$f = mysqli_fetch_field_direct($result, $i);
echo "<th>".$f->name."</th>";
}
echo "</tr>";
while($data = mysqli_fetch_array($result)) {
echo "<tr>";
echo '<td><input type="checkbox" name="QuestionID[]" value="'.$data['QuestionID'].'"></td>';
echo "<td>
<a href=\"form.php?action=update&id={$data['QuestionID']}\">แก้ไข</a> |
<a href=\"form.php?action=delete&id={$data['QuestionID']}\">ลบ</a>
</td>";
//คอลัมน์ต่อๆไปเป็นข้อมูล
for($i = 0; $i < $num_fields; $i++) {
echo "<td>".$data[$i]."</td>";
}
echo "</tr>";
}
echo "</table>";
echo "</form>";
mysqli_close($link);
?>
</body>
</html>
Code (PHP)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Workshop 10-2</title>
<style>
*:not(h3) {
font: 14px tahoma;
}
body {
background: url(bg.jpg);
text-align: center;
min-width: 500px;
}
fieldset {
width: 360px;
margin: auto;
background: #def;
border-radius: 4px
}
legend {
text-align: left;
font-size: 18px;
color: navy;
}
form {
text-align: left;
}
label {
display: inline-block;
width: 60px;
text-align: right;
}
label.float {
float: left;
margin-right: 4px !important;
}
input, select {
width: 250px;
}
textarea {
float: left;
width: 250px;
height: 40px;
resize: none;
overflow: auto;
}
input, textarea, select {
background: #ffc;
border: solid 1px gray;
margin: 3px;
padding: 3px;
border-radius: 2px;
}
button {
background: steelblue;
color: white;
border:solid 1px orange;
border-radius: 3px;
padding: 3px 20px;
margin-left: 10px;
}
[readonly] {
width: 100px;
background: #ccc;
border-color: #999;
color: gray;
}
br.clear {
clear: left;
}
h3, p {
text-align: center;
}
</style>
</head>
<body>
<?php
$link = mysqli_connect("localhost", "root", "", "mydatabase")
or die(mysqli_connect_error()."</body></html>");
//ถ้าเป็นการ Postback เพื่อส่งข้อมูลจากฟอร์มกลับเข้ามา
if(isset($_POST['QuestionID'])) {
//นำข้อมูลจากตัวแปร $_POST ที่เหลือมาเรียงต่อเป็นสตริงเดียวกัน โดยคั่นด้วย ', '
$values = implode("', '", $_POST); //ลักษณะผลลัพธ์ เช่น a', 'b', 'c', 'd
//ปิดหัวท้ายด้วย ' เพื่อให้ครบคู่ ลักษณะผลลัพธ์จะเป็น 'a', 'b', 'c', 'd'
$values = "'" . $values . "'";
//นำข้อมูลนั้นมาสร้างเป็น SQL ในแบบคำสั่ง REPALCE
$sql = "REPLACE INTO webboard VALUES($values)";
$replace = mysqli_query($link, $sql);
if(!$replace) {
echo mysqli_error($link);
}
else {
echo "<h3>ข้อมูลถูกบันทึกแล้ว</h3>";
back();
}
}
// ------------------------------------------------------------------
//ส่วนต่อไปนี้สำหรับการเชื่อมโยงมาจากเพจแสดงข้อมูล(index.php)
if(isset($_GET['action'])) {
$action = $_GET['action'];
//ถ้าเป็นเพิ่มข้อมูล ก็ไม่ต้องทำอะไร เพื่อให้ฟอร์มนั้นว่างเปล่าสำหรับรับข้อมูลใหม่
if($action == "insert") {
$h = "เพิ่มข้อมูล";
}
//ถ้าเป็นการลบ ก็นำค่า id ไปกำหนดเป็นเงื่อนไขการลบ
else if($action == "delete") {
$id = $_GET['id'];
$delete = mysqli_query($link, "DELETE FROM webboard WHERE QuestionID = $id");
if(!$delete) {
echo mysqli_error($link);
}
else {
echo "<h3>ข้อมูลถูกลบแล้ว</h3>";
}
back();
}
//ถ้าเป็นการแก้ไขข้อมูล ต้องอ่านข้อมูลเดิมมาเติมลงในฟอร์ม
else if($action == "update") {
$id = $_GET['id'];
$h = "แก้ไขข้อมูล";
$result = mysqli_query($link, "SELECT * FROM webboard WHERE QuestionID = $id");
$data = mysqli_fetch_array($result);
}
}
function back() {
global $link;
mysqli_close($link);
exit("<p><a href=\"index.php\">ย้อนกลับ</a></p></body></html>");
}
mysqli_close($link);
?>
<fieldset><legend><?php echo $h; ?></legend>
<form method="post">
<label>id</label>
<input type="text" name="QuestionID" value="<?php echo $data['QuestionID']; ?>" placeholder="ไม่ต้องระบุ" readonly><br>
<label>name</label>
<input type="text" name="CreateDate" value="<?php echo $data['CreateDate']; ?>"><br>
<label class="float">address</label>
<textarea name="Question"><?php echo $data['Question']; ?></textarea><br class="clear">
<label>email</label>
<input type="text" name="Details" value="<?php echo $data['Details']; ?>"><br>
<label>birthday</label>
<input type="date" name="Name" value="<?php echo $data['Name']; ?>"> <br><br>
<label> </label><button>ส่งข้อมูล</button>
<a href="index.php">ย้อนกลับ</a>
</form>
</fieldset>
</body>
</html>
Tag : PHP, CakePHP
|
ประวัติการแก้ไข 2016-11-01 08:49:28
|
|
|
|
|
Date :
2016-11-01 00:47:35 |
By :
nud280 |
View :
926 |
Reply :
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ่านยากจริงไรจริง
|
|
|
|
|
Date :
2016-11-01 01:10:50 |
By :
Luz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันติดยังไงเหรอครับ?
|
|
|
|
|
Date :
2016-11-01 04:39:52 |
By :
{Cyberman} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตรงนี้อ่ะครับ
Code (PHP)
$link = mysqli_connect("localhost", "root", "", "mydatabase")
or die(mysqli_connect_error()."</body></html>");
//ถ้าเป็นการ Postback เพื่อส่งข้อมูลจากฟอร์มกลับเข้ามา
if(isset($_POST['QuestionID'])) {
//นำข้อมูลจากตัวแปร $_POST ที่เหลือมาเรียงต่อเป็นสตริงเดียวกัน โดยคั่นด้วย ', '
$values = implode("', '", $_POST); //ลักษณะผลลัพธ์ เช่น a', 'b', 'c', 'd
//ปิดหัวท้ายด้วย ' เพื่อให้ครบคู่ ลักษณะผลลัพธ์จะเป็น 'a', 'b', 'c', 'd'
$values = "'" . $values . "'";
//นำข้อมูลนั้นมาสร้างเป็น SQL ในแบบคำสั่ง REPALCE
$sql = "REPLACE INTO webboard VALUES($values)";
$replace = mysqli_query($link, $sql);
if(!$replace) {
echo mysqli_error($link);
}
else {
echo "<h3>ข้อมูลถูกบันทึกแล้ว</h3>";
back();
}
}
|
|
|
|
|
Date :
2016-11-01 08:52:06 |
By :
nud280 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$values = "'" . $values . "'";
ลองใส่ echo $values; มาดูก่อนว่าได้อะไร
//นำข้อมูลนั้นมาสร้างเป็น SQL ในแบบคำสั่ง REPALCE
$sql = "REPLACE INTO webboard VALUES($values)";
|
|
|
|
|
Date :
2016-11-01 10:51:26 |
By :
thesin18598 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อย่างที่ความคิดเห็นด้านบนบอกครับ
'a', 'b', 'c', 'd' ทุกครั้งจะเป็นข้อมูล 4 ชุดหรือไม่?
แล้วในตาราง webboard มีกี่ฟิลด์ 4 ฟิลด์ตรงกันไหม?
ถ้าจะให้ชัวร์ก็กำหนดไปเลยว่าจะให้บันทึกที่ฟิลด์ไหน
$sql = "REPLACE INTO webboard (AAAA, BBBB, CCCC, DDDD)VALUES($values)";
|
|
|
|
|
Date :
2016-11-01 12:44:37 |
By :
{Cyberman} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|