• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Lista rozwijana i dodawanie z użyciem PHP i SQL

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
+1 głos
1,048 wizyt
pytanie zadane 9 listopada 2020 w PHP przez ariva6152 Użytkownik (570 p.)
edycja 24 stycznia 2021 przez ariva6152

Witam, Potrzebuję z listy rozwijanej dodać rekord do tabeli. Mam już wykonaną listę rozwijaną(wyświetla mi rekordy) jednak nie pobiera wybranego rekordu aby go dodać do bazy. Gdzie popełniłem błąd? 

	<label>Departament</label>
					<?php
					$mysqli= NEW mysqli('localhost', 'root','','test');

					$resultSet=$mysqli->query("Select nazwa_departamentu from departamenty;");
					?>

					<select name="departament" id="departament" name="departament">
					<?php	
					while($rows=$resultSet->fetch_assoc())
					{
						$nazwa_kategorii = $rows['departament'];
						echo "<option value=$departament'>$departament</option>";
					}

					?>


					</select>

Przypuszczam że coś pomyliłem w option value jednak moje próby są daremne.

1 odpowiedź

+2 głosów
odpowiedź 9 listopada 2020 przez VBService Ekspert (255,840 p.)
wybrane 26 stycznia 2021 przez Arkadiusz Waluk
 
Najlepsza

Zgubiłeś apostrof ( wink

echo "<option value='
$departament'>$departament</option>";
Twój

echo "<option value=$departament'>$departament</option>";

na

echo "<option value='$departament'>$departament</option>";

 

komentarz 9 listopada 2020 przez ariva6152 Użytkownik (570 p.)
Zgadza się brakuje apostrofu jednak problem nadal występuje. Teraz przemyślałem to, mam 2 tabele połączone kluczem obcym i ta tabela departamenty ma tylko 2 kolumny ID oraz nazwę departamentu. Pobiera mi w liście rozwijanej, jednak do insertu potrzebuję tylko ID tego departamentu. Próbuję to wykonać, tez bez skutku.
1
komentarz 9 listopada 2020 przez VBService Ekspert (255,840 p.)
edycja 9 listopada 2020 przez VBService
               <?php
                $mysqli= NEW mysqli('localhost', 'root','','test');
 
                $resultSet=$mysqli->query("Select id, nazwa_departamentu AS 'departament' from departamenty;");
                ?>
 
                <select name="departament" id="departament" name="departament">
                <?php    
                while($rows=$resultSet->fetch_assoc())
                {
                        echo "<option value='".$rows['id']."'>".$rows['departament']."</option>";
                }
                 ?>
 
 
                </select>

 

komentarz 9 listopada 2020 przez ariva6152 Użytkownik (570 p.)

Już prawie działa. Próbowałem wykorzystać to co Ty napisałeś i niestety nie zadziałało mi. Samemu stworzyłem to: 


					$resultSet=$mysqli->query("Select id_dep, nazwa_departamentu from departamenty;");
					?>

					 <select name="departament" id="departament" name="departament">
					<?php	
					while($rows=$resultSet->fetch_assoc())
					{
						$id_dep = $rows['id_dep'];
						echo "<option value='$id_dep'>$id_dep</option>";
					}

					?>


					</select>

Dodaje dane do tabeli. Jednak w liście rozwijanej nie ma nazwy są tylko numerki 1-10.  Próbuję dalej ulepszać :) 

komentarz 9 listopada 2020 przez ariva6152 Użytkownik (570 p.)
Zapomniałem dodać. Dodaje do tabeli poprawnie tzn cyfrę np 5, jednak staram się zrobić aby w liście rozwijanej użytkownik wiedział nazwę
1
komentarz 9 listopada 2020 przez VBService Ekspert (255,840 p.)

Dobrze jest unikać mieszania kodu php z html (czytelność kodu) wink

<?php
  $mysqli = new mysqli('localhost', 'root', '', 'test');
  $sql = "Select id_dep AS id, nazwa_departamentu AS 'departament' from departamenty";
  $result = $mysqli->query($sql);
  
  $rows = "";
  while ($row = $result->fetch_assoc()) {
      $rows .= "<option value=\"".$row['id']."\">"
               .$row['departament']."</option>";
  }

  $mysqli ->close();
?>

<label>Departament</label>
<select name="departament" id="departament" name="departament">
<?php echo $rows; ?>
</select>

 

1
komentarz 9 listopada 2020 przez ariva6152 Użytkownik (570 p.)
Przerobiłem po swojemu i zadziałało. Spróbuję też Twojego kodu. Dziękuję uprzejmie za Twoją pracę :) Zdrówka Ci życzę dobry człowieku !

Podobne pytania

0 głosów
1 odpowiedź 478 wizyt
pytanie zadane 10 maja 2018 w C# przez marines231 Nowicjusz (160 p.)
0 głosów
2 odpowiedzi 286 wizyt
pytanie zadane 20 marca 2021 w SQL, bazy danych przez gmcode Gaduła (3,140 p.)
0 głosów
0 odpowiedzi 531 wizyt
pytanie zadane 6 marca 2018 w SQL, bazy danych przez DinapeS Początkujący (350 p.)

93,100 zapytań

142,063 odpowiedzi

321,520 komentarzy

62,442 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...