Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]System pw
Forum PHP.pl > Forum > Przedszkole
xxdrago
Witam, napisałem sobie skrypt prywatnych wiadomości (na razie tylko wysyłanie) i mam taki problem: tak wyświetlają mi sie wiadomości :
i teraz chce zrobić coś takiego że jak kliknę w temat wiadomości (na razie nie zrobione jako link) to pokaże mi tą wiadomość. I teraz problem polega na tym jak pobrać te rekordy do linków smile.gif przypisać sobie adres taki:
wiadomosci.php?view=id wiadomosci sr. za opisanie problemu w sposób ułomny ale nie wiem jak to nazwać i za bardzo opisać.
bialko0019
No zobacz. Jak wyświetlasz sobie wiadomości w pętli to za każdą iteracją masz dane wiadomości ( cyzli rekordu ):

- id wiadomości,
- temat,
- data wysłania
- i inne dane.


Po prostu jak wyświetlasz sobie liste wiadomości to generuj link w postaci takiej jak napisałeś wink.gif

Np. example.pl/czytaj?id=90 gdzie ID to id rekordu. I w pliku czytaj.php wyświeltasz wiadomośc, która ma ID np. 90. ALE musisz też sprawdzić, czy była kierowana akurat do zalogowanego użytkownika - bo wtedy bym wpisał inna liczbe i bym przeczytać kogoś wiadomość wink.gif

Przykład ?

  1.  
  2. while($dana=mysql_fetch_array($zapytanie))
  3. {
  4. $id = $dana['id'];
  5. $temat = $dana['temat'];
  6.  
  7. echo "<a href='czytaj.php?id=$id'>$temat</a>";
  8.  
  9.  
  10. }
  11.  


Potem możesz sprawdzać czy jest przecyztana, jeśli nie - temat pogrubiony itd... Rozumiesz ? Czy za bardzo chaotycznie napisałem ?

xxdrago
Mniej więcej smile.gif w tym pliku czytaj.php jak ma to wyglądać
bialko0019
1. Pobierasz ID wiadomości.
2. Sprawdzasz, czy to na pewno liczba itd ( zabezpiecz sie przed sql inject )
3. RObisz zapytanie, który wyciąga wiadomość o danym ID jeśli jest on akierowana do użytkownika zalogowanego np.

  1. SELECT * FROM wiadomosci WHERE id = '$id' AND odbiorca LIKE'{$_SESSION['zalogowany']} LIMIT 1

4. Wyświetlasz ( już bez pętli ) szczegóły wiaodmości, tj. tresc, temat, nadawca, data, itd...
xxdrago
  1. $odbiorca = $uzytkownik['login'];
  2. $wynik = mysql_query("SELECT * FROM wiadomoscipw WHERE odbiorca = '$odbiorca'")
  3. or die('Błąd zapytania');
  4.  
  5. if(mysql_num_rows($wynik) > 0) {
  6. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  7. echo '<table width="100%">
  8. <tr>
  9. <td background="img/table.png"><b>Temat</b></td>
  10. <td background="img/table.png"><b>Rozmówca</b></td>
  11. <td background="img/table.png"><b>Ostatni wpis</b></td>
  12. </tr>';
  13. while($r = mysql_fetch_object($wynik)) {
  14. echo "<tr>";
  15. echo "<td>".$r->tytul."</td>";
  16. echo "<td>".$r->nadawca."</td>";
  17. echo "<td>".$r->data_nadania."</td>";
  18. echo "</tr>";
  19. echo "</table>";
  20. }
  21. }


ok, juz sie biore za tamto tylko jeszcze jedno jak mogę tutaj zrobić cos takiego: jak nie ma pw to wyświetla mi sie napis a jak jest to sie nie wyświetla.

PS: zle kod skopiowałem

Kod
$odbiorca = $uzytkownik['login'];
$wynik = mysql_query("SELECT * FROM wiadomoscipw WHERE odbiorca = '$odbiorca'")
or die('Błąd zapytania');

if(mysql_num_rows($wynik) > 0) {
    /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
echo '<table width="100%">
<tr>
<td background="img/table.png"><b>Temat</b></td>
<td background="img/table.png"><b>Rozmówca</b></td>
<td background="img/table.png"><b>Ostatni wpis</b></td>
</tr>';
while($r = mysql_fetch_object($wynik)) {
echo "<tr>";
echo "<td><a href=\"czytaj.php?id={$r->id}\">{$r->tytul}</a> </td>";
echo "<td>".$r->nadawca."</td>";
echo "<td>".$r->data_nadania."</td>";
echo "</tr>";
echo "</table>";
}
}

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.