永发信息网

php修改公告,每次修改一条,所有记录都会变,高手看下什么问题

答案:4  悬赏:50  手机版
解决时间 2021-02-18 05:03
  • 提问者网友:骑士
  • 2021-02-17 20:13
代码如下:<br>处理部分:<br>&lt;?php<br>$title = $_POST['title'];<br>$content= $_POST['content'];<br>$time = $_POST['time'];<br>$id = $_POST['id'];<br>if(isset($_POST[&quot;submit&quot;]))<br>{<br><br>if($title!=&quot;&quot; &amp;&amp; $content!=&quot;&quot; ){<br>$sql= &quot;update affiche set title='$title'&quot;;<br>$result = mysql_query($sql,$conn); <br>}<br>  if ($result){<br>  echo &quot;&lt;script&gt;alert('修改成功');location.href='Admin_AddAffiche.php';&lt;/script&gt;&quot;;<br>  } <br>else{<br>echo &quot;&lt;script&gt;alert('注册失败,请重新填入!');history.go(-1);&lt;/script&gt;&quot;;<br>} <br>mysql_close($conn); //关闭数据集 <br>}<br><br>?&gt;<br>URL传递部分:<br>&lt;?php<br>include(&quot;../conn.php&quot;); <br>    $eee= $_GET['id'];<br> $sql=&quot;select * from affiche where title='$eee'&quot;;<br>    $query=mysql_query($sql,$conn);<br>    $rs=mysql_fetch_array($query); <br><br>?&gt;<br>数据传递部分:<br>&lt;?php include '../conn.php';<br>$q = &quot;SELECt * FROM affiche&quot;; //查询读取数据库表的语句然后赋值给变量$q<br>$rs = mysql_query($q,$conn); //此函数为连接数据库的一个连接方法。<br><br>while($row = mysql_fetch_row($rs)) <br>{<br>?&gt;<br>            &lt;tr bgcolor=&quot;#ECF5FF&quot;&gt;<br>              &lt;td height=&quot;20&quot; bgcolor=&quot;#ECF5FF&quot;&gt;&lt;table width=&quot;100%&quot; height=&quot;25&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bordercolor=&quot;#A4B6D7&quot;&gt;<br>                &lt;tr&gt;<br>                  &lt;td width=&quot;50&quot; align=&quot;center&quot;&gt;&lt;?php echo $row[0];?&gt;&lt;/td&gt;<br>                  &lt;td align=&quot;center&quot;&gt;&lt;?php echo $row[3];?&gt;&lt;/td&gt;<br>                &lt;/tr&gt;<br>              &lt;/table&gt;&lt;/td&gt;<br>              &lt;td&gt;&lt;div align=&quot;center&quot;&gt;&lt;?php echo $row[5];?&gt;&lt;/div&gt;&lt;/td&gt;<br><br>&lt;td&gt;&lt;div align=&quot;center&quot;&gt;&lt;a href=&quot;&lt;?php echo &quot;Admin_editAffiche.php?id=&quot;.$row[3];?&gt;&quot;&gt;修改&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;<br>              &lt;td&gt;&lt;div align=&quot;center&quot;&gt;&lt;a href=&quot;&lt;?php echo &quot;dodel.php?id=&quot;.$row[0];?&gt;&quot;&gt;删除&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;<br>            &lt;/tr&gt;<br>&lt;?php<br> }<br>?&gt;<br>谢谢大家了,在系统里修改是可以的,但网站后台不行,真怪,我重写吧
最佳答案
  • 五星知识达人网友:空山清雨
  • 2021-02-17 21:39
1、你传递的是ID,但是在数据库查找的时候是title<br>2、在你保存的时候没有选择修改哪条记录,默认是修改所有的<br>下边是我帮你修改过的<br>&lt;?php<br>$title = $_POST['title'];<br>$content= $_POST['content'];<br>$time = $_POST['time'];<br>$id = $_POST['id'];<br>if(isset($_POST[&quot;submit&quot;]))<br>{<br><br>if($title!=&quot;&quot; &amp;&amp; $content!=&quot;&quot; ){<br>$sql= &quot;update affiche set title='$title',content='$content' where id=$id&quot;;  '保存内容和标题,条件是传入的ID值<br>$result = mysql_query($sql,$conn); <br>}<br>  if ($result){<br>  echo &quot;&lt;script&gt;alert('修改成功');location.href='Admin_AddAffiche.php';&lt;/script&gt;&quot;;<br>  } <br>else{<br>echo &quot;&lt;script&gt;alert('注册失败,请重新填入!');history.go(-1);&lt;/script&gt;&quot;;<br>} <br>mysql_close($conn); //关闭数据集 <br>}<br><br>?&gt;<br>URL传递部分:<br>&lt;?php<br>include(&quot;../conn.php&quot;); <br>    $eee= $_GET['id'];  ‘这里传入的是ID<br> $sql=&quot;select * from affiche where id='$eee'&quot;;  ’这里查找也应该是ID<br>    $query=mysql_query($sql,$conn);<br>    $rs=mysql_fetch_array($query); <br><br>?&gt;
全部回答
  • 1楼网友:患得患失的劫
  • 2021-02-17 23:37
update 语句需要加个where 条件吧
  • 2楼网友:白昼之月
  • 2021-02-17 22:44
你update的时候,选择条件都没加,当然是更新全表记录了,好歹有个where id=$id
  • 3楼网友:蓝房子
  • 2021-02-17 22:34
$sql= "update affiche set title='$title'";这句我看不明白了, $sql= "update affiche set title='$title' where `字段名`=“某值”;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