Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kategorie, podkategorie
Forum PHP.pl > Forum > Bazy danych > MySQL
weddingPlannerka
Witam wszystkich serdecznie i od razu proszę o pomoc rolleyes.gif

Załóżmy, że mam dwie tabele:
pierwsza: kraj w której są kolumny: id_kraju i nazwa_kraju
druga: w_kraju w której są kolumny: id_woj, id_kraju, nazwa_woj

I chciałabym, żeby po wyborze nazwy kraju np Polski wybierane byly wojewodztwa Polski, albo po wyborze USA aby były wybierane stany USA itp.
Czy mam tu zastosować LEFT JOIN-a? Ja zastosowałam coś takiego ale to nie działa sadsmiley02.gif :
  1. SELECT * FROM kraj k, w_kraju w WHERE w.id_kraju='".$id_kraju."'


Heeeeelllp sciana.gif
nevt
  1. <?php
  2. $sql = "SELECT * FROM w_kraju WHERE id_kraju = $id_kraju;";
  3. ?>
weddingPlannerka
Tzn tak:
być może podpowiedż jest dobra, tylko mi nie działa sad.gif

A czy wogóle da się tak zrobić, że w html-u w select wybieram kraj(np Polske) i pojawia mi się drugi select do wyboru z wojewodztwami? Da sie to zrobic za pomoca php i mysql czy musze to zrobic w ajaxie?

Przepraszam, być może banalne pytania zadaje, ale jestem początkująca i nie wiem jak to zrobić, a bardzo bym chciała biggrin.gif
szpakoo
nie zrobisz tego w php ponieważ skrypty PHP wykonywane są po stronie serwera, ato co chcesz osiągnąć musi wykonać przeglądarka więc musisz użyć JavaScript np.

Dlaczego to nadal nie działa?

Wrzuć może kod SQL którym tworzysz tabele, to dobierzemy zapytanie:)
weddingPlannerka
Nie wiem czy się jasno wcześniej wyraziłam, ale chodzi mi o to, żeby wybierało z jednego selecta kraj, a potem z drugiego wojewodztwo. Jak mozna to zrobic w php+mysql?

Mój kod wygląda tak:
Kod
<?php
   $dbc=mysqli_connect('localhost','root','','relacje')
   or die("Nie można polaczyc z baza danych");
  
   $wysw="<form action=\"".$_SERVER["PHP_SELF"]."\" method=\"GET\">";
   if(isset($_GET["id_kraju"]))
   {
       $q_woj="SELECT * FROM woj WHERE id_kraju='".$_GET["id_kraju"]."'";
       $r_woj=mysqli_query($dbc,$q_woj);
       $wysw="
         <h1>Wybierz wojewodztwo!</h1>
         <select name=\"nazwa_woj\">";
         while($woj=mysqli_fetch_array($r_woj))
         {
             $id_woj=$woj['id_woj'];
             $nazwa_woj=$woj['nazwa_woj'];
             $wysw.="<option value=\"".$nazwa_woj."\">".$nazwa_woj."</option>";
         }
         $wysw.="</select>";
   }
  
   $q_kraj="SELECT * FROM kraj";
   $r_kraj=mysqli_query($dbc,$q_kraj);
  
   $wysw="
   <h1>Wybierz kraj!</h1>
   <select name=\"nazwa_kraju\">";
   while($kraj=mysqli_fetch_array($r_kraj))
   {
       $id_kraju=$kraj['id_kraju'];
       $nazwa_kraju=$kraj['nazwa_kraju'];
       $wysw.="<option value=\"".$nazwa_kraju."\">".$nazwa_kraju."</option>";
   }
   $wysw.="</select>
   <input type=\"hidden\" name=\"id_kraju\" value=\"".$_GET["id_kraju"]."\"/>
   <input type=\"submit\" name=\"submit\" value=\"Wybierz\"/>
   </form>
   ";
mysqli_close($dbc);
?>
<html>
   <body>
     <?php echo $wysw; ?>
   </body>
</html>


Czy nikt mi nie może pomóc?? blink.gif

Już znalazłam pomoc i niestety niezbędny jest do tego ajax dry.gif

I nie jest to takie banalne jakby się mogło wydawać,
Pozdrawiam
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.