• 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

Object Storage Arubacloud
+1 głos
771 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 (252,740 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 (252,740 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 (252,740 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ź 438 wizyt
pytanie zadane 10 maja 2018 w C# przez marines231 Nowicjusz (160 p.)
0 głosów
2 odpowiedzi 217 wizyt
pytanie zadane 20 marca 2021 w SQL, bazy danych przez gmcode Gaduła (3,120 p.)
0 głosów
0 odpowiedzi 331 wizyt
pytanie zadane 6 marca 2018 w SQL, bazy danych przez DinapeS Początkujący (350 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...