所以......在textarea中我带来存储在我表中的值来修改它们:
$l=mysql_query("select * from intrebari where cod_chestionar='".$_SESSION['cod']."'");
echo "<form method='POST' action='lalalalal.php'>";
echo "<textarea name='edit' cols='50'>";
while($p=mysql_fetch_array($l))
{
echo $p[denumire_intrebare];
echo "\n";
}
echo "</textarea>";
echo "<input type='submit' value='Finished' name='save_edit'/>";
echo "</form>";
}
一切都很好..价值,即问题,是分开来的。现在我想在必要时进行更新。所以在我的更新文件中,我这样做:
$a=$_POST['edit'];
$a_array=explode("\n",$a);
foreach($a_array as $b)
{
$sql=mysql_query("UPDATE intrebari set denumire_intrebare='$b' WHERE cod_chestionar='".$_SESSION['cod']."'");
echo $b;
}
我想要所有具有相同cod_chestionar的问题进行更新。在这一刻,如果我进行更新,我的所有问题都会被赋予相同的价值。如果我回应它,我修改它们时会给我带来值,但它不会在表中进行更新。你能否发表意见,因为我无法弄明白。
答案 0 :(得分:1)
您使用一个<textarea>
用于多条记录,您必须使用单独的textarea
来修改它们并单独更新它们。
您的intrebari
表格中必须有唯一的ID字段,我们会将其命名为id
,我们会用它来解决您的问题:
<?php
$l = mysql_query("select * from intrebari where cod_chestionar='".$_SESSION['cod']."'");
echo "<form method='POST' action='lalalalal.php'>";
while($p = mysql_fetch_array($l)){
echo "<textarea name='edit[".$p['id']."]' cols='50'>"; // Using `id` field here to make array of textareas
echo $p[denumire_intrebare];
echo "</textarea>";
}
echo "<input type='submit' value='Finished' name='save_edit'/>";
echo "</form>";
?>
更新:
<?php
$a = $_POST['edit'];
foreach($a AS $id => $b){
$b = mysql_real_escape_string($b);
$id = mysql_real_escape_string($id);
$sql = mysql_query("UPDATE intrebari set denumire_intrebare='$b' WHERE id='".$id."'"); // Using id field again
}
?>