Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Przypisywanie każdemu użytkownikowi id i wyciąganie danych na stronę
Croos22
post
Post #1





Grupa: Zarejestrowani
Postów: 316
Pomógł: 4
Dołączył: 22.03.2010

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


Witam.
Mam rejestrację i logowanie na stronie.W bazie mam następujące tabele id,nick,hasło,email.
Głównie chodzi mi o tabelkę id jak mogę zrobić aby każdy zarejestrowany użytkownik i jego dane (w przyszłości będzie więcej talelek z danymi niż teraz)były wyciągane na stronę a strona miała adres http://strona.pl/users.php?users=1 (gdzie numer 1 jest identyfikatorem) lub po prostu http://strona.pl/users/admin/ (admin czyli przykładowy nick zarejestrowanego użytkownika).Ja mam takie coś zrobić?Z góry dziękuje za każdą pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
kapuch
post
Post #2





Grupa: Zarejestrowani
Postów: 389
Pomógł: 69
Dołączył: 26.04.2010
Skąd: Łódź

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


Dajesz polu ID auto_increment
Pozniej:
  1. $query = mysql_query("SELECT * FROM `users` WHERE id='{$_GET['id']}'");
  2. if($dane=mysql_fetch_array($query))
  3. {
  4. echo $dane['nick'];
  5. echo $dane['mail'];
  6. // itd...
  7. }


@down, a Ty czytasz co ktos przed Toba napisal? Bo mysle ze dokladnie to samo napisalem :]

Ten post edytował kapuch 20.07.2010, 21:48:25


--------------------
Nie chce "Pomógł", aktualna ilość (69) w pełni mnie satysfakcjonuje :)
Go to the top of the page
+Quote Post
ghastblood
post
Post #3





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


http://forum.php.pl/index.php?showtopic=13...rt=#entry699638
myślę że pomoże. często pojawią się na forum dużo o wyświetlanie artykułów, userów po id. Nawet niektóre fora np: phpbb3 wyświetla posty po id
Go to the top of the page
+Quote Post
Croos22
post
Post #4





Grupa: Zarejestrowani
Postów: 316
Pomógł: 4
Dołączył: 22.03.2010

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


Zrobiłem to tak
  1. <?php
  2. mysql_connect('','','');
  3. mysql_select_db("uzytkownicy");
  4.  
  5. $query = mysql_query("SELECT * FROM `users` WHERE id='{$_GET['id']}'");
  6. if($dane=mysql_fetch_array($query))
  7. {
  8. echo $dane['nick'];
  9. echo $dane['mail'];
  10. // itd...
  11. }
  12.  
  13. ?>


lecz wywaliło mi błąd
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/x/dane.php on line 6
Go to the top of the page
+Quote Post
ghastblood
post
Post #5





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


czy w tabeli users istnieje rekord id questionmark.gif jeżeli nazywa się inaczej to zmień to w zapytaniu


  1. $query = mysql_query("SELECT * FROM `users` WHERE NAZWA_POLA_ODPOWIADAJĄCEGO_ZA_ID='{$_GET['id']}'");

np:
  1. $query = mysql_query("SELECT * FROM `users` WHERE user_id='{$_GET['id']}'");


jeżeli chcesz aby w adres wyglądał tak http://strona.pl/users.php?users=1

musisz w $_GET[''] wpisać users zamiast id

Ten post edytował ghastblood 20.07.2010, 22:37:10
Go to the top of the page
+Quote Post
tomm
post
Post #6





Grupa: Zarejestrowani
Postów: 142
Pomógł: 28
Dołączył: 7.04.2008

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


źle masz skontruowane(połączone) zapytanie, u CIebie apostrof ID=' łączy się z GET[' a apostrof id' z ]}'

$query = mysql_query("SELECT * FROM `users` WHERE NAZWA_POLA_ODPOWIADAJĄCEGO_ZA_ID='{$_GET['id']}'");

spróbuj:

'SELECT * FROM `users` WHERE NAZWA_POLA_ODPOWIADAJĄCEGO_ZA_ID = '.$_GET['id']
Go to the top of the page
+Quote Post
Croos22
post
Post #7





