Я делаю онлайн-заказ для университета с помощью Bootstrap/PHP/PDO/SQL. До сих пор я сделал страницу, которая позволяет мне вводить категорию продукта в базу данных, таблица называется «tuoteryhma», которая содержит значения «имя» и «id». Теперь im делает страницу, которая добавит продукт в «product» -table.Получение идентификатора выбранной таблицы в HTML select
Im пытается сделать это, с помощью основной формы HTML, верхний является отборный класс, который я связан с базой данных «tuoteryhma» как так:
<?php
try {
$sqljr='SELECT * FROM tuoteryhma';
$kyselyx=$tietokantajr->query($sqljr);
while ($tietuejr = $kyselyx->fetch()) {
print '<option>' . $tietuejr['nimi'] . '</option>';
}
} catch (PDOException $pdoexjr) {
print "Tietokannan avaus epäonnistui." . $pdoexjr->getMessage();
}
?>
И это работает правильно. Теперь моя проблема в том, что мне нужно как-то получить значение id выбранной таблицы «tuoteryhma» и добавить id в часть «добавить продукт» в код. Идентификатором tuoteryhma является внешний ключ таблицы туотетов.
Я пытался добавить codelines в то время цикла вы можете видеть выше, как:
$id = $tietuejr['id']
А затем поместить переменную $ ID, как выберите значение, например так:
<select class="form-control" name="tuoteryhmat" value="<?php $id ?>" id="tuoteryhmat">
И затем, используя это в моем другом заявлении try-catch, который (если он будет работать), добавит новый продукт в таблицу продуктов, например:
<?php
if (isset($_POST['tuoteryhmat'])) {
try {
$nimijr = filter_input(INPUT_POST,'nimi',FILTER_SANITIZE_STRING);
$kuvausjr = filter_input(INPUT_POST,'kuvaus',FILTER_SANITIZE_STRING);
$hintajr = filter_input(INPUT_POST,'hinta',FILTER_SANITIZE_NUMBER_INT);
$idjr2 = filter_input(INPUT_POST, 'tuoteryhma_id');
$kyselyjr2 = $tietokantajr->prepare("INSERT INTO
tuote (nimi,kuvaus,hinta,tuoteryhma_id) VALUES
(:nimi,:kuvaus,:hinta,tuoteryhma_id:)");
$kyselyjr2->bindValue(':nimi', $nimijr, PDO::PARAM_STR);
$kyselyjr2->bindValue(':kuvaus', $kuvausjr, PDO::PARAM_STR);
$kyselyjr2->bindValue(':hinta', $hintajr, PDO::PARAM_STR);
$kyselyjr2->bindValue(':tuoteryhma_id', $idjr2, PDO::PARAM_STR);
$kyselyjr2->execute();
print "<p>VITTU</p>";
print "<p>Tuote tallennettu onnistuneesti!</p>";
} catch (PDOException $pdoextuotejr) {
print "Tuotteen tallennuksessa tapahtui virhe."
. $pdoextuotejr->getMessage();
}
}
?>
Не повезло. Любая помощь приветствуется, заблаговременно.
* Извините, если я не понял некоторые вещи или оставил что-то важное из этого. Это .php страница на всей ее полноте: http://pastebin.com/JRwi8B2p
'value =" "Вам нужно повторить это. 'value =" php echo $ id?> "' –
О, не заметил этого раньше. Изменено, но все равно не работает. – Jantte
Трудно сказать, используете ли вы какой-то метод POST здесь. В вашем вопросе нет ничего, что предполагает 'method =" post "или использование формы, или jQuery' $ .post'. проверьте наличие ошибок и проверьте свою консоль, если вы используете JS/Ajax. –