Witam,

mam taki problem, którego nie umiem już tydzien rozwiązać, a zapewne dla osoby w temacie różnic między zapytaniami do MySQL 4.1 i v5 to pikuś.


Na stronie mam wybór osób (typerów), każdy uzytkownik sobie wybiera takiego typera przez zaznaczenie i klika "Wyślij". Wtedy strona powinna zapamiętać to co wybrał i wysylac mu powiadomienia o nowych postach wybranej osoby (Typera).

Strona tak robiła, ale odkąd musialem zmienic wersje MySQL na v5 to calkowicie nie reaguje to zapytanie, wybiera sie, klika i nic. Strona tego nie czuje i nie zapamiętuje.

Zupełnie nie wiem co dostosować, żeby dzialalo tak samo jak wczesniej na v4.1, ale na wersji MySQL v5

Nie wyrzuca, żadnego błędu ani nic. Po prostu nie zapamietuje wybranych osób (powinno zachować znaczki wyboru obok nich), a do osoby po wyborze wysyla maila "Wybrales typerow: i tu jest PUSTO".

Z góry dzięki za każdą sugestie i pomoc.

  1. //to zapisze zmianę wybranych typerow
  2. if(isset($_POST[POST_CHANGE_TYPER_MAILING])){
  3.  
  4. $qry_wybrani = "SELECT t.id id_typer , t.nick nick , m.id_uzytkownicy wybrany"."\n".
  5. "FROM (uzytkownicy u, uzytkownicy_typer_mail m) "."\n".
  6. "RIGHT JOIN uzytkownicy t "."\n".
  7. "ON t.id = m.id_uzytkownicy_typer "."\n".
  8. "AND u.id = m.id_uzytkownicy "."\n".
  9. "WHERE u.id = $this->m_iUserId "."\n AND m.id_uzytkownicy IS NOT NULL";//.
  10.  
  11.  
  12. $res1 = mysql_query($qry_wybrani) or die ("LINE : ".__LINE__."SQL: <pre>\n".$qry_wybrani."\n</pre>".mysql_error()."<br>");
  13. while($row = mysql_fetch_array($res1)) $starzy .= "$row[nick],";
  14. $starzy = substr($starzy,0,-1);
  15.  
  16. $SQL_1 = "DELETE FROM uzytkownicy_typer_mail WHERE id_uzytkownicy = $this->m_iUserId";
  17. mysql_query($SQL_1) or die ("LINE : ".__LINE__."SQL: <pre>\n".$SQL_1."\n</pre>".mysql_error()."<br>");
  18. foreach($_SESSION[SESSION_SELECTED_TYPERS] as $key => $val){
  19. if(isset($_POST[$val])){
  20. $SQL_2 = "INSERT INTO uzytkownicy_typer_mail(id_uzytkownicy,id_uzytkownicy_typer) VALUES($this->m_iUserId,$_POST[$val])";
  21. mysql_query($SQL_2) or die ("LINE : ".__LINE__."SQL: <pre>\n".$SQL_2."\n</pre>".mysql_error()."<br>");
  22. }
  23. }
  24.  
  25. $res2 = mysql_query($qry_wybrani) or die ("LINE : ".__LINE__."SQL: <pre>\n".$qry_wybrani."\n</pre>".mysql_error()."<br>");
  26. while($row = mysql_fetch_array($res2)) $nowi .= "$row[nick],";
  27. $nowi = substr($nowi,0,-1);
  28.  
  29. $tresc_mail = readData($this->m_aSkorki[MAIL_ZMIANA_TYPEROW][SKIN]);
  30. $labels = array('%NICK%','%MAIL%','%STARA_LISTA_TYPEROW%','%NOWA_LISTA_TYPEROW%');
  31. $values = array($this->m_strUserNazwa,$this->m_strUserMail,$starzy,$nowi);
  32. $tresc_mail = str_replace($labels,$values,$tresc_mail);
  33. $mail = new CMail();
  34. $mail->to = $this->m_strUserMail;
  35. $mail->from = ADMIN_MAIL;
  36. $mail->subject = TEXT_ZMIANA_TYPEROW;
  37. $mail->message = $tresc_mail;
  38. $mail->send();
  39.  
  40. }
  41. $_SESSION[SESSION_SELECTED_TYPERS] = NULL;
  42.  
  43. }
  44. else{
  45. $Q_TYERZY_WYBRANI_LUB_NIE = "SELECT t.id id_typer , t.nick nick_typer , m.id_uzytkownicy wybrany "."\n".
  46. "FROM (uzytkownicy u, uzytkownicy_typer_mail m) "."\n".
  47. "RIGHT JOIN uzytkownicy t "."\n".
  48. "ON t.id = m.id_uzytkownicy_typer "."\n".
  49. "AND u.id = m.id_uzytkownicy "."\n".
  50. //"WHERE u.id = $this->m_iUserId "."\n". //"%USER_ZALOGOWANY%"
  51. "WHERE t.id = %TYPER%"."\n".
  52. "AND t.id_prawa > 1 limit 1"."\n";
  53.  
  54.