【发布时间】:2018-12-10 08:21:20
【问题描述】:
我有一个页面“elenco.php”,在其中我在一个表中显示所有数据库记录,并且在最后的每一行中,我有一个按钮“编辑”,它提交到页面“edit.php”的“ID”用户想要编辑的行。
elenco.php
<?php
include '/var/www/phpMyEdit/open_dati.php';
$query = "SELECT * FROM scadenziario";
$result= mysql_query($query);
echo "<h2>Elenco Scadenziario</h2>";
echo "<table border>";
echo "<tr><td>ID</td><td>Aspetto Generale</td><td>Descrizione</td><td>Ragione Sociale</td><td>Numero Civico</td><td>Validita</td><td>Data</td><td>Preavviso</td><td>Scadenza</td><td>Prescrizioni</td><td>Frequenza</td><td>Data Controllo</td><td>Prossimo Controllo</td><td>Note</td>";
while($row = mysql_fetch_array($result)){
echo "<tr><td>" . $row[ID] .
"</td><td>". $row[Aspetto_Generale].
"</td><td>". $row[Descrizione].
"</td><td>". $row[Ragione_Sociale].
"</td><td>". $row[Num_Civico].
"</td><td>". $row[Validita].
"</td><td>". $row[Data].
"</td><td>". $row[Preavviso].
"</td><td>". $row[Scadenza].
"</td><td>". $row[Prescrizioni].
"</td><td>". $row[Frequenza].
"</td><td>". $row[Data_Controllo].
"</td><td>". $row[Prox_Controllo].
"</td><td>". $row[Note].
"</td><td><form action='edit.php' method='POST'><input type='hidden' name='tempID' value='".$row['ID']."'/><input type='submit' name='submit-btn' value='Edit' /><form></td></tr>";
}
echo "</table>";
mysql_close();
?>
edit.php
<?echo'
<html>
<head>
<link rel="stylesheet" type="text/css" href="form.css">
</head>';
include '/var/www/phpMyEdit/open_dati.php';
$temp = $_POST['tempID'];
$query = "SELECT * FROM scadenziario WHERE ID = '$temp' ";
$result= mysql_query($query);
while($row = mysql_fetch_array($result)){
$aspettogen = $row['Aspetto_Generale'];
$desc = $row['Descrizione'];
$ragsoc = $row['Ragione_Sociale'];
$numcivico = $row['Num_Civico'];
$validita = $row['Valdita'];
$odierna = $row['Data'];
$preavviso = $row['Preavviso'];
$scadenza = $row['Scadenza'];
$presc = $row['Prescrizioni'];
$freq = $row['Frequenza'];
$datacontr = $row['Data_Controllo'];
$proxcontr = $row['Prox_Controllo'];
$note = $row['Note'];
}?>
<? echo'
<body>
<div class="container">
<form id="contact" method="POST">'?>
<? echo'
<img src="logo.jpg">
<fieldset>
<input name="aspettogen2" type="text" value="'.$aspettogen.'">
</fieldset>
<fieldset>
<input name="desc" type="text" maxlength="255" value="'.$desc.'">
</fieldset>
<fieldset>
<input name="ragsoc" type="text" maxlength="100">
</fieldset>
<fieldset>
<input name="numcivico" type="text" maxlength="20">
</fieldset>
<fieldset>
<input name="validita" type="text">
</fieldset>
<fieldset>
<input name="odierna" type="data">
</fieldset>
<fieldset>
<input name="preavviso" type="text">
</fieldset>
<fieldset>
<input name="scadenza" type="text">
</fieldset>
<fieldset>
<input name="presc" type="text" maxlength="255">
</fieldset>
<fieldset>
<input name="freq" type="number">
</fieldset>
<fieldset>
<input name="datacontr" type="text">
</fieldset>
<fieldset>
<input name="proxcontr" type="text">
</fieldset>
<fieldset>
<input name="note" type="text">
</fieldset>
</form>
</div>
</body>
</html>';
mysql_close();
?>
但我不明白为什么在页面edit.php中,id值总是表DB的最后一条记录。
例如,我的表有 35 条记录,如果我单击页面“elenco.php”中第 10 行的编辑按钮,在页面 edit.php 中我总是收到 ID = 35(数据库的最后一条记录) .
你们能帮帮我吗?
【问题讨论】:
-
你检查源代码了吗?
-
您是否在浏览器控制台的所有隐藏输入中看到 35?
-
在页面的控制台中我看到每个按钮编辑的正确值,但在页面edit.php中我总是收到最后一条记录
-
echo "<tr><td>ID</td><td> //table;缺少右引号 -
elenco.php 文件中很少有引用(
'和")错误。更正它并再次检查。