Из кода ниже, если он отображает 10 записей, и если пользователь изменяет «код» или «Номер» значение 2-й и 5-й записи, как вставить только то, что 2-й и 5-й запись в другой отдельной таблице. Но из моего запроса на вставку я могу вставить все 10 записей. Но мне нужно установить только две затронутые записи. Пожалуйста помоги.Вставка что особое значение изменилось запись
include('DB.php');
$sql="SELECT * FROM customer where customer_name='".$q."' ";
$result = mysql_query($sql);
$num_row = mysql_num_rows($result);
$row_count=1;
if($num_row>0)
{
echo "<table >
<tr>
<th>S.No</th>
<th>Name</th>
<th>Code</th>
<th>Number</th>
</tr>";
while($row = mysql_fetch_array($result)) {
$c_name=$row['c_name'];
$c_code=$row['c_code'];
$c_number=$row['c_number'];
echo "<tr>";
echo "<td> $row_count.</td>";
echo "<td><input type='text' name='c_name[]' id='c_name' value='$c_name' readonly /></td>";
echo "<td><input type='text' name='c_code[]' id='c_code' value='$c_code' /></td>";
echo "<td><input type='text' name='c_number[]' id='c_number' value='$c_number' /></td>";
echo "</tr>";
$row_count++;
}
echo "</table>";
}
ВСТАВИТЬ:
$c_name=$_POST['c_name'];
$c_code=$_POST['c_code'];
$c_number=$_POST['c_number'];
if(isset($c_code))
{
for($i=0;$i<count($c_code);$i++)
{
{
$insert=mysql_query("INSERT INTO customer_table2(name,code,number)
VALUES ('$c_name[$i]','$c_code[$i]','$c_number[$i]')");
}
}
Не используйте 'INSERT', используйте' UPDATE' для изменения существующих строк. Если значения одинаковы, это не будет иметь никакого эффекта. – Barmar
Нет. Мне нужно показать в отчете старую и новую запись, поэтому у меня есть две таблицы. Первая таблица будет иметь старую запись, вторая таблица (customer_table2) будет иметь только обновленные записи. –
Перед установкой проверьте, существует ли строка в старой таблице. – Barmar