Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Dodoanie podkategorii za pomcą formularza
Forum PHP.pl > Forum > PHP
arlid
Witam. Mam pewien problem i nie bardzo wiem jak za to się zabrać.

Mam dwie tabele w bazie: Kategorie, gdzie mam pola ID_Kategorii (Primary oraz Nazwa_kategorii, oraz tabelę Podkategorie z kolumnami ID_podkategoria (Primary), ID_kategoria, nazwa_podkategoria.

Jak zrobić formularz, który pozwoli mi dodać podkategorie do istniejącej już kategorii? Chciałbym, żeby wyglądało to w taki sposób, że mam listę wyboru kategorii i poniżej pole tekstowe, gdzie wpisuję nazwę podkategorii. Po naciśnięciu przycisku wiadoma akcja - dodaje się podkategoria do danej kategorii. Wymyśliłem, że mogłoby to "robić się" w taki sposób.
1. Do listy wyboru kategorii pobierana jest aktualna lista kategorii z tabeli "Kategorie"
2. Wpisujemy kategorię
3. Po naciśnięciu przycisku "Zapisz" do tabeli Podkategorie dodaje się kolejno ID_podkategoria (autoinkremencjaa), ID_kategorii (pobierane jakoś z listy wyboru -> oczywiście dla wybranej kategorii) i nazwa_kategorii wpisana przez użytkownika.

Niby proste, jednak nie wiem jak pobrać kategorie do listy wyboru i ewentualnie powiązać ID, bo raptem wyświetlenie jakby bazy kategorii i podkategorii można zrobić JOINem o ile się nie mylę. Ewentualnie jedna strona to kategorie i odnośniki, gdzie podkategorie wywołam po ID_kategorii.

Dzięki za pomoc.
Kshyhoo
Ja używam takiego kodu:
  1. echo '<form method="post" name="form1" action="a.php"> ';
  2. $kat_list = "";
  3. $sel = "";
  4. $result = dbquery("SELECT kat_id, kat_kategoria FROM kategorie WHERE kat_cat='0' ORDER BY kat_order");
  5. if (dbrows($result) != 0) {
  6. while ($data = dbarray($result)) {
  7. $result2 = dbquery("SELECT kat_id, kat_order, kat_kategoria FROM kategorie WHERE kat_cat='".$data['kat_id']."' ORDER BY kat_order");
  8. if (dbrows($result2) != 0) {
  9. $kat_list .= "<optgroup label='[".$data['kat_id']."] ".$data['kat_kategoria']."'>\n";
  10. while ($data2 = dbarray($result2)) {
  11. if ($_GET['kat_id'] == $data2['kat_id']) { $sel = " selected"; } else { $sel = ""; }
  12. $kat_list .= "<option value='".$data2['kat_id']."'$sel>[".$data2['kat_id']."] [".$data2['kat_order']."] ".$data2['kat_kategoria']."</option>\n";
  13. }
  14. $kat_list .= "</optgroup>\n";
  15. }
  16. }
  17. }
  18. echo 'Kategorie: &nbsp;<select name="kat_id[]" style="width: 200px" size="10" multiple>\n'.$kat_list.'</select> &nbsp;
  19. <input type="hidden" name="zet" value="1" /> &nbsp;
  20. <input type="submit" value="Dodaj"></form>';

Wyciąga mi to kategorie i podkategorie. Dopasuj do swoich potrzeb.
Przykładowa baza wygląda tak:
  1. kat_id kat_kategoria kat_cat kat_order
  2. 1 Programowanie 0 1
  3. 2 HTML 1 1
  4. 3 HTML5 1 2
  5. 4 CSS 1 3
  6. 5 CSS3 1 4
  7. 6 PHP 1 5
  8. 7 MySQL 1 7
  9. 8 PostgreSQL 1 9
  10. 9 JavaScript 1 10

0 to kategoria...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.