Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 25-01-2003, 15:38
Martin
Avatar van Martin
Martin is offline
Ik ben momenteel bezig met een eigen statistiekenscript, nu loop ik tegen een "probleempje" op.

Ik wil een overzicht hebben van het aantal bezoeken per uur en wil dit weergeven door middel van balkjes:

PHP-code:
echo "1:00 "
$query "SELECT uur FROM website_stats_hits where uur = '1'";
$sql mysql_query($query) or die(mysql_error()); 
$totaal mysql_num_rows($sql);
$size = (($balksize $total_pageviews) * $totaal);
echo 
"<img src=images/balk.gif width=$size height=10><BR>"
Zoals ik het nu heb zou ik dit stukje voor elk uur opnieuw moeten typen. Ik weet dat het anders mogelijk moet zijn (namelijk met arrays) maar ik weet totaal niet hoe arrays werken en hoe ik het moet gebruiken.

Ik heb al op http://nl.php.net gekeken maar ik snap/volg die uitleg niet helemaal. Wie kan het mij uitleggen door middel van een voorbeeldje?
Met citaat reageren
Advertentie
Oud 25-01-2003, 15:49
Verwijderd
wat wil je precies weten dan?

je kan ook met een tellertje werken (1 tot 24, of 0 tot 23)...
Met citaat reageren
Oud 25-01-2003, 15:53
Martin
Avatar van Martin
Martin is offline
Citaat:
eddie schreef:
wat wil je precies weten dan?
Ik wil dus voor elk uur een query uitvoeren, het aantal bezoeken op dat uur van de dag uit de database plukken en een balkje weergeven.

Maar om 24 dezelde query`s in mijn script stoppen lijkt me onnodig, bovendien kost dit ook veel tijd in onderhoud.

Ik wil dus zeg maar ongeveer dit:

PHP-code:
echo "$hour:00 "
$query "SELECT uur FROM website_stats_hits where uur = '$hour'";
$sql mysql_query($query) or die(mysql_error()); 
$totaal mysql_num_rows($sql);
$size = (($balksize $total_pageviews) * $totaal);
echo 
"<img src=images/balk.gif width=10 height=$size><BR>"
Waarbij het script automatisch $hour invult van 1 uur tot 24 uur. Dit moet toch kunnen met een array?
Met citaat reageren
Oud 25-01-2003, 15:56
Verwijderd
Citaat:
chatfreak schreef:
Dit moet toch kunnen met een array?
Tuurlijk.

Maar een loopje is makkelijker

PHP-code:
for( $hour 1$hour <= 24$hour++)
{
 echo 
$hour ":00";
 
// selecteren... etc

Met citaat reageren
Oud 25-01-2003, 15:59
Verwijderd
je kunt ook een selectstatement gebruiken natuurlijk...

Code:
select count(*) as aantal_hits from stats group by uur
Als het goed is krijg je nu 24 rijen (voor elk uur een)
Met citaat reageren
Oud 25-01-2003, 16:00
Martin
Avatar van Martin
Martin is offline
Citaat:
eddie schreef:
Tuurlijk.

Maar een loopje is makkelijker

PHP-code:
for( $hour 1$hour <= 24$hour++)
{
 echo 
$hour ":00";
 
// selecteren... etc

Bedankt

Dit was precies wat ik zocht, eigenlijk stom dat ik daar niet zelf op ben gekomen.

Maarja, als je al een paar uur aan het staren bent op PHP wordt je geest ook niet echt helderder.

Voorbeeldje: http://chatfreak.endoria.net/stats/
Met citaat reageren
Oud 25-01-2003, 16:02
Kinky
Avatar van Kinky
Kinky is offline
Zo misschien???

PHP-code:
$UurResult mysql_query("SELECT * FROM website_stats_hits ORDER BY 'uur' ");

$totaal mysql_num_rows($UurResult);

while (
$row mysql_fetch_array($UurResult)) {

// zolang er iets in de array staat voert hij onderstaand script uit.
//Je zult dus ook hier, om de verschillende uren te krijgen, variabelen laten maken. Zoals:

$Uur  $row["uur"]; //De variabele uur.

$size = (($balksize $total_pageviews) * $totaal);
echo 
"<img src=images/balk.gif width=$size height=10><BR>";




volgens mij vergeet ik de helft, maar ik heb nu geen zin om t script te testen....

succes, ik hoop dat je er iets aan hebt...
Met citaat reageren
Oud 25-01-2003, 16:02
Verwijderd
Citaat:
chatfreak schreef:
Bedankt

Dit was precies wat ik zocht, eigenlijk stom dat ik daar niet zelf op ben gekomen.

Maarja, als je al een paar uur aan het staren bent op PHP wordt je geest ook niet echt helderder.
Je krijgt nu wel 24 querys naar je database. Misschien dat je beter mijn selectstatement kunt gebruiken.
Met citaat reageren
Oud 25-01-2003, 16:51
Martin
Avatar van Martin
Martin is offline
Volgende "probleem"!

Bij ieder bezoek wordt er een record aan mijn table toegevoegd. Als ik nu de boel wil uitlezen krijg ik dus iemand die mijn site 10 keer bezoekt ook 10 keer in beeld, hoe kan ik ervoor zorgen dat hij als er MEERDERE records met hetzelfde IP in de database zit er maar 1 retourneert?
Met citaat reageren
Oud 25-01-2003, 16:59
Verwijderd
Citaat:
chatfreak schreef:
Volgende "probleem"!

Bij ieder bezoek wordt er een record aan mijn table toegevoegd. Als ik nu de boel wil uitlezen krijg ik dus iemand die mijn site 10 keer bezoekt ook 10 keer in beeld, hoe kan ik ervoor zorgen dat hij als er MEERDERE records met hetzelfde IP in de database zit er maar 1 retourneert?
Het lijkt erop dat je even iets beter moet nadenken over je database ontwerp.

Neem in je stats tabel bijvoorbeel het volgende op:
ip, uur, aantal

Verhoog 'aantal' als de bezoeker opnieuw de pagina bezoekt.
Met citaat reageren
Oud 25-01-2003, 17:01
Martin
Avatar van Martin
Martin is offline
Nog een "probleem":

Hoe kan ik een resultaat inkorten?

Ik krijg bijvoorbeeld bij $referer een resultaat wat bijvoorbeeld 200 tekens lang is maar ik wil die dan graag inkorten tot maar 50 tekens. hoe kan ik dat doen als de volledige $referer wel in de database moet staan?

En nog iets:
Kan je ook een argument in je SELECT statement opnemen zoals:
PHP-code:
WHERE referer is NOT '' 
Met citaat reageren
Oud 25-01-2003, 17:07
Koen
Avatar van Koen
Koen is offline
PHP-code:
$referer substr($referer050); 
Edit: En wat je voor SQL zoek is:

PHP-code:
WHERE referer <> '' 
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar

Soortgelijke topics
Forum Topic Reacties Laatste bericht
Software & Hardware [PHP]arrays
D@mien
7 26-01-2005 22:24
Software & Hardware [PHP] Beginnersfouten
Krekker
72 25-07-2004 23:12
Software & Hardware [PHP] Functie array_search()
TIGEK
9 09-04-2004 16:09
Software & Hardware [PHP] Array in sessie opslaan
mvos100
12 17-12-2003 17:31
Software & Hardware [php] Array uit bestand
dragonrider
5 10-11-2003 08:58
Software & Hardware [php/JS] Vertakt menuutje bouwen
Orion
4 04-06-2002 12:54


Alle tijden zijn GMT +1. Het is nu 20:58.