Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] Rozozwijane menu, i wartości z bazy MySQL
ergoline
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 26.12.2008

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


Witam!

Chciałbym uzyskać taki efekt: na stronie jest formularz (to nie jest problem), a dodatkowo 3 rozwijane menu, do których dane będą pobierane z 3 tabel na serwerze MySQL. Dodatkowo, po wypełnieniu formularza oraz po wybraniu opcji z rozwijanego menu, wpis ma zostać dodany do bazy danych (dane z formularza + to co zostało wybrane).
Czy jest jakiś w miarę prosty system, aby to uzyskać?

1. Chodzi głównie o skrypt rozwijanego menu, które pobiera dane z MySQL.
2. Jak wpisać w poleceniu "insert" te dane, które zostały wybrane z rozwijanego menu - może zarejestrować wybór jako nową zmienną (jak)?

Z góry dzięki...
Pozdrawiam...
Go to the top of the page
+Quote Post
xerek
post
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 27.07.2008

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


Nie zamierzam pisac za ciebie calego skryptu ale sprobuje chociaz naprowadzic ciebie na wlasciwą drogę.

Mianowicie

a) Naprostszy sposob to Wykonac zapytanie do bazy danych i nastepnie wynik zapytania umiescic w znacznikach option pola select w xhtml
np.

$sql = mysql_query("SELECT * FROM ...");
echo "<Select>";
while($row=mysql_fetch_row($sql)) {
echo "<option>  np $row['jakies pole z db']  </option> ";
}
echo '</select>';


cool.gif Uzywając polecenia insert masz na mysli INSERT INTO z mysql?
Jesli tak wykonujac powyzsze zapytanie mozesz najprosciej skorzystac z tablic gloalnych $_GET i $_POST bo dane ktore sa wysylane za pomoca formularza znajduja sie wlasnie w nich ...
Oczywiscie wypadalo by jeszcze sprawdzic poprawnosc danych i ich walidacje ale oczywiscie przedstawilem najprostszy sposob.
pozdrawiam
Go to the top of the page
+Quote Post
ergoline
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 26.12.2008

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


Dzięki za pomoc, jednak ciągle nie imiem sobie z tym poradzić...

Tak wygląda mój plik "dodaj.php":
Kod
<?php

require ("check.php");

mysql_connect ("localhost", "ergoline", "123456");
mysql_select_db ("db_ergoline");

echo '
<form action="dodaj.php" method="post">
    <table>
    <tr>
        <td>Imię: </td>
        <td><input type = "text" name = "imie"></td>
    </tr>
    <tr>
        <td>Nazwisko: </td>
        <td><input type = "text" name = "nazwisko"></td>
    </tr>';
    
$sql = mysql_query ("SELECT * FROM kierunek");
echo '<Select>';
while ($row = mysql_fetch_row($sql))
{
    echo '<option>$row["nazwa"]</option>';
}
echo '</select>

    <input type = "submit" value = "Dodaj studenta" />
    <input type = "reset" value = "Wyczyść formularz" />
</form>';
?>


Chcę aby w menu rozwijanym można było wybrać wartości, które będą pobierane z kolumny "nazwa" tabeli "kierunek".
Przy takim kodzie efektem końcowym jest rozwijane menu, w którym mogę wybrać "$row["nazwa"]".

Prówałem również:
Kod
...
echo  '<option> <?php $row[1] ?> </option>';
...

Jednak bez skutku - w takim wypadku nie ma nic do wyboru...

Gdzie popełniam błąd?
Pozdrawiam...

Ten post edytował ergoline 26.12.2008, 16:44:44
Go to the top of the page
+Quote Post
f1xer
post
Post #4





Grupa: Zarejestrowani
Postów: 403
Pomógł: 68
Dołączył: 20.03.2008

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


spróbuj $row[0] jeżeli nie będzie działać to za pomocą
  1. <?php
  2. print_r($row)
  3. ?>

sprawdź czy w ogóle coś jest w tej tablicy


--------------------
Pomogłem? wyraź to i kliknij "Pomógł"
Go to the top of the page
+Quote Post
lukas22333
post
Post #5





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 26.12.2007

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


Spróbuj coś takiego:
  1. <?
  2. $sql = mysql_query ("SELECT * FROM kierunek");
  3. while ($row=mysql_fetch_assoc($sql))
  4.        {            
  5.         echo '<option value="'.$row['nazwa'].'">'.$row['nazwa'].'</option>';
  6.    }
  7.   ?>


Ten post edytował lukas22333 26.12.2008, 18:41:42
Go to the top of the page
+Quote Post
ergoline
post
Post #6





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 26.12.2008

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


Dokłanie winksmiley.jpg Działa piknie winksmiley.jpg

Mam jeszcze jedno pytanie...
Czy jest możliwość "ograniczenia" tego menu? Chodzi mi o to, że są 2 menu rozwijane i chciałbym, żeby jedno było zależne od drugiego. Dokładnie: po wybraniu w I menu opcji 1, w II menu mam do wyboru tylko a i b; po wybraniu w I menu opcji 2, w II menu mam do wyboru tylko c i d itp...
Z tego co się orientuję, to można chyba takie coś zrobić jeśli operujemy na jednej tabeli. Czy w moim wypadku, gdzie operuję dwiema tabelami, można uzyskać taki efekt?

Pozdrawiam...

Ten post edytował ergoline 27.12.2008, 02:44:26
Go to the top of the page
+Quote Post
lukas22333
post
Post #7





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 26.12.2007

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


Ale chcesz zeby automatycznie wypełniało tą drugą liste? czy tak ze z pierwszej wybierasz jakas wartosc i zatwierdzasz to przyciskiem i dopiero druga sie uzupełnia?

Jak pierwsza opcja to chyba tylko JS zostaje.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 17:13