私は、ユーザが請求書フォームを編集できる編集ページを持っています。配列をテーブルにエコーするが、各配列をテーブルの新しい行に分ける必要がある。新しい行へのエコー配列
私が値をエコーすると、その値が1行にまとめられます。私は入力フィールドに値をエコーするとき、私は配列から1つのレコードを取得します。ここで
は、それが私のテーブルでは、次のようになります。その後、<?php
$id = $_GET['id'];
$result = mysqli_query($mysqli, "SELECT * FROM invoices WHERE id=$id");
while($res = mysqli_fetch_array($result))
{
$partnumber = $res['partnumber'];
$partdescription = $res['partdescription'];
$partprice = $res['partprice'];
$partquantity = $res['partquantity'];
}
>
<tr>
<td><?php echo $partnumber;?></td>
<td><?php echo $partdescription;?></td>
<td><?php echo $partprice;?></td>
<td><?php echo $partquantity;?></td>
</tr>
:私はこれを取得
<tr>
<td><input type="text" class="input-small" name="partnumber[]" value=<?php echo $partnumber;?>></td>
<td><input type="text" class="input-small" name="partdescription[]" value=<?php echo $partdescription;?>></td>
<td><input type="text" class="input-small" name="partprice[]" size="4" value=<?php echo $partprice;?>></td>
<td><input type="text" class="input-small" name="partquantity[]" size="4" value=<?php echo $partquantity;?>></td>
</tr>
私はこの取得:私は次のことを試みたが、彼らは両方の結果が空白のエコーで
を:
<tr>
<td><? echo $res['partnumber']; ?></td>
</tr><tr>
<td><? echo $res['partdescription']; ?></td>
</tr><tr>
<td><? echo $res['partprice']; ?></td>
</tr><tr>
<td><? echo $res['partquantity']; ?></td>
</tr>
そして
<? foreach ($res as $row) { ?>
<tr>
<td><? echo $row['partnumber']; ?></td>
<td><? echo $row['partdescription']; ?></td>
<td><? echo $row['partprice']; ?></td>
<td><? echo $row['partquantity']; ?></td>
</tr>
<?
}
?>
助けてください
EDIT *************
私はテーブルが動作したらセキュリティの問題を修正します。
私はこれを試みましたが、出力はまだ1行にあります。
<?php
$id = $_GET['id'];
$result = mysqli_query($mysqli, "SELECT * FROM invoices WHERE id='".mysql_real_escape_string($id)."' ");
while($res = mysqli_fetch_array($result))
{
?>
<tr>
<td><input type="text" class="input-small" name="partnumber[]" value=<?php echo $res['partnumber'];?>></td>
<td><input type="text" class="input-small" name="partdescription[]" value=<?php echo $res['partdescription'];?>></td>
<td><input type="text" class="input-small" name="partprice[]" size="4" value=<?php echo $res['partprice'];?>></td>
<td><input type="text" class="input-small" name="partquantity[]" size="4" value=<?php echo $res['partquantity'];?>></td>
<?php
}
?>
このヘルプをしていますか?
私は1つのレコードに複数の値を持ち、それら私はカンマで区切るてるので、そののみ1つのレコードを表示し、注意してください。上記のスクリーンショットを確認してください。ここでは、コードです:
$partnumber = $_POST['partnumber'];
$partnumberarray = implode(", ", $partnumber);
$partdescription = $_POST['partdescription'];
$partdescriptionarray = implode(", ", $partdescription);
$partprice = $_POST['partprice'];
$partpricearray = implode(", ", $partprice);
$partquantity = $_POST['partquantity'];
$partquantityarray = implode(", ", $partquantity);
$result = mysqli_query($mysqli, "INSERT INTO invoicespartnumber, partdescription, partprice, partquantity, login_id) VALUES('$partnumberarray', '$partdescriptionarray', '$partpricearray', '$partquantityarray', '$loginId')");
は、私はテーブルの上に複数の行にカンマで区切られて1枚のレコードから値をエコーすることができますとにかくありますか?
あなたは 'mysqlの文でID'を指定。複数のレコードがあることは確かですか? – Natsathorn
*セキュリティ警告*:あなたのPHPは注射可能です。このようなSQLクエリーを使用する場合は非常に注意してください。 page.php?id = 0またはdrop tableを考えてみてください。 –
@ user1235709あなたのmysqlテーブルの詳細を教えてください。特に、私はあなたの 'ID'を本当に見たいと思っています – Natsathorn