フォームのデータを使用して配列をデータベースに更新したいとします。以下は私のフォームです:配列をSQLデータベースに更新する
$query = "SELECT category FROM `$tablename`";
$result2 = mysqli_query($link, $query);
$rowcount = mysqli_num_rows($result2);
if ($rowcount > 0) {
?>
<div class="center_content">
<div id="right_wrap">
<div id="right_content">
<ul id="tabsmenu" class="tabsmenu">
<li class="active"><a href="#tab1">Update Category</a></li>
<li class=""><a href="#tab2">Add Category</a></li>
<li class=""><a href="#tab3">View All Category</a></li>
</ul>
<div id="tab1" class="tabcontent">
<div style="margin:0 auto" align=center>
</div>
<div class="form">
<form action="editCatB.php" method="post">
<div class="form_row">
<label>Outlet Name:</label>
<input type="text" class="form_input" name="tablename" value="<?php echo $name; ?>"readonly/>
</div>
<div class ="form_row">
<label>Outlet Category/Stalls :</label>
</div>
<div class="form_row">
<div class="input_fields_wrap">
<?php
mysqli_data_seek($result2, 0);
while ($row2 = mysqli_fetch_array($result2, MYSQLI_ASSOC)) {
?>
<div><input class="form_input" type="text" name="mytext[]"value="<?php echo $row2['category']; ?>
"></div>
<?php
}
}
?>
そしてここに私のSQLです。私はそれぞれの行を更新する方法を知りたい。今のでそれだけで最初の値に私のcategory
のすべてを更新
$tableName = $_POST['tablename'];
$values = $_POST['mytext'];
$tableCat = $tableName . "categoryList";
$newString = preg_replace('/\s+/', '', $values);
for ($i = 0; $i < count($newString); $i++) {
$cat = $newString[$i];
$sql = "UPDATE `$tableCat` SET category = `$cat`";
$result = mysqli_query($link, $sql) or die(mysqli_error($link));
また、フィールドリスト 『まず
がよろしいです:私はテーブル
を作成するときに値を反復処理する場合次に、あなたがIDを引き出すことができます行のid値を使用してお勧めしたいですどのようなクエリでもabc列名が表示されないためです。 – Poria
未知のフィールドエラーについては、http://stackoverflow.com/questions/11321491/when-to-use-single-quotes-double-quotes-and-backticksを参照してください。 – Barmar
'UPDATE'に' WHERE'節が必要ですすべての行を更新するのではなく、更新する行を指定します。 – Barmar