In een database heb ik een logboek staan van alle geraadpleegde pagina's door elke bezoeker. De database zit als volgt in elkaar:
sid
ip
system
log
sid = session_id
ip = ip-adres bezoeker
system = $_SERVER['http_user_agent']
log = datum,tijd - $_SERVER['request_uri'] \r
In het laatste veld worden steeds regels toegevoegd, telkens als de gebruiker naar een andere pagina gaat.
Nu wil ik uit dat laatste veld het totaal aantal regels hebben. Ofwel hoe kan ik 'snel' alle regels tellen in alle log-velden...
log is dus in de tabel een tekstveld (text) waarin elke keer als een bezoeker een link aanklikt een toevoeging aan word gegeven. En het aantal regels dat in totaal in het log-veld staat wil ik optellen en echo-en.
en dan exploderen op sec. die kun je tellen dat wordt een array en dan +2 (anders mis de eerste of de laatste regel en hij begint bij nul)
?
Onbekende gebruiker
18-04-2006 12:55
Als je wilt tellen hoeveel regels er zijn in die record moet je denk ik zoiets doen:
<?php
$array = explode("\n",$string);
$aantal= count($array);
echo('Deze persoon heeft '.$aantal.' pagina\'s bezocht');
?>
<?php
// Leest een bestand in een array. In dit voorbeeld gaan we via HTTP om
// de HTML code van een URL te krijgen.
$lines = file ('http://www.voorbeeld.com/';);
// Loop door onze array, en laat de HTML code zien als HTML code; ook de regel nummers.
foreach ($lines as $line_num => $line) {
echo "Regel #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br>\n";
}
// Een ander voorbeeld, een webpagina laden in een string. Zie ook file_get_contents().
$html = implode ('', file ('http://www.voorbeeld.com/';));
?>