Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PRYWATNE WIADOMOŚCI
Forum PHP.pl > Forum > Bazy danych > MySQL
diamondking
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>";
Rysh
Poczytaj o DISTINCT.
diamondking
Ale ja muszę pobrać wszystkie kolumny (*) a nie mogę zrobić distinict (*)
diamondking
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ąć.
markonix
A czym u Ciebie jest konwersacja?
Jest to jakaś relacja wiele do jednego typu wiadomość - konwersacja?
nospor
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.
markonix
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ą?
diamondking
Ok - juz chyba rozwiązałem - dziękuję za pomoc
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.