Geavanceerde Website counter.

Status
Niet open voor verdere reacties.
PHP:
$last = mysql_query("SELECT * FROM counter WHERE ip = '" . $_SERVER['REMOTE_ADDR'])
Als de ip in de table staat dan krijg je een record terug.
"controlleer eerst de datum" als datum nu gelijk is aan last_visit

als je in last_visit de datum en tijd opslaat. bv $date = 101226153456

dan zijn de uren $uur = $date[6].$date[7]

Als de query geen record vind dan maak je een record aan
PHP:
$SQL = "INSERT INTO counter (ip, first_visit, last_visit,total_visits) VALUES ('" . $_SERVER['REMOTE_ADDR']."', '".$date."', '".$date."', 1)";

ik hoop dat je met deze ideeen verder kunt!
 
Ik heb het toegepast maar krijg dezelfde foutmelding.
Mijn code:
PHP:
<?php
mysql_connect("www.freesqldatabase.com", "sql01_57901", "*******") or die(mysql_error());
mysql_select_db("sql01_5790pascal") or die(mysql_error());

$ip = $_SERVER['REMOTE_ADDR'];
$datum = date("Y-m-d");

$select = mysql_query("SELECT * FROM counter WHERE DATUM = '" . $datum . "' AND IP = '" . $ip . "'") or die(mysql_error());
$select_row = mysql_num_rows($select);

If ($select_row == 1){
$query = mysql_query("UPDATE counter SET VISITS= VISITS + 1 WHERE DATUM = '" . $datum . "' AND IP = '" . $ip . "'") or die(mysql_error());
} else {
$query = mysql_query("INSERT INTO counter (IP,DATUM,VISITS) VALUES(" . $ip . "," . $datum . ",1") or die(mysql_error());
}

$totaal = mysql_query("SELECT * FROM counter") or die(mysql_error());
$totaal_row = mysql_num_rows($totaal);

echo "Er zijn in totaal:";
echo $totaal_row;
echo "bezoekers geweest op deze site.";
?>
Foutmelding:
Code:
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 '::1,2010-12-26,1' at line 1
Mijn database:
database3.JPG

MVG. Pascallino
 
PHP:
$query = mysql_query("INSERT INTO counter (IP,DATUM,VISITS) VALUES(" . $ip . "," . $datum . ",1") or die(mysql_error());
Ik denk dat er ' ' moeten staan om de input

PHP:
$query = mysql_query("INSERT INTO counter (IP,DATUM,VISITS) VALUES( '{$ip}' , '{$datum}' , '1'") or die(mysql_error());

en voor het tellen hoef je alleen maar de rij ID te tellen
PHP:
$totaal = mysql_query("SELECT 'ID' FROM counter") or die(mysql_error());

Waarom je database meer belasten
 
Laatst bewerkt:
Ik heb het aangepast maar krijg nog steeds en foutcode:
Code:
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 ''' at line 1
Dit is de code:
PHP:
$query = mysql_query("INSERT INTO counter (IP,DATUM,VISITS) VALUES('" . $ip . "', '" . $datum . "',1'") or die(mysql_error());
!?!HELP?!?
mvg. Pascallino
 
PHP:
$query = mysql_query("INSERT INTO counter (IP,DATUM,VISITS) VALUES('" . $ip . "', '" . $datum . ",'1' ") or die(mysql_error());

de komma bij de 1 stond tussen de quots
 
Ik heb het aangepast maar het werkt nog niet.
Mijn code:
PHP:
$query = mysql_query("INSERT INTO counter (IP,DATUM,VISITS) VALUES('" . $ip . "', '" . $datum . "', '1'") or die(mysql_error());
De foutmelding:
Code:
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 '' at line 1
Mvg. Pascal Drewes
 
Aan het einde van de query moet je nog 1x )

PHP:
$query = mysql_query("INSERT INTO counter (IP,DATUM,VISITS) VALUES('" . $ip . "', '" . $datum . "', '1'")) or die(mysql_error());

Hoop dat hij het nu voor je wilt doen ;)
 
YES!!!
Hij werkt.
Ijndelijke.
Mijn code:
PHP:
<?php

mysql_connect("localhost", "root", "pass") or die(mysql_error());
mysql_select_db("teller") or die(mysql_error());

$ip = $_SERVER['REMOTE_ADDR'];
$datum = date("Y-m-d");

$select = mysql_query("SELECT 'ID' FROM counter WHERE DATUM = '" . $datum . "' AND IP = '" . $ip . "'") or die(mysql_error());
$select_row = mysql_num_rows($select);

If ($select_row == 1){
$query = mysql_query("UPDATE counter SET VISITS= VISITS + 1 WHERE DATUM = '" . $datum . "' AND IP = '" . $ip . "'") or die(mysql_error());
} else {
$query = mysql_query("INSERT INTO counter (IP,DATUM,VISITS) VALUES ('".$ip."', '".$datum."', '1')") or die(mysql_error());
}

$totaal = mysql_query("SELECT 'ID' FROM counter") or die(mysql_error());
$totaal_row = mysql_num_rows($totaal);

echo "U bent bezoeker nummer: ";
echo "<table border='1'><tr><td>";
echo $totaal_row;
echo "</td></tr></table>";
?>
Mijn database:
Code:
CREATE TABLE  `counter` (
  `ID` int(10) unsigned NOT NULL auto_increment,
  `IP` text NOT NULL,
  `DATUM` date NOT NULL,
  `VISITS` int(10) unsigned NOT NULL,
  PRIMARY KEY  (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
Hopelijk heeft iemand er nog iets aan.
Met dank aan Phobia.
mvg. Pascallino
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan