Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql]Dynamiczny wybór z listy [php][mysql], Dynamiczne wybieranie zależnie od tego co jest w tabeli w bazie
--gallardo83--
post
Post #1





Goście







Witam
Mam taki problem - przy pomocy formularza chciałbym dodawać pewne rzeczy do swojej bazy. Mam dwie tabele: samochody (id, idFirma, nazwa, cena) oraz samochody2(idFirma,nazwaFirmy).
Przy dodawaniu nazwy oraz ceny za pomocą formularza chciałbym dynamicznie wybierać z listy nazwę firmy. Mam oto taki skrypcik ale coś w nim jest żle - pytanie tylko co ?
  1. <?php
  2. $host = '';
  3. $user = 'audi';
  4. $password = '';
  5. $dbName = 'audi';
  6.  
  7. // polaczenie i wybór bazy danych
  8. $polacz = mysql_connect($host, $user, $password) or die(mysql_error());
  9. $db = mysql_select_db($dbName, $polacz) or die(mysql_error());
  10.  
  11.  $result = mysql_query("SELECT nazwaFirmy FROM samochody s1,samochody2 s2
  12. where s1.idFirma=s2.idFirma");
  13.  while( $row = mysql_fetch_assoc( $result )) 
  14.  {
  15.  $lista .= '<option value="'.$row['nazwaFirmy'].'"></option>' ;
  16.  }
  17.  echo '<select name="nazwaFirmy">'.$lista.'</select>' ; 
  18.  ?>


Bardzo proszę o pomoc i z góry dziękuję za rady
Go to the top of the page
+Quote Post
Ar2r
post
Post #2





Grupa: Zarejestrowani
Postów: 140
Pomógł: 16
Dołączył: 12.06.2002
Skąd: Kielce

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


Popraw zapytanie
  1. SELECT nazwaFirmy FROM samochody AS s1, samochody2 AS s2
  2. WHERE s1.idFirma=s2.idFirma


Poza tym:
  1. <?php
  2. $lista .= "<option value='".$row['nazwaFirmy']."'>".$row['nazwaFirmy']."</option>";
  3. ?>
Go to the top of the page
+Quote Post
seiya
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 18.04.2007

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


Skoro chcesz dodawać coś do bazy, to rozumiem że nie używasz do tego istniejących już samochodów. Jeśli tak, to w takim razie po co korzystać z tabeli samochody?
Poza tym Twój kod "<option value="'.$row['nazwaFirmy'].'"></option>" będzie zwracał listę pustych (nie opisanych opcji), może lepiej będzie zrobić tak:
Kod
$result = mysql_query("SELECT * FROM samochody2");
       while( $row = mysql_fetch_assoc( $result ))
       {
       $lista .= '<option value="'.$row['idFirma'].'">'.$row['nazwaFirmy'].'</option>';
       }
       echo '<select name="nazwaFirmy">'.$lista.'</select>';
       ?>

Tak w ogóle, to nie wiem czy przypadkiem parser nie będzie wywalał błędów z powodu apostrofów przy przypisaniu do $lista.
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: 24.08.2025 - 01:39