Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Parametr i baza danych - pytanie nowicjusza.
Forum PHP.pl > Forum > PHP
Gumiak
Chce zrobic cos takiego
mam baze danych zawodnik w niej poszczegolne rekordy to poszczegolni zawodnicy (wzrost, waga, osiagniecia itd.)

Jak zrobic cos takiego adresdomojejstrony/?zaw=1 i to bylo linkiem do rekordu pierwszego z bazy (reszte sobie ustawie, tzn. wyciaganie danych po wygenerowaniu dokumentu)

chodzi mi o to, zeby nie trzeba bylo do kazdego rekordu robic osobnego pliku i wyciagac info z bazy lub po dodaniu nowego zawodnika cos zmieniac w plikach. Dodaje do bazy np. 43 zawodnika i bez dodatkowych kombinacji moge wejsc odrazu na adresdomojejstrony/?zaw=43

Dzieki

P.s. nie wiem czy czasem nie powinienem to dac do forum o mysql rolleyes.gif
scanner
Powinienes poczytac o przekazywaniu zmiennych ($_GET, $_POST...) oraz o zapytaniu SELECT.
Niezbędne linki znajdziesz w mojej sygnaturce.
Gumiak
akurat wykorzystanie select znam, ale nie wiem jak sie do tego zabrac sad.gif

poszukam, ale to wszytsko to dla mnie czarna magia.
Wankster
Plik z.php:[php:1:a1b7531b92]<?php

$z_id = $_GET['ID'];

$sql = 'SELECT *
FROM tabela
WHERE zid = ' . $z_id;

$r = mysql_query( $sql );
$row = mysql_fetch_array( $r );

echo $row['nazwa_pola'];

?>[/php:1:a1b7531b92]

W tej tabeli z zawodnikami, najlepiej na początku zrób pole 'zid' (zawodnik ID) jako MEDIUMINT( 8 ) AUTO_INCREMENT NOT NULL
Gumiak
Cytat
W tej tabeli z zawodnikami, najlepiej na początku zrób pole 'zid' (zawodnik ID) jako MEDIUMINT( 8 ) AUTO_INCREMENT NOT NULL


Tak miałem tylko nazwe z id zmienilem na zid

Cytat
<?php

$z_id = $_GET['ID'];

$sql = 'SELECT *
FROM tabela
WHERE zid = ' . $z_id;

$r = mysql_query( $sql );
$row = mysql_fetch_array( $r );

echo $row['nazwa_pola'];

?>


Dodalem do tego oczywiscie polaczenie z baza i wywala mi blad:

Cytat
Supplied argument is not a valid MySQL result resource in c:apachehtdocstest3z.php on line 17 czyli $row = mysql_fetch_array($r)
mateuszkrzeszowiec
Narpiew sprawdź czy zmienna jest "prawidłowa".
Tzn wpisz echo($z_id);

Jeżeli jest okaj to zmień troszkę zapytanie:

[php:1:07ed8e3467]$sql = "SELECT * FROM tabela WHERE zid = '". $z_id."'";[/php:1:07ed8e3467]
mazy
Cytat
Cytat
<?php

$z_id = $_GET['ID'];

$sql = 'SELECT *
FROM tabela
WHERE zid = ' . $z_id;

$r = mysql_query( $sql );
$row = mysql_fetch_array( $r );

echo $row['nazwa_pola'];

?>



czy tak sie pisze zapytania
raczej
Kod
$sql = "SELECT *

           FROM tabela

           WHERE zid = '$z_id';";


powinno działac biggrin.gif

ps. to chyba nie ten dział aaevil.gif
Wankster
zapytanie jest dobre na 100%, a jaki parametr podajesz w adresie? bo tam jest ustawiony ID, czyli nazwa_pliku.php?ID=numer_ID_zawadnika
Gumiak
Już się nieźle zakręciłem.
Mam wszystko tak jak podajecie (znaczy zmieniałem 3 razy wg Waszych sugestii) i cały czas wywala błąd w linii:

Cytat
$row = mysql_fetch_array( $r );
podając za przyczynę
Cytat
Supplied argument is not a valid MySQL result resource


Musze sobie jakas ksiazke kupic bo jak czytam kursy to niby rozumiem wiekszosc, ale jak przychodzi co do czego to sie gubie.

P.s. Wiem, ze musze nazwe pliku i pozniej parametr, ale wywala blad wiec cos jest nie tak.
Gumiak
i jak nikt nie wie co zrobic zeby to ustrojstwo dzialalo??
maggot
wez daj
[php:1:f5032624de]<?php
(..)
echo $sql.'<br />';
$r = mysql_query( $sql ) or die(mysql_error());
(..)
?>[/php:1:f5032624de]
i bedziesz wiedzial co jest nie tak
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.