Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [CSS][HTML][PHP] Pobieranie danych
menhils
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 6.01.2012

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


Ta funkcja sprawdza czy dany user_name (z tabeli users) ma w wierszu group 1 czy 2:
  1. function nick($user_data) {
  2. if ($user_data['group']!='1'){
  3. echo '<span class="lol">'.$user_data['user_name'].'</span>';
  4. }
  5. else {
  6. echo '<span class="lola">'.$user_data['user_name'].'</span>';
  7. }


I ta fukcji spełnia swoje działanie. Jeśli loguję się ja (group-1) nick mam na czerwono. Jeśli loguje się zwykły user nick jest zwykły.

Problem polega na tym, że nick wyświetlany przy napsianym news'ie jest pobierany z tabeli newsy. I pytanie brzmi jak pobrać z danego nick'u group z tabeli users?

Z góry dzięki, troche namieszane


--------------------
http://golden-towns.tk/ - Gra połączona za zarabianiem
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Nie wiem, czy jest za późno dla mnie czy dla Ciebie, bo nie bardzo rozumiem. Przede wszystkim, skąd mamy wiedzieć, jaka jest struktura bazy, jak wyglądają zapytania i w końcu, co to za silnik? Wybacz, ale to nie jest forum wróżbiarskie... czarodziej.gif


--------------------
Go to the top of the page
+Quote Post
menhils
post
Post #3





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 6.01.2012

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


sorry że nie jasno opsiane. To nie jest silnik, sam to pisałem

W bazie są tebele: users
  1. CREATE TABLE IF NOT EXISTS `users` (
  2. `user_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `user_name` varchar(255) NOT NULL,
  4. `user_password` varchar(40) NOT NULL,
  5. `user_email` varchar(255) NOT NULL,
  6. `user_regdate` int(10) UNSIGNED NOT NULL,
  7. `user_from` varchar(255) NOT NULL,
  8. `user_website` varchar(255) NOT NULL,
  9. `group` varchar(255) NOT NULL,
  10. `czas` int(10) NOT NULL,
  11. PRIMARY KEY (`user_id`)
  12. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;


i news
  1. CREATE TABLE IF NOT EXISTS `news` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `tytul` tinytext CHARACTER SET utf8 NOT NULL,
  4. `tresc` text CHARACTER SET utf8 NOT NULL,
  5. `tresc_dluga` text CHARACTER SET utf8 NOT NULL,
  6. `data` varchar(50) CHARACTER SET utf8 NOT NULL,
  7. `user` varchar(255) CHARACTER SET utf8 NOT NULL,
  8. PRIMARY KEY (`id`)
  9. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=34 ;


Chodzi o to żę na stronie w np. ostatnio zalogowanych gdzie są nicki poradziełm sobie z tym. Tylko nie wiem jak przy napsianym newsie pobrac group z tabeli users bo nick przez kogo został napisany dany news jest zapsiany w tabeli news


--------------------
http://golden-towns.tk/ - Gra połączona za zarabianiem
Go to the top of the page
+Quote Post
Wazniak96
post
Post #4





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

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


1. Poczytaj jeszcze trochę o relacjach. Nie poprawnie zapisujesz nick do tabeli news. Powinieneś zapisywać tam id usera.
2. Łap obrazek, jak jesteś kumaty to masz w nim wszystko co trzeba SQL Joins wink.gif
Go to the top of the page
+Quote Post
menhils
post
Post #5





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 6.01.2012

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


W miejscu $wiersz['userid'] wyświetla się id użytkownika który napisał dango newsa. Za bardzo nie wiem jak sie za to zabrać żeby wyświetlało nazwę tego użytkownika z tabeli users według tego userid
  1. <?php
  2. $link=mysql_query("SELECT * FROM news ORDER BY data desc");
  3.  
  4. while($wiersz=mysql_fetch_array($link))
  5. {
  6.  
  7.  
  8. echo "<b>".$wiersz['id']."".clear($wiersz['tytul'])."</b>";
  9. echo '<br>';
  10. echo $wiersz['data'];
  11. echo ' | By ';
  12. echo $wiersz['userid'];
  13. echo '<br>';
  14. echo BBCode(clear($wiersz['tresc']));
  15. echo '<br>';
  16. echo $wiersz['id'];
  17. echo '<br>';
  18. }
  19.  
  20. ?>


--------------------
http://golden-towns.tk/ - Gra połączona za zarabianiem
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Do swojego zapytania z news musisz dolaczyc jeszcze tabele z uzytkownikami przy pomocy LEFT JOIN. Wowczas bedziesz mial wszystkie informacje jakie potrzebujesz


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
menhils
post
Post #7





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 6.01.2012

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


Problem rozwiązany
  1. $link=mysql_query("SELECT * FROM news join users on news.userid = users.user_id ORDER BY data desc");


Ten post edytował menhils 24.01.2014, 11:35:14


--------------------
http://golden-towns.tk/ - Gra połączona za zarabianiem
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




NIe: echo nick($wiersz[user_name]);
a: echo nick($wiersz);

Moglbys patrzec co oczekujesz w funkcjach, ktore sam piszesz...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 22.08.2025 - 10:09