![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 22.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie
![]() Jestem początkujący jeżeli chodzi o PHP i MySQL. Napotkałem na problem który nie rozwiązało kilka godzin googlowania i przeglądania kursów. Mój problem polega na tym, że nie wiem jak zrobić formularz w którym będzie lista rozwijana do której dane będą pobierane z osobnej tabeli (tzw. słownikowej). Kiedy robiłem to w accessie to było proste, a tu nie potrafię. Stworzyłem bazę danych z dwoma tabelami, w jednej są dwie kolumny (idCzlowiek i WojewodztwoCzlowiek) a w drugiej (słownikowej) też dwie (idWojewodztwo i nazwaWojewodztwo). stworzyłem między nimi relację jeden do wielu i teraz nie wiem co zrobić, aby wprowadzać dane do WojewodztwoCzlowiek za pomocą tabeli słownikowej. Oto SQL: Kod -- phpMyAdmin SQL Dump -- version 2.11.9.2 -- http://www.phpmyadmin.net -- -- Host: localhost -- Czas wygenerowania: 22 Gru 2008, 18:04 -- Wersja serwera: 5.0.67 -- Wersja PHP: 5.2.6 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; -- Baza danych: `przykladrelacji` -- -------------------------------------------------------- -- Struktura tabeli dla `wojewodztwo` CREATE TABLE IF NOT EXISTS `wojewodztwo` ( `idWojewodztwo` int(10) unsigned NOT NULL auto_increment, `nazwaWojewodztwo` varchar(30) collate utf8_unicode_ci default NULL, PRIMARY KEY (`idWojewodztwo`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=17; -- -- Zrzut danych tabeli `wojewodztwo` -- INSERT INTO `wojewodztwo` (`idWojewodztwo`, `nazwaWojewodztwo`) VALUES (1, 'Dolnoslaskie'), (2, 'Kujawsko-pomorskie'), (3, 'Lubelskie'), (4, 'Lubuskie'), (5, 'Lodzkie'), (6, 'Malopolskie'), (7, 'Mazowieckie'), (8, 'Opolskie'), (9, 'Podkarpackie'), (10, 'Podlaskie'), (11, 'Pomorskie'), (12, 'Slaskie'), (13, 'Swietokrzyskie'), (14, 'Warminsko-mazurskie'), (15, 'Wielkopolskie'), (16, 'Zachodniopomorskie'); Na widoku projektu wygląda to tak: ![]() Następnie napisałem skrypt wstawiający do tabeli "Człowiek" dane: Kod <?php $Polaczenie = @mysql_connect('localhost', 'xxx', 'xxx') or die('Brak połączenia z serwerem MySQL. '); echo "Udało się połączyć z serwerem! "; $PolaczenieBazy = @mysql_select_db('przykladrelacji', $Polaczenie) or die('Nie mogę połączyć się z bazą danych '); echo "Udało się połączyć z bazą dancych!"; $Zapytanie = "insert into czlowiek values ('".$idCzlowiek."', '".$WojewodztwoCzlowieka."')"; $rezultat = mysql_query($Zapytanie); mysql_close($Polaczenie); ?> I formularze: Kod <form action="wprowadzaniedanych.php" method="post"> Numer człowieka: <input type=text name=idCzlowiek maxlength=3 size=4> Wojewodztwo: <input type=text name=WojewodztwoCzlowieka maxlength=30 size=30> <input type=submit value="Wstaw do bazy"> </form> Skrypt działa tylko cokolwiek bym nie wprowadził w "Numer człowieka" to i tak działa autonumerowanie (I dobrze ![]() Czy ktoś ma pojęcie jak przerobić mój skrypt tak, aby zamiast pola tekstowego w "wojewodztwo" była lista rozwijana województw? Proszę o pomoc i z góry dziękuję. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Pobierz zapytaniem SQL-owym listę województw i utwórz HTML-owego selecta
-------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 22.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Heh...
Dziękuję za pomoc. Na razie nie za bardzo wiem jak z niej skorzystać ale trochę podłubię i mam nadzieję, że jakoś dojdę do tego o co Ci chodziło. Nachodzi mnie myśl, że podany przez Ciebie sposób nie wykorzystuje relacji (może jestem w błędzie). To co podałem to jedynie drobna część większego projektu który muszę wykonać do szkoły. I wydaje mi się, że tam będę musiał wykorzystywać relacje. W zasadzie jak to jest? czy w PHP przy większych projektach wykorzystuje się relacje, czy może jest jakiś inny sposób na to? Przejrzałem wiele kursów w sieci i zazwyczaj są tam podstawy podstaw. Kiedy dochodzi do MySQL to zazwyczaj się kończy zapytaniu i wydruku na stronie rekordów z danej tabeli ale nie ma nic o relacjach. Ten post edytował hofi 22.12.2008, 20:56:41 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 22:42 |