Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]moduł znajomych
neo1986kk
post
Post #1





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


Witam, probuje stworzyc moduł znajomych ale potrzebuję waszej pomocy ponieważ:



1. utworzyłem tabelę znajomi.


id znajomi1 znajomi2
0 maniek zosia
1 maniek marysia
2 krysia maniek


2. Mam problem z zapytaniem do bazy przy wyświetlaniu, przeczytałem na forum że należy użyć join ale zabardzo mi to nie wychodzi...(IMG:style_emoticons/default/sad.gif)

  1. $mojprofil='maniek';
  2.  
  3. $znajomi="SELECT * FROM znajomi where znajomi1='$mojprofil' or znajomi2='$mojprofil'";
  4. $idznajomi= mysql_query ($znajomi);
  5. while ($row =mysql_fetch_row($idznajomi))
  6. {
  7. echo $row2[0];
  8. echo $row2[1];
  9. }
  10.  


i wlasnie nie wiem gdzie tu wcisnąć join, wydaje mi się że join łączy 2 bazy czyli np gdybym miał jeszcze baze "uzytkownicy" to bym mógł połączyć ją z bazą "znajomi" ale wydaje mi sie to troche bez sensu.

Teraz tak sobie pomyślalem że trzeba by zrobić warunek że jeśli znajomi2=$mojprofil; to znajomi1=znajomi2 a znajomi2= znajomi1 no nie wiem już czy dobrze myślę...


jeszcze wymyśliłem coś takiego ale też bez skutku.

  1. $znajomi="SELECT * FROM znajomi IF(znajomi1='$profilfriendsnr', znajomi2, znajomi1) AS znaja_sie where znajomi1='$mojprofil' or znajomi2='$mojprofil'";




Ten post edytował neo1986kk 3.04.2010, 23:27:07
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dziamber
post
Post #2





Grupa: Zarejestrowani
Postów: 57
Pomógł: 18
Dołączył: 15.04.2009
Skąd: Kwidzyn

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


Postaram się pomóc, sam ostatnio robiłem moduł znajomych więc użyczę Ci trochę kodu:

Tabela w bazie danych:
- id int(11) AUTO_INCREMENT - id wpisów
- id_twoj int(11) - id zapraszającego
- id_znajomy (11) - id zaproszonego

Zakładam także że masz tabelę users, zapytanie będzie wyglądało tak, dla łatwości podam Ci przykład bez JOIN:
  1. $query = 'SELECT * FROM znajomi WHERE id_twoj = "'.$id.'" OR id_znajomy = "'.$id.'"';
  2. // $id to twoje id wyciagniete z tabeli users
  3. // dalej laczysz sie z baza
  4. $user = array();
  5. if($row->id_twoj == $id) {
  6. $obiekt = $row->id_znajomy;
  7. } else {
  8. $obiekt = $row->id_twoj;
  9. }
  10. $query = 'SELECT * FROM users WHERE id = "'.$obiekt.'"';
  11. // laczysz sie z baza
  12. $user[] = $rows['login'];
  13. }
  14. // $row->id_twoj to wynik który zwraca mi klasa mysql
  15. // $row->id_znajomy to także id które zwraca mi mysql
  16. // $row->id_twoj analogicznie do poprzednich zmiennych

Takim to sposobem wyświetlam tylko te wyniki w których id znajomego to nie moje id. Wiem że to trochę zagmatwane i mało efektywne ale na początek dobre. Tablica $user zawiera loginy wszystkich znajomych. Możesz zrobić z nią co chcesz ja akurat przekazuje ją do smartów

Ten post edytował dziamber 4.04.2010, 07:55:02
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 17:04