mysqlデータベースの行を更新しようとしています。これを行うには、次のような簡単なクエリを使用します。
"UPDATE `contactinfo` SET `Company` = 'Google', WHERE `id` = '1';"
問題は、データベースが動的であり、ユーザーがいつでも列を追加できることです。だから私は列の名前を知りません。名前を見つけて、実際にmysqlの作業を行うページに投稿するフォームを作成するには、次のコードを使用します。
<?php
$result = mysql_query("select * from contactinfo WHERE `id` = '".$rid."';");
if (!$result) {
die('Query failed: ' . mysql_error());
}
$i = 0;
while ($i < mysql_num_fields($result)) {
$meta = mysql_fetch_field($result, $i);
if (!$meta) {
echo "ERROR";
}
$name = $meta->name;
$r = mysql_fetch_array(mysql_query("select * from contactinfo WHERE `id` = '".$rid."';"));
$content = $r[$name];
if($name != 'id') {
echo "<tr><td align='center'><div align='left'>Edit ".$name."</div></td></tr>";
echo "<tr><td align='center'><input type='text' value='" . $content . "' /></td></tr>";
}
$i++;
}
mysql_free_result($result);
?>
これにより、ユーザーが選択された行のコンテンツを編集できるようにする入力ボックスを備えた素敵な小さなテーブルが作成されます。行ID番号($ rid)は、変更する必要のある行を識別するために使用されます。
私の質問は、投稿されたフォームから行の新しいコンテンツを取得し、それを更新するためのクエリを作成するにはどうすればよいですか?フォームの名前と、クエリを作成するための新しいコンテンツを動的に取得する方法がわからないようです。
何か説明が必要な場合は、私に知らせてください。すべての助けをいただければ幸いです。
ありがとう。