Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][PHP]Formularz województw
Forum PHP.pl > Forum > Przedszkole
rossco
Stworzyłam dwie tabele w bazie: ogloszenia i wojewodztwa. W tabeli wojewodztwa mam dwa wiersze: id_wojewodztwo i nazwa_wojewodztwo a w tabeli ogloszenia jest wiersz: wojewodztwa.
Chciała bym we właściwy sposób przy dodawaniu ogloszenia wyświetlić formularz województwa i przypisać je do ogłoszenia.

Proszę o pomoc
piotrooo89
chodzi Ci o wyświetlenie województw w select liście? jeśli tak, to zobacz to:

  1. <select>
  2. while($dane)
  3. {
  4. <option value="$dane['id_wojewodztwo']">$dane['wojewodztwo']</option>
  5. }
  6. </select>


taki pseudo kod.
rossco
pokazuje mi komunikat 'Parse error: syntax error, unexpected '<' in /ogloszenia/form.php on line 54'
piotrooo89
pokaż kod. wyraźnie zaznaczyłem ze jest to pseudo kod, czyli tylko pomysł na rozwiązanie problemu.
rossco
  1. <HTML>
  2. <HEAD>
  3. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
  4. <TITLE>System Ogłoszeń</TITLE>
  5. </HEAD>
  6. <BODY>
  7. <H3>Nowe ogłoszenie:</H3>
  8. <FORM METHOD=POST action="index.php?id=dodaj">
  9.  
  10. <INPUT TYPE="hidden" NAME="id" VALUE="dodaj">
  11.  
  12. <BR>
  13. Nazwa firmy:</B>
  14.  
  15. <br/>
  16.  
  17. <BR>
  18.  
  19. <input type="text" name="nazwa_firmy" value="<?php if(isset($pusta_nazwa_firmy) && !$pusta_nazwa_firmy) echo $_POST['nazwa_firmy']; ?>"<?php if (isset($pusta_nazwa_firmy) && $pusta_nazwa_firmy) echo 'style="border: 1px solid red;"'; ?> />
  20.  
  21. <BR>
  22.  
  23. <B>Miejscowość zatrudnienia:</B>
  24.  
  25. <BR>
  26.  
  27. <input type="text" name="miejscowosc_zatrudnienia" value="<?php if(isset($pusta_miejscowosc_zatrudnienia) && !$pusta_miejscowosc_zatrudnienia) echo $_POST['miejscowosc_zatrudnienia']; ?>"<?php if (isset($pusta_miejscowosc_zatrudnienia) && $pusta_miejscowosc_zatrudnienia) echo 'style="border: 1px solid red;"'; ?>/>
  28.  
  29. <BR>
  30.  
  31. <B>Stanowisko:</B>
  32.  
  33. <br/>
  34.  
  35. <BR>
  36.  
  37. <input type="text" name="tresc" value="<?php if(isset($pusta_tresc) && !$pusta_tresc) echo $_POST['tresc']; ?>"<?php if (isset($pusta_tresc) && $pusta_tresc) echo 'style="border: 1px solid red;"'; ?>/>
  38.  
  39. <br/>
  40.  
  41. <B>Treść ogłoszenia:</B>
  42.  
  43. <br/>
  44.  
  45. <input type="text" name="stanowisko" value="<?php if(isset($pusta_stanowisko) && !$pusta_stanowisko) echo $_POST['stanowisko']; ?>"<?php if (isset($pusta_stanowisko) && $pusta_stanowisko) echo 'style="border: 1px solid red;"'; ?>/>
  46.  
  47. <br/>
  48.  
  49. <B>Województwo</B>
  50.  
  51. <br />
  52.  
  53. <?
  54. <select>
  55.  
  56. while($dane)
  57.  
  58. {
  59.  
  60. <option value="$dane['id_wojewodztwo']">$dane['wojewodztwo']</option>
  61.  
  62. }
  63.  
  64. </select>
  65. ?>
  66.  
  67. </FORM><a href="index.php">Powrót</a>
  68. </BODY>
  69. </HTML>
piotrooo89
pierwsza sprawa bbcode. inaczej zamknę temat.
ok dodałaś.

zrobiłaś to nie tak bo tam gdzie masz pętle powinny być dane z tabel SQL. selecty powinny być wechowane. pseudo kod to jest pseudo kod nie możesz go wklejać od tak sobie do skryptu.
rossco
Jest jeszcze plik obsługujący formularz.

Czy powinno to wyglądać tak:

Pętla w pliku obsługującym a select w pliku formularza?
piotrooo89
select powinien znajdować się w miejscu gdzie masz formularz.
rossco
Czy znacie link gdzie pokazane jest na przykładzie jak to zrobić?
piotrooo89
ale czego nie wiesz, dokładnie. jak odczytywać bazę? jak zrobić echo?
rossco
nie wiem jak prawidlowo zrobic pętle i co trzeba zrobić zeby dane województwo przypisywało sie do tabeli ogłoszenia w rekordzie województwa.
Na przykładzie najlepiej się uczyć.
pawel.ad
Proszę przykład:
  1. #Wydobywamy nazwy i id drużyn.
  2. $zapytanie = "SELECT
  3. `teams`.`id` AS t_id,
  4. `teams`.`name` AS t_name
  5. FROM `teams`
  6. ORDER BY `teams`.`id`";
  7.  
  8. $wynik = mysql_query($zapytanie)
  9. or die('Błąd zapytania o listę drużyn.');
  10.  
  11. if($wynik) {
  12.  
  13. echo "<td>
  14. <select name=\"team\">";
  15.  
  16. #Tworzymy pętlę gdzie dla każdej drużyny tworzona jest nowa opcja select, z value = teams.id
  17. while($wiersz = mysql_fetch_array($wynik)) {
  18. echo "<option value=\"".$wiersz['t_id']."\">".$wiersz['t_name']."</option>";
  19. };
  20.  
  21. echo "</select>
  22. /td>";
  23. };


Jeżeli są jakieś niejasności to proszę pisać smile.gif

EDIT:
Najpierw oczywiście trzeba połączyć się z bazą danych... ;-)
minolone
Zobacz ten kod, powinno byc ok
  1. <HTML>
  2. <HEAD>
  3. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
  4. <TITLE>System Ogłoszeń</TITLE>
  5. </HEAD>
  6. <BODY>
  7. <H3>Nowe ogłoszenie:</H3>
  8. <FORM METHOD=POST action="index.php?id=dodaj">
  9. <INPUT TYPE="hidden" NAME="id" VALUE="dodaj">
  10. <B>Nazwa firmy:</B>
  11. <br/>
  12. <BR>
  13. <input type="text" name="nazwa_firmy" value="<?php if(isset($pusta_nazwa_firmy) && !$pusta_nazwa_firmy) echo $_POST['nazwa_firmy']; ?>"<?php if (isset($pusta_nazwa_firmy) && $pusta_nazwa_firmy) echo 'style="border: 1px solid red;"'; ?> />
  14. <BR>
  15. <B>Miejscowość zatrudnienia:</B>
  16. <BR>
  17. <input type="text" name="miejscowosc_zatrudnienia" value="<?php if(isset($pusta_miejscowosc_zatrudnienia) && !$pusta_miejscowosc_zatrudnienia) echo $_POST['miejscowosc_zatrudnienia']; ?>"<?php if (isset($pusta_miejscowosc_zatrudnienia) && $pusta_miejscowosc_zatrudnienia) echo 'style="border: 1px solid red;"'; ?>/>
  18. <BR>
  19. <B>Stanowisko:</B>
  20. <br/>
  21. <BR>
  22. <input type="text" name="tresc" value="<?php if(isset($pusta_tresc) && !$pusta_tresc) echo $_POST['tresc']; ?>"<?php if (isset($pusta_tresc) && $pusta_tresc) echo 'style="border: 1px solid red;"'; ?>/>
  23. <br/>
  24. <B>Treść ogłoszenia:</B>
  25. <br/>
  26. <input type="text" name="stanowisko" value="<?php if(isset($pusta_stanowisko) && !$pusta_stanowisko) echo $_POST['stanowisko']; ?>"<?php if (isset($pusta_stanowisko) && $pusta_stanowisko) echo 'style="border: 1px solid red;"'; ?>/>
  27. <br/>
  28. <B>Województwo</B>
  29. <br />
  30. <?
  31. $sql = mysql_connect('localhost', 'uzytkownik', 'haslo') or die ('Błąd w połączeniu');
  32. mysql_select_db('baza_dabych') or die ('Błąd w wybraniu bazy');
  33. $query = ' SELECT * FROM wojewodztwa ';
  34. $results = mysql_query($query) or die ('Błąd w zapytaniu');
  35.  
  36. echo '<select>';
  37. while($dane = mysql_fetch_array($results))
  38. {
  39. echo '<option value="'.$dane['id_wojewodztwo'].'">'.$dane['nazwa_wojewodztwo'].'</option>';
  40. }
  41. echo '</select>';
  42. ?>
  43.  
  44. </FORM><a href="index.php">Powrót</a>
  45. </BODY>
  46. </HTML>
rossco
Minolone dzięki działa smile.gif

Województwa są pobierane z bazy i wyświetlane. Tylko co trzeba zrobić żeby wybrane przez użytkownika województwo z tabeli wojewodztwo zapisało się w tabeli ogloszenia.

Naprawdę przeszukałam całe google i nie ma tego porządnie opisanego na przykładzie. W sieci brakuje porządnego kursu który by opierał się na przykładach.
minolone
Zamien
  1. echo '<select>';

na to
  1. echo '<select name="province">';

i następnie pobierasz
  1. $_POST['province']

i zapisujesz w tabeli ogloszenia samo ID województwa.
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.