08.08.2022 23:46
1
Zdravím, mám zde jednu prosbičku, nevím si rady, jak mohu vkládat dvě položky z jednoho elementu do databáze?
Příklad:

Kód:
<select name="kategorie">
<option value="1">Kategorie s ID1</option>
<option value="2">Kategorie s ID2</option>
</select>
Teď i tohoto kodu si nevím rady, jak mám vytáhnout data, aby se do databáze (SQL) vložilo jak název, tak ID toho vybraného <option>
V databázi by to mělo zobrazit v jedné kolonce tabulky: 
ID_Kategorie
1
2

a v druhé kolonce tabulky:
nazev_kategorie
Kategorie1
Kategorie2

Zde je můj způsob vkládání do DB:

Kód:
if (isset($_POST['vytvorit-kategorii'])) {

$nazev_kategorie = $_POST['nazev-kategorie'];
$id_kategorie = zde si nevím rady, jak vytáhnout jak název tak i id zvlašt...;

$sql = ("INSERT INTO kategorie_produktu (nazev_kategorie, id_kategorie)
VALUES ('$nazev_kategorie', '$id_kategorie')
");
 
}
Nebo pokud existuje nějaká jiná varianta, jak vypsat v databázi jak ID tak i název vybraného select option...
Ono každý vybraný název má vlastní ID, tak jestli to jde nějak jinak udělat...

---------- Příspěvek doplněn 09.08.2022 v 01:44 ----------

Tak už jsem to vyřešil :) záhada se skrývala ve způsobu vkládání do databáze. Zbytek bylo správně napsané.
Zde je kod kdyby to někdo hledal:

Kód:
if (isset($_POST['vytvorit-kategorii'])) {

$id_nadrazena_kategorie = $_POST['id-nadrazena-kategorie'];    
$nazev_kategorie = $_POST['nazev-kategorie'];


if($id_nadrazena_kategorie){
$result = mysqli_query($conn,"SELECT nazev_kategorie FROM kategorie_produktu WHERE id_kategorie=$id_nadrazena_kategorie");
while($row = mysqli_fetch_array($result)){  
$nadrazena_kategorie =  $row['nazev_kategorie']; 
  } 
}

$sql = ("INSERT INTO kategorie_produktu (nazev_kategorie, id_nadrazene_kat, nadrazena_kategorie)
VALUES ('$nazev_kategorie', '$id_nadrazena_kategorie', '$nadrazena_kategorie')
");
 
}
HTML:
Kód:
<form method="POST" action="form-kategorie2.php">

<input type="text" placeholder="nazev kategorie" name="nazev-kategorie">

<select name="id-nadrazena-kategorie"> 
<option value="">Nadřazená kategorie</option>
<?php  
$result = mysqli_query($conn,"SELECT * FROM kategorie_produktu");
while($row = mysqli_fetch_array($result)){ ?>
 <option value="<?php echo $row['id_kategorie'];?>"> <?php echo $row['nazev_kategorie'];?></option>
<?php } ?>
</select>
 
<input type="submit" value="vytvořit kategorii" name="vytvorit-kategorii">
</form>