Witam,
chcę "przerobić" mój kod strukturalny na obiektowy. Miałem się już dawno za to brać ale chęci mi nie pozwalały

Kod dotyczy pobierania liczby nowych, nieprzeczytanych prywatnych wiadomości jeśli takowe istnieją. Liczba pojawia się w nawiasie np. "PrivateMessage(5)".
Tak wygląda aktualny kod:
<?php
if(isset($_SESSION['zalogowany'])){ <li>Zakładka1</a></li>
<li>Zakładka2</li>
<li>Zakładka3</li>
';
//wywołanie klasy
$connect_class_pm = new PrivateMessage();
$connect_class_pm->setDb($db);
$connect_class_pm->GetPrivateMessage();
var_dump($row_last_topic); //zwraca NULL if(!$read_message){
echo '<li><a href="private_message">Private message</a></li>'; }else{
echo '<li><a href="private_message">Private message <span class="black"><span class="pogrub">('.$data_read_message['ilosc'].')</span></span></a></li>'; }
}else{
<li class="active"><a href="forum">Zakładka1</a></li>
<li><a href="forum/userpanel">Zakładka2</a></li>
';
}
?>
Plik GetPrivateMessage.class.php wygląda tak:<?php
class PrivateMessage extends DatabaseManipulator {
public function GetPrivateMessage() {
$read_message = $this->getPdo()->prepare("SELECT COUNT(`przeczytane_pw`) AS `ilosc` FROM `wiadomosci_pw` WHERE `wiadomosc_do` = :nick_odbiorcy AND przeczytane_pw = 0");
$read_message->bindValue(":nick_odbiorcy", $_SESSION['nick'], PDO::PARAM_STR);
if(!$read_message->execute()){
throw new Exception("Błąd zapytania");
}else{
$data_read_message = $read_message->fetch();
$read_message = $data_read_message['ilosc'];
}
}
}
?>
Nie powoduje on błędów, jednakże nic nie zwraca. Nie zwraca liczby wiadomości jak to było w przypadku kodu strukturalnego. Co dziwne, w taki sam sposób wywołuję instancje w innych plikach np. przy logowaniu. Wszystko ładnie się pobiera z bazy, dane etc.
Wcześniej było w ten sposób i działało bez zarzutów.
<?php
if(isset($_SESSION['zalogowany'])){ <li>Zakładka1</a></li>
<li>Zakładka2</li>
<li>Zakładka3</li>
';
$read_message = $db->prepare("SELECT COUNT(`przeczytane_pw`) AS `ilosc` FROM `wiadomosci_pw` WHERE `wiadomosc_do` = :nick_odbiorcy AND przeczytane_pw = 0");
$read_message->bindValue(":nick_odbiorcy", $_SESSION['nick'], PDO::PARAM_STR);
if(!$read_message->execute()){
throw new Exception("Błąd zapytania");
}else{
$data_read_message = $read_message->fetch();
$read_message = $data_read_message['ilosc'];
}
if(!$read_message){
echo '<li><a href="private_message">Private message</a></li>'; }else{
echo '<li><a href="private_message">Private message <span class="black"><span class="pogrub">('.$data_read_message['ilosc'].')</span></span></a></li>'; }
}else{
<li class="active"><a href="forum">Zakładka1</a></li>
<li><a href="forum/userpanel">Zakładka2</a></li>
';
}
?>
Wie może ktoś w czym jest problem?
Ten post edytował Kerth 10.06.2015, 07:39:32