Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PRYWATNE WIADOMOŚCI
diamondking
post 26.01.2015, 14:49:26
Post #1





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 7.02.2014

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


A więc tworze skrypt prywatmych wiadomości.
Mam tabelę wiadomosci a wniej pola
  1. wiad_id
  2. wiad_tresc
  3. wiad_od
  4. wiad_do
  5. wiad_przeczytane
  6. data
  7. konwersacja


Teraz w pliku wiadomosci.php chce wyswietlać wszystkie konwersacje!!

To znaczy jeśli użytkownik diamondking napisze do użytkownika test dwie wiadomości to one beda mieć różne id ale ten sam kod "konwersacje"
ale w pliku wiadomości.php i tak mi się dwa razy wyświetla diamondking a chce by tylko raz sie wyświetlało.

  1. $wynik=mysql_query("select * from wiadomosci where wiad_do=".$user_data['user_id']." order by wiad_data");
  2. echo '<div class="wiadomosci" ><table ><tr>
  3. <td style="width: 30%;">Nadawca</td>
  4. <td style="width: 40%;">Temat</td>
  5. <td style="width: 15%;">Data</td>
  6. <td style="width: 15%;">Opcje</td></tr>';
  7.  
  8. if(!mysql_num_rows($wynik))echo "<tr><td colspan=4 style='text-align:center'>Nie masz żadnych wiadomości!</td></tr>";
  9. else while($rekord=mysql_fetch_array($wynik)){
  10. $nadawca=mysql_fetch_array(mysql_query("select user_name from users where user_id=".$rekord["wiad_od"]));
  11. $kw1="";$kw2="";
  12.  
  13. if(!$rekord["wiad_przeczytane"]){
  14. $kw1="<b>";$kw2="</b>";
  15. }
  16.  
  17. echo "<tr>
  18. <td align='center'>".$nadawca["user_name"]."</td>
  19. <td><a href='wiadomosci.php?read=".$rekord["konwersacja"]."'>$kw1".$rekord["wiad_temat"]."$kw2</td>
  20. <td>".date("d/m/Y", strtotime($rekord["wiad_data"]))."</td>
  21. <td align='center'><a href='wiadomosci.php?usun=".$rekord["wiad_id"]."'>usuń</a></td></tr>";
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
Rysh
post 26.01.2015, 14:52:59
Post #2





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Poczytaj o DISTINCT.


--------------------
Go to the top of the page
+Quote Post
diamondking
post 26.01.2015, 15:00:40
Post #3





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 7.02.2014

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


Ale ja muszę pobrać wszystkie kolumny (*) a nie mogę zrobić distinict (*)
Go to the top of the page
+Quote Post
Rysh
post 26.01.2015, 15:12:07
Post #4





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


http://www.w3schools.com/sql/sql_groupby.asp


--------------------
Go to the top of the page
+Quote Post
diamondking
post 26.01.2015, 15:16:20
Post #5





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 7.02.2014

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


Nic nie kumam po angielksu stamtąd oneeyedsmiley02.png

Znajdzie się ktoś na tyle wyrozumiały i napisze mi jak to ma wyglądać, bo trace bez sensu czas na szukanie czegoś - czego po angielsku nie jestemw stanie pojąć.
Go to the top of the page
+Quote Post
markonix
post 26.01.2015, 15:19:55
Post #6





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


A czym u Ciebie jest konwersacja?
Jest to jakaś relacja wiele do jednego typu wiadomość - konwersacja?


--------------------
Go to the top of the page
+Quote Post
nospor
post 26.01.2015, 15:20:49
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Poprostu Rysh nie zrozumiał co chcesz osiągnąc.

Zapamietuj w petli id ostatniego usera, ktorego wyswietliles - na koncu. A potem przy wyswietlaniu usera, jesli akutalny user jest taki sam jak ostatni, to go poprostu nie wyswietlaj.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
markonix
post 26.01.2015, 15:24:23
Post #8





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Troszkę to słabe - dlaczego nie utworzysz tabeli z konwersacjami?
Dzięki temu możesz zapisać do niej jakieś atrybuty typu temat rozmowy (tak jak na forach).

Bo teraz w ogóle w jaki sposób ustalasz kiedy rozpocząć "nową" konwersacje, a kiedy kontynuować starą?

Ten post edytował markonix 26.01.2015, 15:25:11


--------------------
Go to the top of the page
+Quote Post
diamondking
post 26.01.2015, 15:24:44
Post #9





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 7.02.2014

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


Ok - juz chyba rozwiązałem - dziękuję za pomoc
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: 14.08.2025 - 12:24