PHP 我做了三个功能,查询,删除,修改。可是修改记录这项怎么也对应不到正确的ID。每次都能找到最小的id
<?include("conn.");if($_POST['Submit13'];){$id=$_GET[id];$sql13="deletefromquswhere1=...
<?
include ("conn.");
if ($_POST['Submit13'];) {
$id = $_GET[id];
$sql13 = "delete from qus where 1=1 and id='$id'";
$result = mysql_query($sql13);
}
?>
<table>
<tr>
<th>
<?
$query12 = mysql_query("select * from qus");
while ($row12 = mysql_fetch_array($query12)) {
?>
<form action="ques_edit.php?id=<? echo $row12[ID] ?>" method="POST" name="FormName" ">
<table width="100%" >
<tr >
<td ><?=$row12[qus] ?></td>
</tr>
<tr>
<td >
<input type="submit" name="Submit13" value=" 删 除 ">
</td>
<td >
<?=$row12[title] ?></td>
<td>
<?=$row12[NAME] ?>|<? echo $row12[ID] ?>
</td>
<td>
<?=$row12[DATA] ?>
</td>
</tr>
<tr>
<td ><span class="TitleColor">
<label for="name" >姓 名 :</label>
<input type="text" name="name2" size="50" value="<?=$row12[NAME] ?>" />
<label for="qus">问题 及 意见:</label></span>
<p>
<textarea name="qus2" rows="10" cols="50" ><?=$row12[qus] ?></textarea>
</p>
<input type="submit" name="Submit12" value=" 修 改 " />
<br></td></tr><hr><?}?>
<?
if ($_POST['Submit12']) {
$n = $_POST['name2'];
$QUES = $_POST['qus2']; //修改
$id1 = $_GET[id];
$sql12 = "UPDATE qus SET NAME = '$n', qus='$QUES' WHERE ID='$id1'";
mysql_query($sql12, $con);
}
?>
</table>
</form></th>
</tr>
</table>
我删了部分代码,可能会有报错!修改是数据是问题的,就是只能修改最小的那个ID的数据。请高手指点 展开
include ("conn.");
if ($_POST['Submit13'];) {
$id = $_GET[id];
$sql13 = "delete from qus where 1=1 and id='$id'";
$result = mysql_query($sql13);
}
?>
<table>
<tr>
<th>
<?
$query12 = mysql_query("select * from qus");
while ($row12 = mysql_fetch_array($query12)) {
?>
<form action="ques_edit.php?id=<? echo $row12[ID] ?>" method="POST" name="FormName" ">
<table width="100%" >
<tr >
<td ><?=$row12[qus] ?></td>
</tr>
<tr>
<td >
<input type="submit" name="Submit13" value=" 删 除 ">
</td>
<td >
<?=$row12[title] ?></td>
<td>
<?=$row12[NAME] ?>|<? echo $row12[ID] ?>
</td>
<td>
<?=$row12[DATA] ?>
</td>
</tr>
<tr>
<td ><span class="TitleColor">
<label for="name" >姓 名 :</label>
<input type="text" name="name2" size="50" value="<?=$row12[NAME] ?>" />
<label for="qus">问题 及 意见:</label></span>
<p>
<textarea name="qus2" rows="10" cols="50" ><?=$row12[qus] ?></textarea>
</p>
<input type="submit" name="Submit12" value=" 修 改 " />
<br></td></tr><hr><?}?>
<?
if ($_POST['Submit12']) {
$n = $_POST['name2'];
$QUES = $_POST['qus2']; //修改
$id1 = $_GET[id];
$sql12 = "UPDATE qus SET NAME = '$n', qus='$QUES' WHERE ID='$id1'";
mysql_query($sql12, $con);
}
?>
</table>
</form></th>
</tr>
</table>
我删了部分代码,可能会有报错!修改是数据是问题的,就是只能修改最小的那个ID的数据。请高手指点 展开
4个回答
展开全部
看来看去,应该是html代码问题,
你用while循环输出的表单只有<form>但是没有关闭标签</form>,或者说你是放错了位置,放在了循环之外。
所以出现了你说的情况,
把这一行
<br></td></tr><hr><?}?>
改成
<br></td></tr></table></form><hr><?}?>
下面的
</table>
</form></th>
改成
</th>
还有说一下,你的$_GET和$_POST混用并没有错,不要被别人误导了。
另外,$_GET[ID]这种用法容易出问题,建议加上单引号,如$_GET['id']
你用while循环输出的表单只有<form>但是没有关闭标签</form>,或者说你是放错了位置,放在了循环之外。
所以出现了你说的情况,
把这一行
<br></td></tr><hr><?}?>
改成
<br></td></tr></table></form><hr><?}?>
下面的
</table>
</form></th>
改成
</th>
还有说一下,你的$_GET和$_POST混用并没有错,不要被别人误导了。
另外,$_GET[ID]这种用法容易出问题,建议加上单引号,如$_GET['id']
追问
我也是觉得结构错了! 我先试试
展开全部
你的语句有问题啊,比如$sql12 = "UPDATE qus SET NAME = '$n', qus='$QUES' WHERE ID='$id1'";应该改成$sql12 = "UPDATE qus SET NAME = '".$n."', qus='".$QUES."' WHERE ID='".$id1.'";
而且,如果是数据库中的ID字段是整数型的话,''是不需要的。就编程$sql12 = "UPDATE qus SET NAME = '".$n.“', qus='”.$QUES."' WHERE ID=".$id1;
而且,如果是数据库中的ID字段是整数型的话,''是不需要的。就编程$sql12 = "UPDATE qus SET NAME = '".$n.“', qus='”.$QUES."' WHERE ID=".$id1;
更多追问追答
追问
按这个修改了,没效果
追答
你指的没效果是没修改到数据,还是什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$id = $_GET[id]
去掉,后面都直接用$_GET[id]试试
去掉,后面都直接用$_GET[id]试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-17
展开全部
很显然$_GET[id];未取得任何数据,
追问
ques_edit.php?id= 我怀疑是默认URL的数据了
echo $_GET[id];这里还是有值得
可是我不这样转ID 删除功能又不行。
应该是结构有问题 请指导
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询