Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> System poleconych
gandziorz
post
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 20.12.2006

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


Witam,
Mam wielki problem z systemem poleconych. Pozwolę opisać swój problem.

Struktura user to:
  1. CREATE TABLE `user` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `login` text NOT NULL,
  4. `upline` text NOT NULL
  5. ) TYPE=MyISAM AUTO_INCREMENT=1;

Zawartość:
1 login1 null
2 login2 login1
3 login3 login1
4 login4 login2

Teraz jak to wszystko połączyć aby wyświetlić ilość poleconych na danym poziomie dla każdego użytkownika.

Ten post edytował gandziorz 30.08.2008, 22:27:50
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
em1X
post
Post #2





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


1) upline powinien wskazywac na ID uzytkownika a nie na jego nickname
2) trzeba poczytać o rekurencji


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
gandziorz
post
Post #3





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 20.12.2006

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


Poradziłem sobie z problemem.
Moje rozwiązanie wygląda tak:
  1. <?php
  2. function tabl_usr($war1) {
  3. $sql = "SELECT * FROM ". $DB['db_prefix'] ."user WHERE upline REGEXP('$war1') GROUP BY login";
  4. $query = mysql_query($sql);
  5. $num_rows = mysql_num_rows($query); 
  6. $arr = array();
  7. while ($row = mysql_fetch_array ($query)){
  8. $arr[] = $row['login'];
  9. }
  10. $lista = implode("|", $arr);
  11. return $lista;
  12. }
  13.  
  14. function ref_b($mojlogin, $poziom) {
  15. $level[1] = tabl_usr($mojlogin);
  16. for($i=1; $i<$poziom; $i++) {
  17. $level[$i+1] = tabl_usr($level[$i]);
  18. }
  19. return $level[$poziom];
  20. }
  21. ?>


Ten post edytował gandziorz 31.08.2008, 20:42:56
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 - 01:53