Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Lista rozwijalna
Forum PHP.pl > Forum > PHP
salva
Mam kilka tabel a w nich po kilka danych np: tabela samochod a w nie marka, model , rocznik. Czy jest mozliwosc abym zrobil liste rozwijalna a w niej wybor id i gdy wybiore i wcisne np przycisk dodaj to pobierze mi dane z wszystkich tabel o tym numerze id i utworzy mi rekord w nowej tabeli z tymi danymi?? Bardzo prosze o jakas pomoc
tzm
tak, to mozliwe. zajrzyj do dokumentacji php, i troche javascriptu sie przyda wiec tez zajrzyj
salva
  1. <?php
  2. // łączymy się z bazą danych
  3. $connection = @mysql_connect('localhost', 'root', '')
  4. or die('Brak połączenia z serwerem MySQL');
  5. $db = @mysql_select_db('projekt', $connection)
  6. or die('Nie mogę połączyć się z bazą danych');
  7.  
  8.  
  9. ######### Pobieranie Danych #########
  10.  
  11. $zapytanie = mysql_query ("SELECT * FROM silnik ORDER BY id DESC");
  12.  
  13. echo '<select name="dane">';
  14. echo '<option value="">Wybierz Silnik</option>';
  15. while($option = mysql_fetch_assoc($zapytanie)) {
  16. echo '<option value="'.$option['id'].'">'.$option['id'].'</option>';
  17. }
  18. echo '</select>';
  19. ?>


stworzylem cos takiego i jest id do wyboru ale tylko z 1 tabeli jak dodac reszcze??
casperii
Nie wiem czy dobrze zrozumiałem, chodzi ci o zależne od siebie 2 selecty (listy rozwijalne) ?
Jeżeli tak to poniżej kod:

  1. echo('<form name="form_dodaj">
  2. <select name="dane" onchange="document.form_dodaj.submit()">
  3. <option value="0">Wybierz silnik</option>');
  4.  
  5. $sql = "SELECT * FROM `silnik`";
  6. $result = mysql_query($sql);
  7. $silnikid = array();
  8.  
  9. while($row = mysql_fetch_array($result)){
  10. if(isset($dane) && $dane == $row['id']){
  11. echo('<option selected="selected" value="'.$row['id'].'">'.$row['nazwa'].'</option>'."\n");
  12. }else{
  13. echo('<option value="'.$row['id'].'">'.$row['nazwa'].'</option>'."\n");
  14. }
  15. $silnikid[$row['id']] = $row['nazwa'];
  16.  
  17. }
  18. echo('</select>');
  19.  
  20.  
  21. if(isset($dane) && $dane){
  22. echo('<select name="dane2" onchange="document.form_dodaj.submit()">
  23. <option value="0">wybierz dwa</option>');
  24. $dane = $dane;
  25. $sql = "SELECT * FROM `drugatabela` WHERE `silnikid` = '$dane'";
  26. $result = mysql_query($sql);
  27. while($row = mysql_fetch_array($result)){
  28. if(isset($dane2) && $dane2 == $row['id']){
  29. echo('<option selected="selected" value="'.$row['id'].'">'.$row['nazwa2'].'</option>'."\n");
  30. }else{
  31. echo('<option value="'.$row['id'].'">'.$row['nazwa2'].'</option>'."\n");
  32. }
  33.  
  34. }
  35. echo('</select>');
  36. }
  37. echo('</form>')'
salva
Cytat(casperii @ 13.03.2015, 21:29:47 ) *
Nie wiem czy dobrze zrozumiałem, chodzi ci o zależne od siebie 2 selecty (listy rozwijalne) ?
Jeżeli tak to poniżej kod:

  1. echo('<form name="form_dodaj">
  2. <select name="dane" onchange="document.form_dodaj.submit()">
  3. <option value="0">Wybierz silnik</option>');
  4.  
  5. $sql = "SELECT * FROM `silnik`";
  6. $result = mysql_query($sql);
  7. $silnikid = array();
  8.  
  9. while($row = mysql_fetch_array($result)){
  10. if(isset($dane) && $dane == $row['id']){
  11. echo('<option selected="selected" value="'.$row['id'].'">'.$row['nazwa'].'</option>'."\n");
  12. }else{
  13. echo('<option value="'.$row['id'].'">'.$row['nazwa'].'</option>'."\n");
  14. }
  15. $silnikid[$row['id']] = $row['nazwa'];
  16.  
  17. }
  18. echo('</select>');
  19.  
  20.  
  21. if(isset($dane) && $dane){
  22. echo('<select name="dane2" onchange="document.form_dodaj.submit()">
  23. <option value="0">wybierz dwa</option>');
  24. $dane = $dane;
  25. $sql = "SELECT * FROM `drugatabela` WHERE `silnikid` = '$dane'";
  26. $result = mysql_query($sql);
  27. while($row = mysql_fetch_array($result)){
  28. if(isset($dane2) && $dane2 == $row['id']){
  29. echo('<option selected="selected" value="'.$row['id'].'">'.$row['nazwa2'].'</option>'."\n");
  30. }else{
  31. echo('<option value="'.$row['id'].'">'.$row['nazwa2'].'</option>'."\n");
  32. }
  33.  
  34. }
  35. echo('</select>');
  36. }
  37. echo('</form>')'


z 2 tabelami chcialem na poaczatek bo bedzie latwiej

chodzi mi dokladnie oto, ze mam 5 tabel i z listy rozwijalnej chce wybierac tylko id i jak juz je wybiore to potrzebuje takze stworzyc przycisk za pomoca ktorego pobierze mi dane z tych wszystkich tabel o takim id co wybralem i doda mi je do jednej tabeli

kombinuje

  1. <?php
  2. // łączymy się z bazą danych
  3. $connection = @mysql_connect('localhost', 'root', '')
  4. or die('Brak połączenia z serwerem MySQL');
  5. $db = @mysql_select_db('projekt', $connection)
  6. or die('Nie mogę połączyć się z bazą danych');
  7.  
  8.  
  9.  
  10.  
  11. $zapytanie = mysql_query ("SELECT * FROM silnik JOIN samochod ON silnik.id = samochod.id ");
  12.  
  13.  
  14.  
  15.  
  16. echo '<select name="dane">';
  17. echo '<option value="">Wybierz Silnik</option>';
  18. while($option = mysql_fetch_assoc($zapytanie)) {
  19. echo '<option value="'.$option['id'].'">'.$option['pojemnosc'].' | '.$option['moc'].' | '.$option['marka'].' | '.$option['model'].' | '.$option['rocznik'].'</option>';
  20. }
  21. echo '</select>';
  22. ?>


w liscie rozwijalnej wyswietla mi dane z dwoch tabel, a da sie za tego zapytania zrobic zeby wyswietlalo z 5 tabel??
com
Do tego sluzy join w mysql poczytaj o tym smile.gif
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.