ช่วยแนะนำเรื่องการส่งค่าจาก form ไปเก็บลงฐานข้อมูล โดยไม่ต้องเปลี่ยนหน้า
ใช้ การบันทึกข้อมูล แบบ ajax ก็ได้นี่ครับ
Date :
2010-11-16 17:42:24
By :
SOUL
มี 2 วิธีที่ผมคิดออกนะครับ
1. ใช้ Ajax
2. ใช้ iframe
ผมจะขอพูดกรณี iframe อย่างเดียวนะครับ เพราะง่ายสุดแล้ว
นี่เป็นโค๊ตฟอร์ม
Code (PHP)
<form name="form1" method="post" action="ทำที่ไหน" target="ifrm"> <!-- ตรงชื่อ target ใส่ชื่อของ iframe นะครับ -->
<label for="textfield"></label>
<input type="text" name="textfield" id="textfield">
<input type="submit" name="button" id="button" value="Submit">
</form>
ส่วนอันนี้ iframe (อยากได้ iframe คุณสมบัติแบบไหน ไปกำหนดเอาเองนะครับ)
<iframe name="ifrm" ></iframe>
แค่นี้ก็เรียบร้อยแล้ว บันทึกเสร็จส่ง alert(); จาวามาแจ้งก็ได้
Date :
2010-11-16 17:47:27
By :
awachai007
ผมไม่เคยเขียน ajax อ่ะครับ เลยไม่รู้จะเริ่มอย่างไง และเขียน code อย่างไงครับ ถ้าจะใช้ php ธรรมดาเขียนได้ไหมครับ
Date :
2010-11-16 17:48:10
By :
num
คุณ awachai007 ครับ แล้วตรง action="ทำที่ไหน" คำว่า ทำที่ไหน นี่คือ ชื่อ form ที่เราเขียนเขียน code ไว้ใช่หรือไมครับ แล้วแบบนี้ code ที่เราจะสั่งให้ save เราจะต้องเขียนไว้ตรงไหน หรือว่าเป็นไฟล์ใหม่ก็ได้ครับ
ตอนนี้ของผมมีแบบนี้ครับ
1. หน้า form.php สำหรับกรอกข้อมูล
2. หน้า save.php สำหรับบันทึกข้อมูลลงฐานข้อมูล
Date :
2010-11-16 17:54:10
By :
num
ที่ save.php ครับ แบบนี้ครับ
Code (PHP)
<form name="form1" method="post" action="save.php" target="ifrm"> <!-- ตรงชื่อ target ใส่ชื่อของ iframe นะครับ -->
<label for="textfield"></label>
<input type="text" name="textfield" id="textfield">
<input type="submit" name="button" id="button" value="Submit">
</form>
ส่วนอันนี้ iframe (อยากได้ iframe คุณสมบัติแบบไหน ไปกำหนดเอาเองนะครับ)
<iframe name="ifrm" ></iframe>
ประวัติการแก้ไข 2010-11-16 18:01:23
Date :
2010-11-16 17:58:59
By :
awachai007
ขอบคุณทุกคำตอบครับ เดี๋ยวผมขอลองไปทำดูก่อนนะครับ แล้วถ้าติดอะไรจะมาถามใหม่ครับ
Date :
2010-11-16 18:08:01
By :
num
อีกหนึ่งตัวอย่างเป็นการส่ง ajax แบบ jquery
จะเขียน code สั้นกว่า ลองเข้าไปดูครับ
Date :
2010-11-16 18:11:20
By :
onizike
ผมเขียนแบบนี้ครับ ส่งค่าผ่านฟอร์ม มาที่หน้าเดิมครับ (action="add-news.php?cmd=add") แล้วก็เช็คค่าเอา if($cmd=="add") ลองดูนะครับ
addnews.php
if($cmd=="add"){
$topic=$_POST["topic"];
$date_news=date_parse($_POST["dateInput"]);
$day=$date_news["day"];
$month=$date_news["month"];
$year=$date_news["year"];
$mydate=$year.".".$month.".".$day;
$detail=$_POST["detail"];
$sql="INSERT INTO news VALUES (null,'$topic','$mydate','$detail')" ;
$result=mysql_db_query($dbname,$sql) ;
if ($result) {
echo "<script>alert('เพิ่มข่าวสารเรียบร้อยแล้ว');</script>";
echo "<script>window.location='add-news.php';</script>";
} else {
echo "Error Update [".$sql."]";
}
mysql_close () ;
}
<h2>เพิ่มข่าวสารใหม่</h2>
<form action="add-news.php?cmd=add" method="post" onsubmit="return check()" enctype="multipart/form-data" name="form1" id="form1">
<table width="800" border="0" cellspacing="0" cellpadding="5">
<tr>
<td width="150">หัวข้อข่าว:</td>
<td width="630"><input name="topic" type="text" id="topic" size="60" /></td>
</tr>
<tr>
<td>วันที่:</td>
<td><input type="text" name="dateInput" id="dateInput" readonly="true"/></td>
</tr>
<tr>
<td>เนื้อหา:</td>
<td><textarea id="detail" name="detail" cols="80" rows="10" class="ckeditor"></textarea></td>
</tr>
<tr>
<td>รูปภาพ:</td>
<td><input type="file" name="picture" id="picture" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="ok" id="ok" value="OK" />
<input type="reset" name="cancel" id="cancel" value="Cancel" /></td>
</tr>
</table>
</form>
Date :
2010-11-19 03:48:35
By :
gungrave
โค้ดแสดงข้อมูลครับ ใส่ไว้หน้าเดียวกันกับ code ด้านบนเลย
addnews.php
<?
include "connect.php";
include "function.php"
?>
<body>
<?
$sql="select * from news";
$result=mysql_db_query($dbname,$sql);
?>
<h2>ระบบจัดการข่าวสาร</h2>
<table width="800" border="1" cellspacing="0" cellpadding="5">
<tr>
<td align="right" bgcolor="#CCCCCC">ลำดับ</td>
<td bgcolor="#CCCCCC">หัวข้อข่าว</td>
<td align="center" bgcolor="#CCCCCC">วันที่</td>
<td align="center" bgcolor="#CCCCCC">ดูรายละเอียด</td>
</tr>
<tr>
<?
while($r=mysql_fetch_array($result)) {
?>
<td align="right"width="40"><?=$r["id_news"];?>.</td>
<td width="458"><?=$r["topic_news"];?></td>
<td align="center"width="140"><?=displaydate($r["date_news"]);?></td>
<td align="center"><a href="view-news.php?id_news=<?=$r["id_news"];?>"style="color:#660066;"><strong> Click </strong></a></td>
</tr>
<?
}
?>
</table>
Date :
2010-11-19 03:51:52
By :
gungarve
ใช้ iframe ครับ
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com</title>
</head>
<body>
<iframe id="fileupload" name="fileupload" src=""></iframe>
<form action="upload.php" method="post" enctype="multipart/form-data" name="form1" target="fileupload">
<input type="file" name="file">
<input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>
Code (upload.php)
//คำสั่ง upload
Go to : PHP Upload File ไม่เปลี่ยนหน้าทำไงครับ ทำอยากไรดีหว่า
Date :
2010-11-19 08:43:55
By :
webmaster
Load balance : Server 04