Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Problem przy tworzeniu menu
Forum PHP.pl > Forum > Przedszkole
Vion
Witam
Mam takie 2 tabele w bazie danych (engine_menu, engine_menu_blok)




Mam formularz dzięki któremu można dodać menu do bloku.

  1. <?php function menu_add()
  2. {
  3.    ?>
  4.        <form action="menu_transact.php?action=add&type=menu" method="post">
  5.            <input type="text" name="menu_name" size="45" maxlength="40"> Nazwa nowego menu.<br><br>
  6.            <input type="text" name="menu_href" size="45" maxlength="40"> Nazwa pliku zródłowego.<br><br>
  7.            
  8.            <select name="menu_blok_id">
  9.            <option value="" selected>Wybierz blok</option>
  10.            <?php
  11.            $wynik = mysql_query("SELECT * FROM engine_menu_blok");
  12.            while($row = mysql_fetch_assoc($wynik)) {
  13.            echo '<option>'.$row['blok_name'].'</option>';
  14.             } ?>
  15.            </select>
  16.            
  17.            <input type="submit" name="submit" value="Dodaj">
  18.        </form>
  19.    <?php
  20. }

W formularzu znajduje się lista rozwijalna w której dokonujemy wyboru do jakiego bloku ma należeć moje menu. Wyboru dokonujemy poprzez wybranie nazwy(Glowna, Rozne, Informacje) nazwy te sa przechowywane w tabeli engine_menu_blok. I teraz jak zrobić aby po wybraniu w formularzu nazwy skrypt dodawał do tabeli engine_menu(w rekordzie menu_blok_id) odpowiedniego numeru jaki jest przyporządkowany nazwie bloku w tabeli engine_menu_blok
erix
Cytat
odpowiedniego numeru jaki jest przyporządkowany nazwie bloku w tabeli engine_menu_blok

<option value=""></option> winksmiley.jpg
Vion
Chodzi mi oto żeby skrypt po otrzymaniu nazwy bloku z formularza, porównywał je do rekordu blok_name w tabeli engine_menu_blok i pobierał odpowiedni blok_id a następnie wartość blok_id wstawił do tabeli engine_menu w rekordzie menu_blok_id
erix
Ale po co pobierać coś, co możesz od razu przesłać przez pole formularza? Wepchnij ID bloku do value, ewentualnie sprawdzaj potem, czy istnieje i w czym problem?
Vion
Nie wiem o co dokładnie chodzi, ale czy wtedy nie będzie w liście rozwijalnej do wyboru numery ID zamiast nazw ?
erix
Po to wstawiasz ID w value, a nie między <option></option>. Kurs HTML się kłania.
Vion
Mógłbyś mi to napisać albo bardzo dokładnie wytłumaczyć ? Teraz mój kod wygląda tak:
  1. <?php
  2. function menu_add()
  3. {
  4.    ?>
  5.        <form action="menu_transact.php?action=add&type=menu" method="post">
  6.            <input type="text" name="menu_name" size="45" maxlength="40"> Nazwa nowego menu.<br><br>
  7.            <input type="text" name="menu_href" size="45" maxlength="40"> Nazwa pliku zródłowego.<br><br>
  8.            
  9.            <select name="menu_blok_id">
  10.            
  11.            <?php
  12.            $wynik = mysql_query("SELECT * FROM engine_menu_blok");
  13.            while($row = mysql_fetch_assoc($wynik)) {
  14.            echo '<option>'.$row['blok_name'].'</option>';
  15.             } ?>
  16.            </select>
  17.            
  18.            <input type="submit" name="submit" value="Dodaj">
  19.        </form>
  20.    <?php
  21. }
slewin
chyba tak smile.gif
  1. <?php
  2. echo '<option value='.$row['blok_id'].'>'.$row['blok_name'].'</option>';
  3. ?>
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.