追加ボタンで必要に応じて行を追加できるテーブルがあります。私はデータベースproduct_sizeとproduct_colorに2つのテーブルを持っています。 Product_colorテーブルには、サイズIDを含む列があります。 2つ以上の行の値が同じサイズ表(たとえば「小さい」)であれば、すべての小さな色のカラー表に同じsize_idを挿入する必要があります。私のコードをチェックし、誰かができる場合は助けてください。 mysqlの2つの行を一致させる方法PHPの同じテーブル
CODE:
if (isset($_POST['submit']))
{
$con=mysqli_connect("localhost", "root", "");
mysqli_select_db($con,"login");
for ($i=0; $i<count($_POST['size']); $i++){
$size = $_POST['size'][$i];
$qry1="INSERT INTO product_size (product_size) VALUES ('$size')";
$result1=mysqli_query($con,$qry1);
$product_size_id = mysqli_insert_id($con);
$quantity = $_POST['dress_quantity'][$i];
$color = $_POST['color'][$i];
$qry2="INSERT INTO product_color (product_size_id, product_color, product_quantity) VALUES ('$product_size_id', '$color', '$quantity')";
$result2=mysqli_query($con,$qry2);
if($result2)
{
echo '<script>alert("Record Added Successfully!")</script>';
echo '<script>window.location="try.php"</script>';
}
else
{
die("Error While Adding Stock! Please Try Again.");
}
}
}
// HTMLのCODE:
<TABLE id="dataTable">
<thead>
<tr>
<th style="text-align: center;"> Select </th>
<th style="text-align: center;"> <b>Size</b> </th>
<th style="text-align: center;"> <b>Color</b> </th>
<th><b>Quantity</b></th>
</tr>
</thead>
<tbody>
<tr id='C1' class='customer'>
<td><input type="checkbox" name="chk"/></td>
<td><select name="size[]" id="size" required="" >
<option value="">Select Size</option></select></td>
<td>
<select name="color[]" required="" >
<option value="">Select Color</option>
<option value="Aqua">Aqua</option>
<option value="Blue">Blue</option>
<option value="Black">Black</option>
<option value="Green">Green</option>
</select></td>
<td>
<input style="width: 120px; height: 26px; " oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);" type="number" name="dress_quantity[]" class="qty1" onchange="calculate();" min="1" max="1000" maxlength="4" placeholder="Size Quantity" value="" required="">
</td>
</tr>
</tbody>
</TABLE>
<INPUT type="button" value="Add Row" onclick="addRow('dataTable')" />
<INPUT type="button" value="Delete Row" onclick="deleteRow('dataTable')" />
これは 'size'をループしているので、次の行で' size ++ 'を得るためです。あなたのサイズがテーブルにあらかじめ定義されている場合は、ループする必要はありません。データをプルしてフォームを作成し、提出されたデータから値を読み取り、それをカラーテーブルに入れてください。 – Sand
htmlテーブルから値を挿入していますので、ループのサイズはすべての行の値を挿入できるようにする必要があります – Moon
ループは常に1つ以上の値を追加するため、商品IDと一致することはありません – Sand