Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Problem z zapytaniem...
Forum PHP.pl > Forum > Przedszkole
bemol
Witam, otóż mam taki problem:
Mam taką tablę:
  1. CREATE TABLE `Messages` (
  2. `MessageID` mediumint(8) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `MessageContent` varchar(300) NOT NULL,
  4. `MessageDate` date NOT NULL,
  5. `MessageFrom` int(10) UNSIGNED NOT NULL,
  6. `MessageTo` int(10) UNSIGNED NOT NULL,
  7. `MessageRead` varchar(3) NOT NULL DEFAULT 'No',
  8. `MessageToPos` varchar(9) NOT NULL DEFAULT 'inbox',
  9. `MessageFromPos` varchar(9) NOT NULL DEFAULT 'inbox',
  10. PRIMARY KEY (`MessageID`)
  11. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=1 ;


i problem tego typu, że nie wiem jak napisać zapytanie by pobierało dane i wyświetlało w odpowiednim "folderze". Otóż póki co mój kod przenosi wiadomość przykładowo do katalogu "Ulubione". Tyle, że przenosi i temu który wysłał wiadomość oraz temu do którego była adresowana.
Czyli jeśli bemol wyśle wiadomość wieśkowi, a wiesiek przeniesie ją do ulubionych to wyświetli się także bemolowi w ulubionych zamiast w wysłanych. Jak oddzielić zależność? Żeby po przeniesieniu przez Wieska, u bemola została w tym samym miejscu co była?

  1. <?php
  2. case 'favourite'<span style="color: #007700": {
  3.  
  4. $DB->Query("SELECT * FROM Messages,Users WHERE (MessageTo='".$_SESSION['UserID']."' OR MessageFrom='".$_SESSION['UserID']."') AND UserID=MessageTo AND (MessageFromPos='favourite' OR MessageToPos='favourite');");
  5.  
  6. if ( $DB->NRows() > 0 ) {
  7.    echo '<div style="clear:both;widt:100%;"><table><tr><td width="15%"><b>Od/Do</b></td><td width="55%"><b>Treść</b></td><td width="10%"><b>Data</b></td></td><td width="10%" align="center"><b>Do kosza</b></td><td width="10%" align="center"><b>Usuń</b></td></tr>';
  8.  while ($Row = $DB->FetchArray()) {
  9.    echo '<tr><td width="15%"><a href="profile.php?ID='.$Row['UserID'].'">'.$Row['UserNick'].'</a></td><td width="55%"><a href="messagebox.php?page=read&id='.$Row['MessageID'].'">'.Cut($Row['MessageContent'],40).'</a></td><td width="10%">'.FormatDate($Row['MessageDate'],'/').'</td><td width="10%" align="center"><a href="action.php?type=trash&id='.$Row['MessageID'].'"><img src="images/trash.gif" alt="przenieś do kosza" /></a></td><td width="10%" align="center"><a href="delete.php?type=message&id='.$Row['MessageID'].'"><img src="images/delete.gif" alt="usuń" /></a></td></tr>';
  10.  }
  11.    echo '</table></div>';
  12. } else echo 'Brak ulubionych wiadomości.';
  13.  
  14. break;}
  15. ?>
Method
  1. .... UserID=MessageTo ......

Tak na pierwszy rzut oka nie powinno być tak:
  1. ...User_id = $_SESSION['UserID'].....
bemol
raczej nie bardzo, bo to ma być id usera który wysłał wiadomość, a w zmiennej sesyjnej jest przechowywane id usera zalogowanego, czyli tego co odbierał wiadomość.

PS. Po konsultacji działa biggrin.gif wielkie dzieki
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.