Проблем с изкарване на брой на непрочетени съобщения

C++ JAVA
Post Reply
napsterbg
Нов
Нов
Posts: 15
Joined: Sun Dec 29, 2013 10:11 pm
Location: Габрово

Проблем с изкарване на брой на непрочетени съобщения

Post by napsterbg » Wed Jan 01, 2014 10:41 pm

Здравейте, опитвам се да изкарам броя на непрочетените съобщения на потребителя, но не излиза нищо,ето кода:

[php]<?php
function allinbox() {
$lqlqlq = mysql_query("SELECT COUNT(id) AS numrows FROM messages WHERE touser='$_SESSION[username]' AND readed='0'");
$pkza = mysql_num_rows($lqlqlq);
if($pkza = NULL) {
echo "0"; }
else {
echo $pkza[0];
}
}
?>
Кутия ( <?php allinbox(); ?> ) [/php]
Благодаря предварително :?:

fbian
Турист
Турист
Posts: 204
Joined: Sat May 26, 2012 3:55 pm
Answers: 18

Re: Проблем с изкарване на брой на непрочетени съобщения

Post by fbian » Thu Jan 02, 2014 8:30 am

napsterbg wrote:Здравейте, опитвам се да изкарам броя на непрочетените съобщения на потребителя, но не излиза нищо,ето кода:

[php]<?php
function allinbox() {
$lqlqlq = mysql_query("SELECT id FROM messages WHERE touser='$_SESSION[username]' AND readed='0'");
$pkza = mysql_num_rows($lqlqlq);
echo $pkza;
}
?>
Кутия ( <?php allinbox(); ?> ) [/php]
Благодаря предварително :?:

User avatar
anonimen
Web-tourist
Web-tourist
Posts: 1580
Joined: Mon Jun 11, 2012 6:07 pm
Answers: 163
Location: Parse error: unexpected "}" in /home/index.php on line 26

Post by anonimen » Thu Jan 02, 2014 10:01 am

Очевидно проблема е в това $_SESSION[username], което всъщност нищо не прави - търси ред в БД-то, при който потребителското име е $_SESSION[username], затова няма резултати. (ако имаше потребител с това име, щеше да има резултати).
Трябва да бъде така:

[php]$lqlqlq = mysql_query("SELECT id FROM messages WHERE touser='".$_SESSION['username']."' AND readed='0'");[/php]

joTunkiq
Потребител
Потребител
Posts: 827
Joined: Tue Dec 25, 2012 10:03 am
Answers: 142
Contact:

Post by joTunkiq » Thu Jan 02, 2014 11:38 am

Според мен трябва да се изчисти заявката и проверките ..

1. Използваш COUNT и го кръщаваш numrows, апук не го викаш с това име ..
2. Проверката НЕ трябва да проверява дали е NULL, a дали е ==0
3. Използваш COUNT И mysql_numrows .. е кво е тва, или едно или другото ! (на мястото на numrows се слага fetch_array/assoc за да изпълни заявката и то щи ги прeброи с COUNT)

и мисля че трябва да стане:
[php]$lqlqlq = mysql_query("SELECT COUNT(id) AS `numrows` FROM `messages WHERE `touser`='".$_SESSION[username]."' AND `readed`='0'");
$pkza = mysql_fetch_array($lqlqlq);
if($pkza['numrows'] == NULL || $pkza['numrows'] == 0) {
echo "0";
}
else {
echo $pkza['numrows'] ;
}
[/php]

:?: :?:
Last edited by joTunkiq on Thu Jan 02, 2014 11:43 am, edited 1 time in total.

napsterbg
Нов
Нов
Posts: 15
Joined: Sun Dec 29, 2013 10:11 pm
Location: Габрово

Post by napsterbg » Thu Jan 02, 2014 11:40 am

Благодаря ти много @joTunkiq +1

User avatar
anonimen
Web-tourist
Web-tourist
Posts: 1580
Joined: Mon Jun 11, 2012 6:07 pm
Answers: 163
Location: Parse error: unexpected "}" in /home/index.php on line 26

Post by anonimen » Thu Jan 02, 2014 12:11 pm

joTunkiq, даже може вместо
[php]if($pkza['numrows'] == NULL || $pkza['numrows'] == 0) {
[/php]да бъде
[php]if(!$pkza['numrows']) {[/php]
Защото и NULL, и 0 се равняват на FALSE.

Post Reply