Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] pierwsza pozycja rekordu jako link
Misiuu
post
Post #1





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 13.10.2009

Ostrzeżenie: (0%)
-----


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ę.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 17)
kokers
post
Post #2





Grupa: Zarejestrowani
Postów: 154
Pomógł: 33
Dołączył: 18.10.2010
Skąd: Katowice

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
maiq23
post
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 17.02.2011

Ostrzeżenie: (0%)
-----


  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. ?>


Ten post edytował maiq23 24.02.2011, 01:48:26
Go to the top of the page
+Quote Post
Misiuu
post
Post #4





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 13.10.2009

Ostrzeżenie: (0%)
-----


Witaj , hmm nie wiem dlaczego, ale wywala mi błędy...
Go to the top of the page
+Quote Post
kokers
post
Post #5





Grupa: Zarejestrowani
Postów: 154
Pomógł: 33
Dołączył: 18.10.2010
Skąd: Katowice

Ostrzeżenie: (0%)
-----


w zgadywanki nikt się nie będzie bawił.

Jakie błędy.....?
Go to the top of the page
+Quote Post
gorden
post
Post #6





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

Ostrzeżenie: (0%)
-----


zamień apostrofy na cudzysłowy i dodaj apostrofy do zmiennych w lini 4
Go to the top of the page
+Quote Post
frantic09
post
Post #7





Grupa: Zarejestrowani
Postów: 42
Pomógł: 6
Dołączył: 7.03.2011
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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];
Go to the top of the page
+Quote Post
potreb
post
Post #8





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Zrób to na zasadzie jquery-ui dialog, będzie fajny efekt i przy okazji mniej pracy (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Misiuu
post
Post #9





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 13.10.2009

Ostrzeżenie: (0%)
-----


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


Ten post edytował Misiuu 12.03.2011, 14:21:50
Go to the top of the page
+Quote Post
krzywy36
post
Post #10





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

Ostrzeżenie: (0%)
-----


w 23 lini daj:
  1. echo '<tr><td>'.$row123['imie'].'</td><td>'.$row123['nazwisko'].'</td><td>'.$row123['email'].'</td></tr>';


podstawy tworzenia stringów.
Go to the top of the page
+Quote Post
Misiuu
post
Post #11





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 13.10.2009

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
krzywy36
post
Post #12





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

Ostrzeżenie: (0%)
-----


dodawaj do mysql_query(), or die(mysql_error()) - bedziesz wiedział co się dzieje.
Go to the top of the page
+Quote Post
Misiuu
post
Post #13





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 13.10.2009

Ostrzeżenie: (0%)
-----


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


Go to the top of the page
+Quote Post
krzywy36
post
Post #14





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

Ostrzeżenie: (0%)
-----


takie głupie pytanie - a przekazujesz tą zmienną w adresie?...
Edit:
nie $_GET[osoba] tylko $_GET['osoba']

Ten post edytował krzywy36 12.03.2011, 15:16:47
Go to the top of the page
+Quote Post
gorden
post
Post #15





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

Ostrzeżenie: (0%)
-----


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]'");
Go to the top of the page
+Quote Post
Misiuu
post
Post #16





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 13.10.2009

Ostrzeżenie: (0%)
-----


Dziękuje udało sie (IMG:style_emoticons/default/biggrin.gif)

Ten post edytował Misiuu 12.03.2011, 15:27:46
Go to the top of the page
+Quote Post
krzywy36
post
Post #17





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

Ostrzeżenie: (0%)
-----


@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'];


Ten post edytował krzywy36 12.03.2011, 15:27:30
Go to the top of the page
+Quote Post
Misiuu
post
Post #18





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 13.10.2009

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 07:57