Grupa: Zarejestrowani
Postów: 316
Pomógł: 4
Dołączył: 22.03.2010

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


Mała pomyłka poprawiłem lecz nadal mam ten sam błąd.
  1. <?php
  2. mysql_connect('','','');
  3. mysql_select_db("uzytkownicy");
  4.  
  5. $query = mysql_query("SELECT * FROM `uzytkownicy` WHERE id='{$_GET['id']}'");
  6. if($dane=mysql_fetch_array($query))
  7. {
  8. echo $dane['nick'];
  9. echo $dane['mail'];
  10. // itd...
  11. }
  12.  
  13. ?>


Baza wygląda tak:
  1. CREATE TABLE `uzytkownicy` (
  2. `id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
  3. `nick` VARCHAR( 32 ) NOT NULL ,
  4. `haslo` VARCHAR( 40 ) NOT NULL ,
  5. `email` VARCHAR( 40 ) NOT NULL ,
  6. `ip` VARCHAR( 20 ) NOT NULL ,
  7. PRIMARY KEY ( `id` )
  8. );




A co jest u mnie NAZWA_POLA_ODPOWIADAJĄCEGO_ZA_ID?

Ten post edytował Croos22 20.07.2010, 22:55:45
Go to the top of the page
+Quote Post
ghastblood
post
Post #8





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


Sprawdziłem u mnie śmiga
  1. mysql_connect("localhost", "root", "")or die("Nie można nawiązać połączenia z bazą");
  2. mysql_select_db("test")or die("Wystąpił błąd podczas wybierania bazy danych");
  3.  
  4. $query = mysql_query("SELECT * FROM `uzytkownicy` WHERE id='{$_GET['id']}'");
  5. if($dane=mysql_fetch_array($query))
  6. {
  7. echo $dane['nick'];
  8. echo $dane['email'];
  9. }
  10.  


adres strona.pl/user.php?id=1"

Ten post edytował ghastblood 20.07.2010, 23:09:13
Go to the top of the page
+Quote Post
kapuch
post
Post #9





Grupa: Zarejestrowani
Postów: 389
Pomógł: 69
Dołączył: 26.04.2010
Skąd: Łódź

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


Cytat(tomm @ 20.07.2010, 23:37:53 ) *
źle masz skontruowane(połączone) zapytanie, u CIebie apostrof ID=' łączy się z GET[' a apostrof id' z ]}'

$query = mysql_query("SELECT * FROM `users` WHERE NAZWA_POLA_ODPOWIADAJĄCEGO_ZA_ID='{$_GET['id']}'");

spróbuj:

'SELECT * FROM `users` WHERE NAZWA_POLA_ODPOWIADAJĄCEGO_ZA_ID = '.$_GET['id']

Chyba raczej nie, bo to pomiedzy klamrami jest wykonywane w pierwszej kolejnosci, takze gdy to trafia jako zapytanie do mysql, to tych apostrofow juz nie ma, tak samo jak samej nazwy $_GET['id'], pozostaje tylko WHERE id='login'
Jakby bylo $_GET["id"], wtedy by sie laczyly...

@Up - No to mamy odpowiedz, ze kod jest ok, dzieki ghastblood, bo juz mialem zamiar odpalac serwer...ufff (moge wrocic do filmu) smile.gif


PS. Autor tematu: A ty utworzyles baze o nazwie 'uzytkownicy' i tabele o tej samej nazwie? Czy poprostu pomyliles baze z tabela?
Bo moze tutaj jest blad...

Cytat
mysql_select_db("uzytkownicy");

i

CREATE TABLE `uzytkownicy`...

Sprawdz lepiej

Zycze owocnej nocy winksmiley.jpg

Ten post edytował kapuch 20.07.2010, 23:05:41


--------------------
Nie chce "Pomógł", aktualna ilość (69) w pełni mnie satysfakcjonuje :)
Go to the top of the page
+Quote Post
Croos22
post
Post #10





Grupa: Zarejestrowani
Postów: 316
Pomógł: 4
Dołączył: 22.03.2010

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


Super dzięki wielki od miesięcy marzyłem aby dodać takie urozmaicenie na moją stronę.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 06:40