Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]Problem przy tworzeniu menu
Vion
post
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 2
Dołączył: 27.06.2008

Ostrzeżenie: (0%)
-----


Witam
Mam takie 2 tabele w bazie danych (engine_menu, engine_menu_blok)

(IMG:http://img8.imageshack.us/img8/6483/bazadanychf.jpg)


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
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
odpowiedniego numeru jaki jest przyporządkowany nazwie bloku w tabeli engine_menu_blok

<option value=""></option> (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Vion
post
Post #3





Grupa: Zarejestrowani
Postów: 112
Pomógł: 2
Dołączył: 27.06.2008

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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?
Go to the top of the page
+Quote Post
Vion
post
Post #5





Grupa: Zarejestrowani
Postów: 112
Pomógł: 2
Dołączył: 27.06.2008

Ostrzeżenie: (0%)
-----


Nie wiem o co dokładnie chodzi, ale czy wtedy nie będzie w liście rozwijalnej do wyboru numery ID zamiast nazw ?
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Po to wstawiasz ID w value, a nie między <option></option>. Kurs HTML się kłania.
Go to the top of the page
+Quote Post
Vion
post
Post #7





Grupa: Zarejestrowani
Postów: 112
Pomógł: 2
Dołączył: 27.06.2008

Ostrzeżenie: (0%)
-----


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. }
Go to the top of the page
+Quote Post
slewin
post
Post #8





Grupa: Zarejestrowani
Postów: 104
Pomógł: 7
Dołączył: 9.12.2008
Skąd: wroc

Ostrzeżenie: (0%)
-----


chyba tak (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
  1. <?php
  2. echo '<option value='.$row['blok_id'].'>'.$row['blok_name'].'</option>';
  3. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 16:52