Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Proszę o pomoc.
Forum PHP.pl > Forum > PHP
Klycior
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 ?
thek
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.
emtiej
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
Klycior
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.