php php5 xhtml css mysql sqlite - projektowanie stron - własny cms

 
Menu główne

Dzisiaj o 30% taniej!

Statystyka
Wizyt: 2 002 651
Wizyt dzisiaj: 403
Wizyt wczoraj: 756
Wizyt w m-cu: 4705
Osób on-line: 9
Prenumeratorzy: 226


PHP.net
Pobierz Firefoksa!
Valid XHTML 1.0!
Valid CSS!

Porady
[PHP/MySQL] Jak pobrać dane z bazy za pomocą pola select?
Krzysztof Szypulski - Piątek, 25 marca 2005 10:39:00

Opiszę to na prostym przykładzie z pracownikami przyporządkowanymi do określonego działu w firmie.
Założymy sobie tabele w bazie zawierającą dwa pola "dzial" i "nazwisko".
Potem za pomocą formularza zawierającego listę rozwijaną select wybierzemy sobie dzial i wyswietlimy pracowników przypisanych do danego działu.

Tworzymy tabelę "kadry".

PRZYKŁAD
CREATE TABLE kadry (
  dzial varchar(20) NOT NULL default '',
  nazwisko varchar(50) NOT NULL default '',
  UNIQUE KEY nazwisko (nazwisko)
)

Wypełniamy tabelę przykładowymi danymi.

PRZYKŁAD
INSERT INTO kadry VALUES ('ksiegowosc', 'Anna Kowalska');
INSERT INTO kadry VALUES ('ksiegowosc', 'Janina Nowak');
INSERT INTO kadry VALUES ('kadry', 'Lucyna Nowakowska');
INSERT INTO kadry VALUES ('kadry', 'Helena Kula');
INSERT INTO kadry VALUES ('produkcja', 'Jan Ambroziak');
INSERT INTO kadry VALUES ('produkcja', 'Henryk Pałac');
INSERT INTO kadry VALUES ('produkcja', 'Tomasz Buława');
INSERT INTO kadry VALUES ('produkcja', 'Piotr Kowalski');

Formularz i skrypt obsługujący bazę.

PRZYKŁAD
<form action="" method="post">
<select name="dzial" onchange="this.form.submit()">
<option value="">Wybierz dział</option>
<option value="kadry">Kadry</option>
<option value="ksiegowosc">Księgowość</option>
<option value="produkcja">Produkcja</option>
</select>
</form>

<?php

// parametry serwera
$serwer = "localhost";  // nazwa serwera mysql
$login  = "root";  // login do bazy
$haslo  = "krasnal";  // haslo do bazy
$baza   = "testy";  // nazwa bazy
$tabela = "kadry";  // nazwa tabeli

$dzial = $_POST['dzial'];

if(
$dzial) {
    
    
// łączymy się z bazą danych
    
if (mysql_connect($serwer, $login, $haslo) and mysql_select_db($baza)) {
        
        
// zapytanie do bazy danych
        
$wynik = mysql_query("SELECT * FROM kadry WHERE dzial='$dzial'")
        or die(
"Błąd w zapytaniu!");
        
        
mysql_close();
    }
    else echo
"Nie mogę połączyć się z bazą danych!";
    
    
// wyświetlany wyniki zapytania
    
while($rek = mysql_fetch_array($wynik)) {
        echo
$rek['nazwisko']."<br />";
    }
}

?>


mysql_fetch_array()

Drukuj Poleć znajomemuCofnij
Komentarze
masel (80.53.91.xxx)
Wtorek, 02 sierpnia 2005 10:05:06
Nareszcie coś konkretnego na ten temat w sieci, oby jak najwięcej tak przydatnych porad. Dziękuję za pomoc...

Flaku (80.53.192.xxx)
Czwartek, 18 sierpnia 2005 19:24:37
No bardzo mi sie przyda ten artukul :DDDd ale przydal by sie jeszcze artykul jak usuwac z bazy :)))
Od administratora:
Jak znajde chwile to coś skrobne :)

naw (217.99.170.xxx)
Poniedziałek, 29 sierpnia 2005 01:47:49
A co dodać do tego kodu, aby obok pola select (przy jego zmianie) wyświetlało się 'nazwisko' np.
Od administratora:

Trzeba by użyć javascriptu


Przemek S. (83.16.190.xxx)
Sobota, 29 października 2005 20:21:04
Dzięki wielkie za artykuł poradę... Jako jedyna w sieci zadziałała na moim localhoscie :)
wogole widze że poważnie bierzecie się za pomoc innym za co wielkie dzięki :)

fo (83.17.154.xxx)
Środa, 30 sierpnia 2006 14:22:45
dzieki. w koncu cos konkretnego i prostego. bez zbytniego zagmatwania, dzialajacy przyklad dla poczatujacych.

Alek (10.243.6.xxx)
Czwartek, 31 sierpnia 2006 14:01:50
A obrona przed XSS?
Od administratora:
??

Arek (83.5.102.xxx)
Środa, 15 listopada 2006 15:03:16
Poniżej wpisałem fragment kodu który wyświetla kontrolkę SELECT z pobranymi z bazy MYSQL numerami id cegieł. Działa to bardzo dobrze, niestety po wybraniu przycisku zapisz na formularzu kontrolka SELECT powraca do pierwszego rekordu. Zalaży mi bardzo aby po wybraniu jakiegokolwiek przycisku formularza kontrolka SELECT pozostawała nie zmieniona.
$zapytanie2 = "SELECT * FROM RODZAJ_CEGŁY ORDER BY id ASC";
$wykonaj2 = mysql_query ($zapytanie2);
echo "<select name="rodzaj_cegly_id">";
while($wiersz2=mysql_fetch_array ($wykonaj2)) {
echo "<option>".$wiersz2['id']."</option>";
}
echo "</select>";

Pozdrawim
Od administratora:
echo "<select name="rodzaj_cegly_id">";
    while(
$wiersz2=mysql_fetch_array ($wykonaj2)) {
    if(
$_POST['rodzaj_cegly_id'] == $wiersz2['id']) 
        echo 
"<option selected>".$wiersz2['id'].
"</option>"
;
        else
        echo 
"<option>".$wiersz2['id']."</option>";
}
echo 
"</select>";

Tomek (84.205.182.xxx)
Poniedziałek, 05 marca 2007 22:56:40
Witam!
Mam takie pytanko, a mianowicie problem Zrobilem kilka pól select np: rodzaj silnika, opony, felgi. Jak klikam submit to program mi wyswietla zawartość bazy danych odnośnie rodzaju silnika, co zrobić żeby reszte tez bral pod uwage.? Dzieki za wszelkie info.
Od administratora:
W zapytaniu do bazy musisz dodać dodatkowe warunki:
warunek1 AND warunek2 AND warunek3

Ze względu na brak czasu na moderowanie komentarzy, zawieszam możliowść ich dodawania. Masz pytanie, wykorzystaj formularz "Zadaj pytanie".
Publikowane komentarze są prywatnymi opiniami użytkowników serwisu. Serwis nie ponosi odpowiedzialności za treść opinii.


Zadaj pytanie
Nie znalazłeś(aś) odpowiedzi na nurtujące Cię pytanie?
Zapytaj mnie, może będę umiał Ci pomóc.




Umieść u siebie...
Porady txt
RSS

Losowa książka

Reklama
Modna i seksowna bielizna damska, męska oraz stroje kąpielowe.

Hosting & design

Setki porad dla właścicieli stron WWW

Kurs HTML

webmaster html css php mysql





Copyright © 2001-2010 by Krzysztof Szypulski • Hosting: Snug.pl
Agroturystyka Koniowozy Portfolio Weimary - wyżeł weimarski Linki