Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyciaganie informacji z bazy danych
Forum PHP.pl > Forum > Przedszkole
mario_31
Ponizej mam taki maly zapis z kursu o PHP, gdzie w tabelce po zapętleniu "while" wyświetlają mi się wszystkie imiona i nazwiska.

Moje pytanie jest nastepujace - jaki trzeba zrobić zapis, aby nie wyswietlaly mi się wszystkie imiona oraz nazwiska, ale chciałbym jak to jest np. w tabelach, ze mogę wybrać sobie aby np. wyswietlic z tej bazy danych tylko nazwisko Gołota, gdzieś w dokumencie html pomiędzy znacznikiem <h1> tutaj powiedzmy aby było nazwisko Goóta się wyswietała z bazy danych z tabeli ludzie </h1>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<?php

$serwer = 'localhost';
$uzytkowanik = 'root';
$haslo = 'XXXXX';

// ustanawiamy polaczenie
$polaczenie = mysql_connect($serwer, $uzytkowanik, $haslo );

if(!$polaczenie) {

die ('Blad polaczenie' . mysql_error()); }


//wybieramy baze
mysql_select_db('baza', $polaczenie) or die ('Error ' . mysql_error());



// tworzymy tabelę z kodowanie znaków utf8

mysql_query("
CREATE TABLE ludzie(
numerID int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(numerID),
Imie varchar(15),
Nazwisko varchar(15),
Wiek int
)
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
");

// umieszczamy wpisy w tabeli w kodowaniu utf8

mysql_query("SET NAMES 'utf8'");
mysql_query("INSERT INTO ludzie ( Imie, Nazwisko, Wiek ) VALUES ('Andrzej', 'Gołota', 32)");
mysql_query("INSERT INTO ludzie ( Imie, Nazwisko, Wiek ) VALUES ('Adam', 'Małysz', 28)");
mysql_query("INSERT INTO ludzie ( Imie, Nazwisko, Wiek ) VALUES ('Robert', 'Kubica', 19)");

// wyświetlamy wyniki z bazy w postaci tabeli
$wyniki = mysql_query("SELECT * FROM ludzie");

// tworzymy tabelę html z nagłówkami

echo '

<table border="1">
<tr>
<th> Imię</th>
<th>Nazwisko</th>
</tr>
';
// generujemy wpisy z bazy jako komórki tabeli

while($kolumna = mysql_fetch_array($wyniki))
{
echo "<tr>";
echo "<td>" . $kolumna['Imie'] . "</td>";
echo "<td>" . $kolumna['Nazwisko'] . "</td>";
echo "</tr>";
}


mysql_close($polaczenie);
?>
</table>


</body>
</html>
Turson
Słabo to wytłumaczyłeś, albo nie rozumiem.

  1. <?PHP
  2. $wyniki = mysql_query("SELECT * FROM ludzie WHERE Nazwisko='Gołota'");
  3. while($kolumna=mysql_fetch_assoc($wyniki)){
  4. echo "<h1>".$kolumna["Nazwisko"]."</h1>";
  5. }
  6. ?>


W Twoim kodzie przy każdym odświeżeniu strony do bazy dodają się nowe rekordy. Na pewno tak ma być?
mario_31
Cześć,

Dzieki za odpowiedź. Tak masz race za każdym razem rekordy się podwajają przy odświeżaniu strony - sorry jestem początkujący smile.gif Napisałem to teraz inaczej poniżej - proszę sprawdź jeszcze raz jak masz chwilę czasu. Stworzyłem:

- bazę o nazwie 'baza',
- stworzyłem w powyższej bazie tabelę o nazwie 'ludzie'

Wszystko co mnie teraz interesuje z tego kodu poniżej, to jak wyciągnąć z tej bazy danych 'baza' oraz tabeli w niej 'ludzie' - słowo Gołota.

Np. mając w tym dokumencie poniżej po zamknięciu znacznika ?> oraz przed zamknięciem znacznika </body> chciałbym mieć np. znaczniki <h1> a w nim napisane <h1> Nazwisko tego człowieka to jest <?php Gołota ?> </h1> - i moje pytanie właśnie jest jak wyciągnąć z tabeli ludzie to nazwisko Gołota za pomocą PHP. Myślę że teraz jest bardziej jasno smile.gif

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<?php

$serwer = 'localhost';
$uzytkowanik = 'root';
$haslo = 'XXXX';

// ustanawiamy polaczenie
$polaczenie = mysql_connect($serwer, $uzytkowanik, $haslo );

if(!$polaczenie) {

die ('Blad polaczenie' . mysql_error()); }


//wybieramy baze
mysql_select_db('baza', $polaczenie) or die ('Error ' . mysql_error());

// niszczymy tabelę jeśli taka istnieje
mysql_query("DROP TABLE IF EXISTS ludzie");

//wybieramy baze
mysql_select_db('baza', $polaczenie) or die ('Error ' . mysql_error());

// tworzymy tabelę z kodowanie znaków utf8

mysql_query("
CREATE TABLE ludzie(
numerID int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(numerID),
Imie varchar(15),
Nazwisko varchar(15),
Wiek int
)
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
");

// umieszczamy wpisy w tabeli w kodowaniu utf8

mysql_query("SET NAMES 'utf8'");
mysql_query("INSERT INTO ludzie ( Imie, Nazwisko, Wiek ) VALUES ('Andrzej', 'Gołota', 32)");
mysql_query("INSERT INTO ludzie ( Imie, Nazwisko, Wiek ) VALUES ('Adam', 'Małysz', 28)");
mysql_query("INSERT INTO ludzie ( Imie, Nazwisko, Wiek ) VALUES ('Robert', 'Kubica', 19)");


mysql_close($polaczenie);
?>

</body>
</html>
nospor
Zacznij uzywac BBCODE!
Nie widzisz ze post Tursona z BBCODE wyglada zdecydowanie lepiej i czytelniej?
Turson
Pobranie elementów z bazy danych
  1. $zapytanie = mysql_query("SELECT * FROM ludzie WHERE Nazwisko='Gołota'");
  2. $wynik = mysql_fetch_array($zapytanie);
  3. echo "<h1>".$wynik["Nazwisko"]."</h1>";
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.