Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Newsy, Temat do zamkniecia!
newbie96
post 8.01.2012, 13:59:18
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 31.12.2011

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


Temat do zamkniecia!

Ten post edytował newbie96 8.01.2012, 14:41:46
Go to the top of the page
+Quote Post
modern-web
post 8.01.2012, 14:03:55
Post #2





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Jeżeli w bazie danych masz zawarte kolumny z nazwą użytkownika to pewnie, że się da;
Niestety nie znam struktury Twojej tabeli dlatego jedyne co możesz zrobić to samemu potestować:
  1. echo '</td></table>    <small>Author:';

zamień na
  1. echo '</td></table>    <small>Author:';

i zobacz co się stanie smile.gif jedź po kolei numerami w tablicy $row (jeśli nie znasz struktury tabeli), a jeśli znasz to po prostu wstaw tam numer kolumny ;0

Pozdrawiam

Ten post edytował modern-web 8.01.2012, 14:06:23


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
newbie96
post 8.01.2012, 14:08:07
Post #3





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 31.12.2011

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


user_id to lucz obcy

Ten post edytował newbie96 8.01.2012, 14:41:11
Go to the top of the page
+Quote Post
modern-web
post 8.01.2012, 14:11:29
Post #4





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Rozumiem, że nazwa użytkownika znajduje się w tabeli `users`, tak? W takim wypadku musiałbyś zastosować LEFT JOIN smile.gif


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
newbie96
post 8.01.2012, 14:15:01
Post #5





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 31.12.2011

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


tak nazwa uzytkownika (username) znajduje sie w tabeli users

a jest jakis scrypt co zamienia user_id na username??
Go to the top of the page
+Quote Post
modern-web
post 8.01.2012, 14:16:49
Post #6





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Mylisz pojęcia... musisz stworzyć zapytanie do bazy danych, w którym połączysz obie tabele i wyciągniesz z tabeli users nazwę użytkownika na podstawie danych z tabeli news.
Przeczytaj początek tematu na tej stronie: http://www.w3schools.com/sql/sql_join_left.asp
Po pierwszym przykładzie wszystko zrozumiesz smile.gif


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
newbie96
post 8.01.2012, 14:22:58
Post #7





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 31.12.2011

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


Kod
SELECT
    n.*,
    u.username AS u
FROM
    `users` AS u
    JOIN news AS n ON u.user_id = n.user_id
ORDER BY
    username ASC,
    date ASC

teraz mi wyswietla nazwe uzytkownika tylko jak to na php zameinic ;d

Go to the top of the page
+Quote Post
modern-web
post 8.01.2012, 14:26:59
Post #8





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


To co mi wysłałeś to zapytanie SQL... przypisz to do zmiennej, zastosuj funkcję query, zamień wynik na tablicę i odczytaj ją za pomocą $wynik[x] gdzie x będzie numerem kolumny (pamiętaj, że numerowanie kolumn w bazie danych zaczyna się od 0, nie od 1).


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
newbie96
post 8.01.2012, 14:34:20
Post #9





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 31.12.2011

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


Kod
$query = "SELECT n.*, u.username AS u FROM `users` AS u JOIN news AS n ON u.user_id = n.user_id ORDER BY username ASC, date ASC LIMIT 0, 30 ";

to zamiast tego:
Kod
$query = "SELECT titlle AS t, content AS c, user_id AS id FROM news ORDER BY date ASC LIMIT 0, 30 ";

tak?

ok problem rozwiazany!


dzieki modern-web

Ten post edytował newbie96 8.01.2012, 14:36:21
Go to the top of the page
+Quote Post
modern-web
post 8.01.2012, 14:35:41
Post #10





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


  1. $zapytanie = "SELECT `username` FROM `users` LEFT JOIN `news` ON users.user_id = news.user_id";
  2. $query = mysql_query($zapytanie);
  3. while ($w = mysql_fetch_array($query)) {
  4. echo $w[X];
  5. }


Prototyp pisany od ręki, popraw i zobacz, czy działa. Teraz chyba wiesz co i jak...

Ten post edytował modern-web 8.01.2012, 14:36:05


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
newbie96
post 8.01.2012, 14:35:54
Post #11





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 31.12.2011

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


teraz chce zrobic ze jak nacisne nazwe autora newsa pokazuje mi jego dane: ile zrobil newsow , email itd. ale musze zrobic inny temat.


Dzieki !
Go to the top of the page
+Quote Post
modern-web
post 8.01.2012, 14:36:38
Post #12





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Nie ma sprawy, polecam się na przyszłość biggrin.gif


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
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 Wersja Lo-Fi Aktualny czas: 13.06.2025 - 04:05