Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Proszę o pomoc.
Klycior
post 24.01.2010, 16:30:23
Post #1





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 31.05.2009

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


Witam,

Posiadam u siebie na stronie coś takiego jak system osoby polecającej.Działa on na zasadzie takiej że podczas rejestracji nowego konta można wpisać nick osoby polecającej.Przykładowo kiedy zakładamy konto i wpiszemy osobę polecającą Tomek to u nas w bazie usera pod Polecil dodaje sie nazwa Tomek.Czyli uzupełniając formularz rejestracyjny do naszego profilu przypisuje się osoba która nas zaprosiła.Wchodząc na masz profil jest informacja "Zaproszony przez Tomek".Chciałbym teraz zrobić żeby u Tomka była lista jakie osoby zaprosił.

Tabela user > polecil

Pewna osoba mi napisała:
select count(id) where polecony='$ten_ktorego_sprawdzasz'
select user from user where polecony='$ten_ktorego_sprawdzasz'
while() to wyciagasz

Lecz jak to zastosować w praktyce ?


Ten post edytował Klycior 24.01.2010, 17:17:10
Go to the top of the page
+Quote Post
thek
post 24.01.2010, 17:17:13
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Logika szwankuje? Wyszukanie w bazie wszystkich userów, którzy mają w Polecił -> Tomek. A inna rzecz, że takie coś jest dość omylne. Powinieneś wpisywać nie nazwę usera, która może się powtarzać, ale jakiś unikalny identyfikator jak choćby login czy id tego usera.

EDIT:
W praktyce wygląda to tak:
  1. $polecili = mysql_query( 'SELECT wybrane_kolumny FROM user WHERE polecony = \''.$tutaj_login_czy_inny_unikatowy_znacznik.'\'' );
  2. if( $polecili ) {
  3. if( mysql_num_rows( $polecili ) ) {
  4. while( mysql_fetch_array( $polecili ) ) {
  5. //tu robisz co chcesz z tą listą userów, którzy polecili
  6. }
  7. } else {
  8. //tu gdy brak polecających
  9. }
  10. } else {
  11. //tu coś robisz gdy jakiś błąd
  12. }


EDIT2: Tak... Dopisałem ten prosty kod. Nic więcej.

Ten post edytował thek 24.01.2010, 17:26:41


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
emtiej
post 24.01.2010, 17:24:09
Post #3





Grupa: Zarejestrowani
Postów: 207
Pomógł: 18
Dołączył: 12.04.2009
Skąd: Rypin

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


Miejmy nadzieje, że nazwa u Klyciora jest to unikalne pole zbliżone do loginu tongue.gif, wtedy robisz coś takiego:

  1. SELECT * FROM `user` WHERE `polecil`='Tomek'

user - tabela z użytkownikami
polecil - kolumna w której przechowywany jest NICK(unikalny, najlepiej żeby to był user_id z auto increment itp)

Ilość zwróconych wyników będzie wtedy ilością użytkowników jaką zaprosił Tomek, a jak wypisać ich NAZWY/NICKI/ID to już powinieneś wiedzieć


żeby nie było że przepisuje albo coś, kolega powyżej edytował swój post, kiedy ja pisałem swojego heh smile.gif

Ten post edytował emtiej 24.01.2010, 17:25:06
Go to the top of the page
+Quote Post
Klycior
post 24.01.2010, 17:51:08
Post #4





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 31.05.2009

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


Cały plik wygląda tak:

  1. <?php
  2. if(!isSet($_SESSION['sesja'])){
  3. //header("Location: index.php");
  4. }
  5. $user = $_SESSION['sesja'];
  6. include "baza.php";
  7. include "gora.php";
  8. $polecili = mysql_query( 'SELECT polecili FROM user WHERE polecony = \''.$julek1122.'\'' );
  9. if( $polecili ) {
  10. if( mysql_num_rows( $polecili ) ) {
  11. while( mysql_fetch_array( $polecili ) ) {
  12. //tu robisz co chcesz z tą listą userów, którzy polecili
  13. }
  14. } else {
  15. //tu gdy brak polecających
  16. }
  17. } else {
  18. //tu coś robisz gdy jakiś błąd
  19. }
  20. include "dol.php";
  21. ?>


Julek1122 zaprosił już trzech graczy.Lecz po otwarciu tej strony jest ciemno czyli wynik 0.
Proszę wybaczyć lecz bardzo słaby jestem z PHP.

Ten post edytował Klycior 24.01.2010, 17:59:12
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: 10.07.2025 - 10:09