Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Zliczenie rekordów z bazy - z warunkiem
Forum PHP.pl > Forum > Przedszkole
tumekbasior
Cześć,
mam problem związany z wyświetleniem zliczonych w bazie rekordów. Rekordy mają pewne określone warunki.

  1. $wynik = mysql_query ("SELECT user='$_SESSION[cot_user]' count(*) AS ilosc FROM ctt_raport WHERE akcja = 'ZWROT'");
  2. $wynik2 = mysql_fetch_array($wynik);
  3. $ilosc_rekordow = $wynik2['ilosc'];
  4. echo '<br><br>Ilość obsłużonych dziś obiektów:' $ilosc_rekordow;


Założenie jest takie, żeby z tabeli ctt_raport pobierało i zliczało rekordy dla akcji ZWROT i dla konkretnego zalogowanego użytkownika (stąd SESSION).
Ten kod, niestety, nie pozwala mi wyświetlić niczego.

Będę ogromnie zobowiązany za pomoc.
krzesik
$wynik = mysql_query ("SELECT count(*) AS ilosc FROM ctt_raport WHERE akcja = 'ZWROT' and user='$_SESSION[cot_user]'");
tumekbasior
Wyrzuca mi:
  1. Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /home/site/5173/www/raportuj/hc.php on line 277


Fragment wcześniejszego kodu (szukałem i nie znajduję żadnego błędu...)
  1. <tr>
  2. <td>'.iconv("ISO-8859-2", "UTF-8", $last_add[2]).'</td>
  3. <td>'.iconv("ISO-8859-2", "UTF-8", $last_add[4]).'</td>
  4. <td>'.iconv("ISO-8859-2", "UTF-8", $last_add[5]).'</td>
  5. <td>'.iconv("ISO-8859-2", "UTF-8", $last_add[6]).'</td>
  6. <td>'.iconv("ISO-8859-2", "UTF-8", $last_add[7]).'</td>
  7. <td>'.iconv("ISO-8859-2", "UTF-8", $last_add[10]).'</td>
  8. </tr>
  9. </table>
  10. </div>';
  11.  
  12.  
  13. echo '</table></center>';
  14.  
  15. $wynik = mysql_query ("SELECT count(*) AS ilosc FROM ctt_raport WHERE akcja = 'ZWROT' and user='$_SESSION[cot_user]'");
  16. $wynik2 = mysql_fetch_array($wynik);
  17. $ilosc_rekordow = $wynik2['ilosc'];
  18. echo '<br><br>Ilość obsłużonych dziś obiektów:' $ilosc_rekordow;
Turson
Dokładnie której linii tyczy się błąd?

Już widzę
  1. echo '<br><br>Ilość obsłużonych dziś obiektów:' $ilosc_rekordow;

brakuje pewnego znaku do łączenia
tumekbasior
Hm... poprawiłem:

  1. echo '<br><br>Ilość obsłużonych dziś obiektów: "'$ilosc_rekordow'"';


Nadal to samo sad.gif



Edit.
Nieważne - znalazłem błąd.

  1. echo '<br><br>Ilość obsłużonych dziś obiektów:'; echo $ilosc_rekordow;

Już wszystko gra.
Turson
  1. echo '<br><br>Ilość obsłużonych dziś obiektów: '.$ilosc_rekordow;
tumekbasior
Turson, jak do tego dodać jeszcze warunek, żeby rekordy były tylko z dnia bieżącego?
W bazie są one zapisane w kolumnie 'data' w formie '2013-12-01 00:01'
tumekbasior
  1. $wynik = mysql_query ("SELECT count(*) AS ilosc FROM ctt_raport WHERE data = DATE_FORMAT(NOW(),'%Y-%m-%d') and akcja = 'ZWROT' and user='$_SESSION[cot_user]'");


liczy rekordy, ale tylko z datą i godziną taką samą. Nie chce policzyć tych tylko z taką samą datą. Jakaś recepta?
Turson
Spróbuj CURDATE() zamiast NOW()
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.