フォームに問題があります。私はデータベースを持っており、フォームを使用して、php関数foreachを使用してクライアントからすべてのデータを取得します。
アクションページ(invoice.php)では、選択したすべてのアイテムを表示できますが、各アイテムの数量を入力するたびに、最後に入力したテキストボックスのみが表示されます。
私はそれをもう説明する方法がわからないので、ここに私のコードがあります:
form.php:
<input type="text" name="txtbox[<?php echo $input->id_article; ?>]" value="<?php echo $input->id_article; ?>" placeholder="1" style="text-align: center; width:30px;"></input>
<input
type="checkbox"
name="checked_articles[]"
value="<?php echo $input->id_article; ?>">
<?php echo "(".
($input->ref_article).")".
($input->nom_article)." (".
($input->prix_article)." €)"; ?><br>
<?php endforeach; ?>
invoice.php(mysqlデータクエリのヘッダー):
if(isset($_POST['checked_articles'])){
foreach($_POST['checked_articles'] as $chkbx){
$sql_articles = 'SELECT * FROM articles WHERE id_article="'.$chkbx.'"';
$req_articles = mysql_query($sql_articles) or die('Erreur SQL !<br>'.$sql_articles.'<br>'.mysql_error());
$data_articles[] = mysql_fetch_assoc($req_articles);
}}
$textbox = $_POST['txtbox'][$chkbx];
invoice.php(データが表示される場所):
<?php foreach ($data_articles as $input) : ?>
<tr>
<td><?php echo $input['ref_article']; ?></td>
<td><?php echo $input['nom_article']; ?></td>
<td><?php echo $textbox; ?></td> <!-- Where I want the quantity to be displayed -->
<td><?php echo $input['prix_article']; ?> €</td>
<td><?php echo $input['prix_article']*$textbox; ?> €</td>
</tr>
<?php endforeach; ?>
選択したアイテムごとに、ユーザーがテキストボックスに入力した数量を表示したいと思います。
どんな助けでも大歓迎です!
ありがとうございました!