PHP: <?php $db_host='localhost'; $db_user='root'; $db_pass=''; $db_name='counter'; //Настройки соединения $connect=mysql_connect($db_host,$db_user,$db_pass); mysql_select_db($db_name,$connect) or die('плохой запрос : '. mysql_error()); //Ищем в базе текущий ип $ip_user = ip2long($_SERVER['REMOTE_ADDR']); $ac=mysql_query('SELECT * FROM `ip` WHERE `ip`='.$ip_user); //лучше не называть таблицы и столбцы одним именем $acs=mysql_fetch_array($ac); //Если нет в базе такого айпи, то значение $acs['ip'] пусто if (!$acs['ip']){ mysql_query('INSERT INTO `ip` VALUES('.$ip_user.')'); mysql_query('UPDATE users SET all=all+1'); } else { print 'А вы у нас уже не впервой))) '; } ?> что-то не работает) но и ошибок вроде нету...
хех) даже хорошо что сразу не отвечают, вот какой нашел выход: PHP: <?php $db_host='localhost'; $db_user='root'; $db_pass=''; $db_name='counter'; //Настройки соединения $connect=mysql_connect($db_host,$db_user,$db_pass); mysql_select_db($db_name,$connect) or die('плохой запрос : '. mysql_error()); //Ищем в базе текущий ип $ip_user = ip2long($_SERVER['REMOTE_ADDR']); $ac=mysql_query('SELECT * FROM `ip` WHERE `ip`='.$ip_user); //лучше не называть таблицы и столбцы одним именем $acs=mysql_fetch_array($ac); //Если нет в базе такого айпи, то значение $acs['ip'] пусто if (!$acs['ip']){ mysql_query('INSERT INTO `ip` VALUES('.$ip_user.')'); } else { print 'А вы у нас уже не впервой)))<br>'; } $result = mysql_query("SELECT * FROM ip", $connect); $cal = mysql_num_rows($result); echo " Всего нас посетило $cal пользователей"; ?> З.Ы. Слава мануалу)))
smidl чтобы узнать количество строк у БД есть своя функция count() исользовать которую намного лучше, чем получать все данные лишь для того чтобы через mysql_num_rows() получить кол-во строк сам подумай что лучше получить от БД 1 строку (или несколько если используются группировки) или целую таблицу по которой потом дополнительно пройтись для достижения результата?
Понял саму суть но не то как реализовать, теряюсь в догадках) покажешь?мануал читал, но видно не все понял...Покажи на моему примере
запрос для строки 21 твоего кода: select count(*) as cnt from ip; смотри какие данные возвращает и используй их далее.
PHP: <?php $db_host='localhost'; $db_user='root'; $db_pass=''; $db_name='counter'; //Настройки соединения $connect=mysql_connect($db_host,$db_user,$db_pass); mysql_select_db($db_name,$connect) or die('плохой запрос : '. mysql_error()); //Ищем в базе текущий ип $ip_user = ip2long($_SERVER['REMOTE_ADDR']); $ac=mysql_query('SELECT * FROM `ip` WHERE `ip`='.$ip_user); //лучше не называть таблицы и столбцы одним именем $acs=mysql_fetch_array($ac); //Если нет в базе такого айпи, то значение $acs['ip'] пусто if (!$acs['ip']){ mysql_query('INSERT INTO `ip` VALUES('.$ip_user.')'); } else { print 'А вы у нас уже не впервой)))<br>'; } $result = mysql_query("SELECT * FROM ip", $connect); $cal =select count(*) as cnt from ip; echo " Всего нас посетило $cal пользователей"; ?> ошибка: Код (Text): Parse error: parse error, unexpected T_STRING in z:\home\192.168.27.116\www\1.php on line 21
ого! (я не про ошибку исполнения) вы понимаете что такое запрос? для чего он нужен и как он выполняется? Код (Text): $result = mysql_query("select count(*) as cnt from ip;", $connect); $row = mysql_fetch_array($result); $cal =$row['cnt']; echo " Всего нас посетило $cal пользователей";