Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] pierwsza pozycja rekordu jako link
Forum PHP.pl > Forum > Przedszkole
Misiuu
Witam, mam bazę danych gdzie jest tabela w której mam 3 kolumny

Imię Nazwisko e-mail // a w tym rekordy

Jan Kowalski jakis@email.pl



Chciałbym żeby można było zrobić link np. index.php?page=jan i w tym linku pojawiła sie tabelka gdzie było by opisane wszystko do jana.. czyli np. Imię i nazwisko : Jan Kowalski e-mail: jakis@email.pl

trzeba było by to zrobić chyba funkcją Get.. ale jak ?
może mi ktoś powie jak to sie nazywa takie zabieranie z bazy.
jakieś gotowe rozwiązania ?

Dziękuję.
kokers
bardzo zly pomysl, bo w bazie mozesz miec 20 janów i którego wtedy masz wyświetlić?

w innym wypadku polecam wujka gugle i SELECT string, tudzież SELECT LIKE
maiq23
  1. <?
  2.  
  3. $nazwa = $_GET['page'];
  4. $sql = 'SELECT imie,nazwisko,email FROM `tabela` WHERE imie=$nazwa';
  5. $result = mysql_query($sql);
  6.  
  7. echo "<table>
  8. <tr>
  9. <td>Imię</td>
  10. <td>Nazwisko</td>
  11. <td>E-mail/td></td>
  12. </tr>
  13. ";
  14.  
  15. if(mysql_num_rows($result) > 0) {
  16. while($row123 = mysql_fetch_assoc($result))
  17. {
  18. echo "<tr><td>'.$row123['imie'].'</td><td>'.$row123['nazwisko'].'</td><td>'.$row123['email'].'</td></tr>";
  19. }
  20. }
  21. echo "</table>";
  22.  
  23. ?>
Misiuu
Witaj , hmm nie wiem dlaczego, ale wywala mi błędy...
kokers
w zgadywanki nikt się nie będzie bawił.

Jakie błędy.....?
gorden
zamień apostrofy na cudzysłowy i dodaj apostrofy do zmiennych w lini 4
frantic09
Do tabeli warto będzie dodać kolumnę, coś w rodzaju ID. Jaki masz teraz primary key tabeli? Jeżeli jest to pole imię to wtedy przy dwóch identycznych wpisach będzie wyskakiwał błąd. Zastanów się poważniej nad tą opcją. A wtedy wyświetlenie pewnej osoby to będzie na przykład zwykłe index.php?osoba_id=1, gdzie będziesz podawał id osoby... a zapytanie SQL? jeszcze prostsze:
  1. $zapytanie = 'SELECT * FROM tabela WHERE id_osoby='.$_GET[osoba_id];
potreb
Zrób to na zasadzie jquery-ui dialog, będzie fajny efekt i przy okazji mniej pracy smile.gif
Misiuu
Witam, dodałem do tabeli id które robi sie automatycznie 1,2,3 : DD

zrobiłem skrypt tak

  1. <?php
  2.  
  3. mysql_connect('localhost', 'root', '') or
  4. die('Nie można się połączyć: ' . mysql_error());
  5.  
  6.  
  7.  
  8. $sql = 'SELECT * FROM tabela WHERE id='.$_GET[osoba_id];
  9. $result = mysql_query($sql);
  10.  
  11. echo "<table>
  12. <tr>
  13. <td>Imię</td>
  14. <td>Nazwisko</td>
  15. <td>E-mail/td></td>
  16. </tr>
  17. ";
  18.  
  19. if(mysql_num_rows($result) > 0) {
  20. while($row123 = mysql_fetch_assoc($result))
  21. {
  22.  
  23. "<tr><td>'.$row123['imie'].'</td><td>'.$row123['nazwisko'].'</td><td>'.$row123['email'].'</td></tr>";
  24. }
  25. echo "</table>";
  26.  
  27.  
  28. ?>



i wyskakuje mi błąd
Cytat
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:\Program Files\WebServ\httpd\get\index.php on line 23
krzywy36
w 23 lini daj:
  1. echo '<tr><td>'.$row123['imie'].'</td><td>'.$row123['nazwisko'].'</td><td>'.$row123['email'].'</td></tr>';


podstawy tworzenia stringów.
Misiuu
to teraz wywala mi błąd


Cytat
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\Program Files\WebServ\httpd\get\index.php on line 20
Imię Nazwisko E-mail
krzywy36
dodawaj do mysql_query(), or die(mysql_error()) - bedziesz wiedział co się dzieje.
Misiuu
Cytat
Something is wrong in your syntax obok '[osoba_id]' w linii 1


przy zapytaniu
Cytat
$sql = 'SELECT * FROM tabela WHERE id=$_GET[osoba_id]';


a przy tym co najpierw czyli

Cytat
$sql = 'SELECT * FROM tabela WHERE id='.$_GET[osoba_id];


Cytat
Something is wrong in your syntax obok '' w linii 1


krzywy36
takie głupie pytanie - a przekazujesz tą zmienną w adresie?...
Edit:
nie $_GET[osoba] tylko $_GET['osoba']
gorden
bo zmienne muszą być w apostrofach albo cudzysłowach, jakoś tak. a to czy wstawisz apostrofy do tablicy $_GET to jedna ryba.

  1. $sql = "SELECT * FROM tabela WHERE id = '$_GET[osoba_id]'");
Misiuu
Dziękuje udało sie biggrin.gif
krzywy36
@gorden nie prawda, jest dokładnie na odwrót, w $_GET muszą być apostrofy chyba że indeks jest liczbą, natomiast w sql niekoniecznie.
Jakby miał włączone wyświetlanie wszystkich błędów to by mu wywaliło coś w stylu:
Kod
Notice: Use of undefined constant zmienna - assumed 'zmienna' in /home/smiechowy/htdocs/test/index.php on line 60


Edit: zrób
  1. $sql = 'SELECT * FROM tabela WHERE id='.$_GET['page'];
Misiuu
zrobiłem

Cytat
$sql = "SELECT * FROM tabela WHERE id = '$_GET[page]'";

i zadziałało z tym co ty mi dałeś nie działa.
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.