html — зацикливание массива Php, создание динамической переменной для формы покупки

Все еще привыкаю к ​​stackoverflow извините мою новичок .. 🙂

Имейте запрос SQL, который возвращает данные, помещенные в таблицу в php. Я хочу, чтобы эта таблица использовалась для покупки.

Моя идея состояла в том, чтобы использовать идентификатор продукта, то есть я бы использовал динамическую переменную php (не уверен, что я делаю это прямо сейчас), полагаю, что я увидел сообщение, похожее на $. $ Varaible $. $, Оно было не очень ясным и была другая тема.

Мой код выглядит следующим образом:

$result = mysqli_query($con, "SELECT * FROM Product WHERE Type = 'Game'");
?>

<div class="wrapper">
<h1 class="headGame">Buy Some Games Man</h1>
</div>
<br />
<div class="wrapper">

<?php
echo
"<table border='1'>
<tr>
<th> Name </th>
<th> Picture </th>
<th> Console </th>
<th> Description </th>
<th> Price </th>
<th> Amount </th>
</tr>";

echo '<form id="gamesOrder" action="purchase.php">';

while($row = mysqli_fetch_array($result)) {
$id = $row['Pd_Key'];
echo"<tr>";
echo"<td>" . $row['Name'] . "</td>";
echo"<td>" . '<img class="prdPic" src="'. $row['Picture']. '">' . "</td>";
echo"<td>" . $row['Type2'] . "</td>";
echo"<td>" . $row['Description'] . "</td>";
echo"<td>" . $row['Price'] . "</td>";
echo"<td>"  . '<input type="number" min="0" max="100"; name="'.$id.'" value=0>' . "</td>";
echo"</tr>";
}
echo '<input type="submit" value="  BUY  ">';
echo '</form>';
?>

Когда я нажимаю на кнопку отправить, он меняет URL, но ничего не происходит, он не перенаправляет.

Любые советы о том, как заставить весь этот процесс работать. Переменная, используемая в форме покупки, через php-файл, т. Е. (Purchase.php), и переменная, используемая для этого.

РЕДАКТИРОВАТЬ — имели незначительные ошибки, но все еще не 100% для переменной% id, не будет ли это переопределено в каждом цикле, как я могу сделать его динамическим, чтобы его можно было использовать в форме для определения того, что пользователь хочет купить.

Теперь перенаправляет, но не на покупку .php

URL-адрес ~/purchase.php?1=0&2=0&3=0&4=0&5=0&6=0&7=0&8=0&9=0&10=0&11=0&12=0&13=0&14=0&15=0&16=0&17=0&18=0&19=0&20=0&21=0

Спасибо тебе легенды тебе !! = D

0

Решение

Вам не хватает закрывающей формы каретки:

echo '<form id="gamesOrder" action"purchase.php"';

должно быть:

echo '<form id="gamesOrder" action="purchase.php">';

Также у вас неверная конкатенация для ID:

echo"<td>"  . '<input type="number" min="0" max="100"; name=".$id." value=0>' . "</td>";

должно быть просто:

echo"<td>"  . '<input type="number" min="0" max="100"; name="id" value="' .$id. '" value=0></td>';

Для доступа к идентификатору в purchase.php используйте следующий код:

$id = isset($_GET['id']) ? $_GET['id'] : null;

И вам нужно назначить действие на форму со знаком равенства:

action="myaction.php"
1

Другие решения

И вы не передаете идентификатор правильно …

    echo"<td>"  . '<input type="number" min="0" max="100"; name=".$id." value=0>' . "</td>";

должно быть

    echo"<td>"  . '<input type="number" min="0" max="100"; name="'.$id.'" value=0>' . "</td>";

Ой, а на бланке нужно выставить действие =

    echo '<form id="gamesOrder" action="purchase.php">';
0

Итак, сначала у вас есть ошибка HTML, давайте посмотрим:

  • В элементе Form вам нужно закрыть его, а также включить метод (как POST), см.

    < form id = «gamesOrder» action = «purchase.php» method = «POST»>

  • Чтобы отправить данные с помощью формы, вам нужно будет включить данные из базы данных в поля формы, например:

    эхо< input type = «text» name = «myFieldName» value = «‘. $ row [‘ Price ‘].'»> ‘;

Любой вопрос, дайте мне знать …
Приветствия.

0
По вопросам рекламы [email protected]