Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MYSQL] Licznik, analiza kodu MySQL, Składnia MySQL !!
DREEMus
post
Post #1





Grupa: Zarejestrowani
Postów: 286
Pomógł: 34
Dołączył: 4.09.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


  1. <?php
  2. // stary kod ...
  3. ?>


Streszczając chodzi o to, że licznik dodaje do 3, i potem dopiero wyświetla info "Już tutaj byłeś". Analizowałem kod parę razy, ale dla mnie wygląda dobrze, zmęczony trochę jestem (wiadomo - sobota), ale chyba jeszcze myślę (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

W każdym razie, czy ktoś z Was widzi gdzieś tu błąd (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
I generalnie nie widzę błędu :/ ale gdzieś być musi!

PS. Doszedłem do wniosku, że wartość licznika, policzę "countem" w SQL z tabeli z IP'kami ...


Wersja 2 - działająca (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
  1. <?php
  2. function licznik ($adres) {
  3.    $dbWynik = mysql_query ('SELECT COUNT(adres) AS `ip` FROM `licznik` WHERE `adres` = "' . $adres . '"')
  4.        or die ('<p>Błąd podczas sprawdzania adresu IP</p>');
  5.    $row = mysql_fetch_assoc ($dbWynik);
  6.    if ($row['ip'] == 0) {
  7.        $dbWynik = mysql_query ('SELECT COUNT(id) AS `ile` FROM `licznik`')
  8.            or die ('<p>Błąd przy liczeniu rekordów ...</p>');
  9.        $row = mysql_fetch_assoc ($dbWynik);
  10.        echo $row['ile'] . '. Pierwszy raz :)';
  11.        $dbDodajAdres = mysql_query ('INSERT INTO `licznik` (`id`, `adres`) VALUES (NULL, "' . $adres . '");')
  12.            or die ('<p>Błąd podczas dodawania adresu do bazy ...</p>');
  13.            } else {
  14.                $dbWynik = mysql_query ('SELECT COUNT(id) AS `ile` FROM `licznik`')
  15.                    or die ('<p>Błąd przy liczeniu rekordów ...</p>');
  16.                $row = mysql_fetch_assoc ($dbWynik);
  17.                echo $row['ile'] . '. Już tutaj byłeś :)';
  18.                }
  19.    }
  20. ?>


Aha, IP trzymam, bo sobie statystykę z nich zrobię (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował DREEMus 31.03.2009, 04:40:56
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
DREEMus
post
Post #2





Grupa: Zarejestrowani
Postów: 286
Pomógł: 34
Dołączył: 4.09.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Faktycznie ;D hmm, nie zwróciłem uwagi na to :/
ale wcześniej próbowałem z "AND" to wywalało mi błąd ...
żeby nie było, że nie szukałem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) MySQL - Operatory i funkcje

Doszedłem do IF'a w MySQL (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) zasada jak w Excelu (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Zaraz naskrobie poprawnie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

"Spłodziłem" coś takiego (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
  1. SELECT IF ('127.0.0.1' = '127.0.0.1', COUNT(id) AS 'ile', INSERT INTO `licznik` (`id`, `adres`, `host`) VALUES (NULL, '128.0.0.1', 'localhost) ) FROM `dreemus`.`licznik`

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS 'ile', INSERT INTO `licznik` (`id`, `adres`, `host`) VALUES (NULL, ... at line 1

I generalnie nie wiem jak to poskładać ... :/

Poddaje się ... próbowałem z CASE ... chyba PHP łatwiejsze niż MySQL (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Nigdzie nie mogę znaleźć jak wstawić polecenie w jakiś warunek ... np. jeżeli tak albo nie ... zawsze błąd :/
np. IF ('123' = '123', 'tak', 'nie') i tyle w manualu (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Więc póki co zostaje przy "wersji 2" (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował DREEMus 1.04.2009, 17:46:46
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 02:52