คือไม่สามรถ add หรือ edit ได้ มั้นฟ้อง Parse error: syntax error, unexpected '$query' (T_VARIABLE) in C:\xampp\htdocs\php\student.php on line 40
Code (PHP)
<?php
include('db.php');
$error="";
$stu_id="0";
$stu_name="";
$address="";
$status="";
if(isset($_POST['btnsave']))
{
$stu_name=$_POST['txtstu_name'];
$address=$_POST['txtaddress'];
$status=$_POST['slostatus'];
if(strlen($stu_name)<4)
{
$error="at least 4 charecter";
}else
{
if($_POST['txtid']=="0")
{
//add new student
$sql="insert into tb_student(stu_name,address,status) values('$stu_name','$address','$status')";
$query=mysql_query($sql);
if($query)
{
//render success
header('Refresh:0, index.php');
}
}else{
//update
$sql="update tb_student set stu_name='$stu_name', address='$address', status='$status' where stu_id='{$_POST['txtid']}' ";
$query=mysql_query($sql);
if($query)
{
header('Refresh:0, index.php');
}
}
}
}
//check id for id
if (isset($_GET['edited'])) {
$sql="select * from tb_student where stu_id='{$_GET['id']}' ";
$query=mysql_query($sql);
$row=mysql_fetch_object($query);
$stu_id=$row->stu_id;
$stu_name=$row->stu_name;
$address=$row->address;
$status=$row->status;
}
?>
<form action="" method="post">
<table>
<tr>
<td colspan="2"><span style="color:red;"><?php echo $error;?></span></td>
</tr>
<tr>
<td>Student Name</td>
<td><input type="text" name="txtstu_name" value="<?php echo $stu_name; ?>"> <input type="hidden" name="txtid" value="<?php echo $stu_id; ?>" /> </td>
</tr>
<tr>
<td>Address</td>
<td><textarea name="txtaddress"><?php echo $address; ?></textarea></td>
</tr>
<tr>
<td>Status</td>
<td>
<select name="slostatus">
<option <?php if($status=='1') echo 'selected'; ?> value="1">Active</option>
<option <?php if($status=='0') echo 'selected'; ?> value="0">Suspend</option>
</select>
</td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Save" name="btnsave"></td>
</tr>
</table>
</form>
Tag : PHP, MySQL, HTML/CSS, jQuery
ประวัติการแก้ไข 2016-03-17 10:40:20 2016-03-17 10:40:57
Date :
2016-03-17 10:37:55
By :
dedee
View :
2092
Reply :
5
where stu_id='{$_POST['txtid']}' ";
แก้เป็น
where stu_id=".intval($_POST['txtid']);
Date :
2016-03-17 12:58:09
By :
Chaidhanan
ตอบความคิดเห็นที่ : 3 เขียนโดย : apisitp เมื่อวันที่ 2016-03-17 14:38:23
รายละเอียดของการตอบ ::
หน้า index ครับ
Code (PHP)
<?php
include('db.php');
?>
<a href="student.php">Add new</a> <br/><br/>
<table cellpadding="5" cellspacing="0" border="1">
<tr>
<th>No</th>
<th>StuName</th>
<th>Addr</th>
<th>Stat</th>
<th>Acti</th>
</tr>
<?php
$sql="select * from tb_student";
$query=mysql_query($sql);
if(mysql_num_rows($query)>0)
{
$i=1;
while ($row=mysql_fetch_object($query))
{
$status=($row->status==1)?'Active':'Suspend';
?>
<tr>
<td><?php echo $i++; ?></td>
<td><?php echo $row->stu_name; ?></td>
<td><?php echo $row->address; ?></td>
<td><?php echo $row->status; ?></td>
<td>
<a href="student.php?edited=1&id=<?php echo $row->stu_id; ?>">Edit</a> |
<a href="student.php?deleted=1&id=<?php echo $row->stu_id; ?>">Delete</a>
</td>
</tr>
<?php
}
}
?>
</table>
หน้า student
Code (PHP)
<?php
include('db.php');
$error="";
$stu_id="0";
$stu_name="";
$address="";
$status="";
if(isset($_POST['btnsave']))
{
$stu_name=$_POST['txtstu_name'];
$address=$_POST['txtaddress'];
$status=$_POST['slostatus'];
if(strlen($stu_name)<4)
{
$error="at least 4 charecter";
}else
{
if($_POST['txtid']=="0")
{
//add new student
$sql="insert into tb_student(stu_name,address,status) values('$stu_name','$address','$status')";
$query=mysql_query($sql);
if($query)
{
//render success
header('Refresh:0, index.php');
}
}else{
//update
$sql="update tb_student set stu_name='$stu_name', address='$address', status='$status' where stu_id='{$_POST['txtid']}' ";
$query=mysql_query($sql);
if($query)
{
header('Refresh:0, index.php');
}
}
}
//where stu_id=".intval($_POST['txtid']);
}
//check id for id
if (isset($_GET['edited'])) {
$sql="select * from tb_student where stu_id='{$_GET['id']}' ";
$query=mysql_query($sql);
$row=mysql_fetch_object($query);
$stu_id=$row->stu_id;
$stu_name=$row->stu_name;
$address=$row->address;
$status=$row->status;
}
//check delete
if(isset($_GET['deleted']))
{
$sql="delete from tb_student where stu_id='{$_GET['id']}'";
$query=mysql_query($sql);
if($query)
{
header('Refresh:0, index.php');
}
}
?>
<form action="" method="post">
<table>
<tr>
<td colspan="2"><span style="color:red;"><?php echo $error;?></span></td>
</tr>
<tr>
<td>Student Name</td>
<td><input type="text" name="txtstu_name" value="<?php echo $stu_name; ?>"> <input type="hidden" name="txtid" value="<?php echo $stu_id; ?>" /> </td>
</tr>
<tr>
<td>Address</td>
<td><textarea name="txtaddress"><?php echo $address; ?></textarea></td>
</tr>
<tr>
<td>Status</td>
<td>
<select name="slostatus">
<option <?php if($status=='1') echo 'selected'; ?> value="1">Active</option>
<option <?php if($status=='0') echo 'selected'; ?> value="0">Suspend</option>
</select>
</td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Save" name="btnsave"></td>
</tr>
</table>
</form>
localhost ฟ้องแบบนี้ครับ Parse error: syntax error, unexpected '$query' (T_VARIABLE) in C:\xampp\htdocs\php\student.php on line 40
Date :
2016-03-17 14:45:57
By :
dedee
คือหน้า student ของท่านก็เป็นหน้าเก่านี่ครับ
ตรง รับค่า {$_GET['id']} {$_GET['id']} {$_POST['txtid']} ผมไม่รู้ว่าเอา ปีกกาครอบทำไมครับ ผมไม่เข้าใจรูปแบบ
ผมพยายามจะช่วยต่อจากที่พี่ Chaidhanan แนะนำ
เลยถามขอ code ล่าสุดที่แก้ตามที่ พี่ Chaidhanan แนะนำ
แต่ท่านเอา code เดิมมาให้ ผมก็ไม่รู้จะตอบแบบไหนครับ
ลองแค่นี้ดูครับ ไม่เอาปีกกา
$sql="UPDATE tb_student SET stu_name='$stu_name', address='$address', status='$status' where stu_id=".$_POST['txtid'];
ถ้าไม่อย่างนั้น คุณเพิ่มคำสั่ง
echo $sql;
เราจะรู้ว่าโครงสร้างที่เอาไปคิวรี่มันถูกไหม
เอาแล้วเอาค่าที่ได้ไรันตรงๆใน phpmyadmin ดูครับ
Date :
2016-03-18 11:54:48
By :
apisitp
Load balance : Server 03