global_settings
テーブルからwhileループを使用してフォームフィールドにデータを入力する以下のPHP/HTMLがあります
<?php
$global_sql2="SELECT name, field, value FROM global_settings";
$global_rs2=mysql_query($global_sql2,$conn) or die(mysql_error());
while($global_result2=mysql_fetch_assoc($global_rs2))
{
echo '<tr>
<td><strong>'.$global_result2["name"].'</strong></td>
<td><input type="text" name="'.$global_result2["value"].'" size="50" value="'.$global_result2["value"].'" /></td>
</tr>';
}
?>
フォームが送信されると、データベースの各行がテキスト フィールドに入力された値で更新される必要があります。
たとえば、データベースには次の行があります。
name = Company Name
field = company_name
value = Company ABC
投稿された値は、会社 XYZ として設定されます
したがって、SQLは次のように言う必要があります。
`UPDATE tablename set value = 'Company XYZ' where field = 'company_name'`
しかしそうではない、と言っています:
UPDATE tablename set value = 'Company XYZ' where field = 'company_name'
<?php
$global_sql3="SELECT name, field, value FROM global_settings";
$global_rs3=mysql_query($global_sql3,$conn) or die(mysql_error());
while($global_result3=mysql_fetch_assoc($global_rs3))
{
$sql="UPDATE global_settings set value = '".$_POST[$global_result3["field"]]."' where field = '".$_POST[$global_result3["value"]]."' ";
echo '<br><br>'.$sql;
$rs=mysql_query($sql,$conn) or die(mysql_error());
echo '<h3>Successfully Updated</h3>';
}
?>
テーブルが呼び出されglobal_settings
、列があります(name, field, value)
したがって、基本的に、名前とフィールドのフィールドは、値のフィールドだけがユーザーによって変更されることはありません
テキストフィールドの値が変更されたときにvalue
フィールドglobal_settings
が更新されない - 問題が何であるかわかりません