从php中的textarea更新值

时间:2012-09-19 10:26:15

标签: php html

所以......在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的问题进行更新。在这一刻,如果我进行更新,我的所有问题都会被赋予相同的价值。如果我回应它,​​我修改它们时会给我带来值,但它不会在表中进行更新。你能否发表意见,因为我无法弄明白。

1 个答案:

答案 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
}

?>