brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 26-05-2005, 14:30
Metha
 Registrierter Benutzer
Links : Onlinestatus : Metha ist offline
Registriert seit: Mar 2004
Beiträge: 35
Metha ist zur Zeit noch ein unbeschriebenes Blatt
Standard Eindimensionales Array

Hallo zusammen

Ich möchte die Anzahl der Browser ausgeben, die zu einem Bestimmten Datum auf meine Seite zugegriffen haben. Um die Ergebnisse abzuspeichern, verwende ich ein eindimensionales Array.

Mein Code erzeugt aber nur die Anzahl der Browser für der ersten im Array vorkommenden Browser. Was mache ich falsch?

PHP-Code:
    $sql=array('IE''Opera''FireFox''Nix');
    
$typ=array();
    
$i=0;
    while(
$anzahl=mysql_fetch_row(mysql_query('SELECT 
    COUNT(browser) AS anzahl FROM md_counter_user 
    WHERE browser LIKE \'%'
.$sql[$i].'%\' AND 
    YEAR(datum) = '
.$this->jahr.
    AND MONTH(datum) = '
.$this->monat.' AND 
    DAYOFMONTH(datum) = '
.$this->tag.' GROUP BY browser')))
        {
        
$typ[$i]=$anzahl[$i];
        
$i++;
        }

    echo 
'MSIE: '.$typ[0].'<br>';
    echo 
'Opera: '.$typ[1].'<br>';
    echo 
'FireFox: '.$typ[2].'<br>';
    echo 
'Nix: '.$typ[3].'<br>'
In der Datenbank befinden sich an dem Datum jeweil 2 IE und 2 Opera. Die anderen Browser kommen nicht vor. Als ausgabe bekommen ich aber nur 2 IE und bei den anderen steht garnichts.

Gruß Micha
Mit Zitat antworten
  #2 (permalink)  
Alt 26-05-2005, 14:34
Hoschi0815
 Member
Links : Onlinestatus : Hoschi0815 ist offline
Registriert seit: Jan 2004
Beiträge: 255
Hoschi0815 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Bastel doch einfach alle Browser in deine Query mit ein.
EDIT:
Sorry, ist verdammt heiss heute ^^ haste mal print_r($typ) gemacht?

Geändert von Hoschi0815 (26-05-2005 um 14:39 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 26-05-2005, 14:40
Metha
 Registrierter Benutzer
Links : Onlinestatus : Metha ist offline
Registriert seit: Mar 2004
Beiträge: 35
Metha ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das würde ja einen monströsen Query ergeben. Ich wollte die Browser eigentlich schon in dem Array beibehalten, da sich die Liste der Browser ja noch um einiges erweitern soll.

Gibt es eine Seite wo eine Liste "aller" Browserergebnisse der $_SERVER['HTTP_USER_AGENT'] Anweisung stehen ?

Ja, ergibt: Array ( [0] => 2 [1] => )

Geändert von Metha (26-05-2005 um 14:44 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 26-05-2005, 14:51
Hoschi0815
 Member
Links : Onlinestatus : Hoschi0815 ist offline
Registriert seit: Jan 2004
Beiträge: 255
Hoschi0815 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also ich würde trotzdem lieber eine "monströse" Query haben, als monströs viele Queries nacheinander auf die DB los zu jagen.
Mit Zitat antworten
  #5 (permalink)  
Alt 26-05-2005, 14:57
Metha
 Registrierter Benutzer
Links : Onlinestatus : Metha ist offline
Registriert seit: Mar 2004
Beiträge: 35
Metha ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Angenommen ich baue die Browserkennungen mit ein, wie soll das gehen?

Ich ermitel doch die Anzahl von bestimmten Browsern und das nacheinander mit jeweil einem anden Browser. Ich kann doch nicht die jeweiligen Browserzahlen für alle Browser in nur einem Query ermitteln oder ?
Mit Zitat antworten
  #6 (permalink)  
Alt 26-05-2005, 15:02
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Google mal nach "list of all user-agents" oder schau hier gleich hier. Sind natürlich nicht nur Browser sondern auch Spider, Copier und diverse Tools. Aber die willst du ja evtl. auch in deiner Statistik haben.
Mit Zitat antworten
  #7 (permalink)  
Alt 26-05-2005, 15:09
Hoschi0815
 Member
Links : Onlinestatus : Hoschi0815 ist offline
Registriert seit: Jan 2004
Beiträge: 255
Hoschi0815 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ein einfaches CONT(browser) mit deiner WHERE Klausel ohne die browser zu überprüfen + ein GROUP BY browser und schon ist deine Querie fertig
Mit Zitat antworten
  #8 (permalink)  
Alt 26-05-2005, 15:15
Metha
 Registrierter Benutzer
Links : Onlinestatus : Metha ist offline
Registriert seit: Mar 2004
Beiträge: 35
Metha ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Damit würde ich aber die gesammte anzahl der Browser an dem gewählten Datum bekommen. Ich will aber die Anzahl der einzelnen Browser zu einem Datum haben.

Danke für die User-Agent Liste!!!

Kann mir keiner bei meinem Code helfen ???
Mit Zitat antworten
  #9 (permalink)  
Alt 26-05-2005, 15:20
Hoschi0815
 Member
Links : Onlinestatus : Hoschi0815 ist offline
Registriert seit: Jan 2004
Beiträge: 255
Hoschi0815 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
SELECT COUNTbrowser ), browser
FROM deiner_tabelle
WHERE tag 
'dein_tag'
AND monat 'dein_monat'
AND jahr 'dein_jahr'
GROUP BY browser 
Und du wirst sehen, dass du alle browser ausgegeben bekommst..
Mit Zitat antworten
  #10 (permalink)  
Alt 26-05-2005, 15:23
Metha
 Registrierter Benutzer
Links : Onlinestatus : Metha ist offline
Registriert seit: Mar 2004
Beiträge: 35
Metha ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@Hoschi0815
Mir schlägt das Wetter heute auch ganzschön auf die Pumpe

Zitat:
Damit würde ich aber die gesammte anzahl der Browser an dem gewählten Datum bekommen. Ich will aber die Anzahl der einzelnen Browser zu einem Datum haben.
Mit Zitat antworten
  #11 (permalink)  
Alt 26-05-2005, 15:25
Hoschi0815
 Member
Links : Onlinestatus : Hoschi0815 ist offline
Registriert seit: Jan 2004
Beiträge: 255
Hoschi0815 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nur zu verständlich Ich brauch jetzt auch erstmal ein kühles blondes, und danach ein bier
Mit Zitat antworten
  #12 (permalink)  
Alt 26-05-2005, 15:32
Metha
 Registrierter Benutzer
Links : Onlinestatus : Metha ist offline
Registriert seit: Mar 2004
Beiträge: 35
Metha ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Dir sei es gegönnt!

Bei meinem Problem mit dem Array kannst du mir dann aber auch nicht helfen oder ?

Scheinbar läuft die SChleife nicht bis zum Ende durch, oder übernimmt die Werte nicht? Ich kann blos bei meinem Code nichts finden.
Hier nochmal der Output von print_r: Array ( [0] => 2 [1] => )
Mit Zitat antworten
  #13 (permalink)  
Alt 26-05-2005, 15:43
Hoschi0815
 Member
Links : Onlinestatus : Hoschi0815 ist offline
Registriert seit: Jan 2004
Beiträge: 255
Hoschi0815 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Naja, ich frage mich halt immernoch warum du die Browser in einen Array packen willst... Mein Vorschlag wäre:

PHP-Code:
$sql="SELECT count(browser) AS num_browser,browser FROM
 Tabelle WHERE ..... GROUP BY browser"
;
$query=mysql_query($query);

$browser=array();

while(
$row=mysql_fetch_array($query))
        {
        
$browser[]=$row;
        }

for(
$i=0;$i<count($browser);$i++)
    {
     echo 
$browser[$i]['browser']." benutzen
"
.$browser[$i]['num_browser'];
    } 
Dann brauchste auch garnicht alle Browser aufschreiben, also erspartes dir auch zeit
EDIT:
Und ansonsten lass dir mal per echo deine Query ausgeben

Geändert von Hoschi0815 (26-05-2005 um 16:06 Uhr)
Mit Zitat antworten
  #14 (permalink)  
Alt 26-05-2005, 16:23
Metha
 Registrierter Benutzer
Links : Onlinestatus : Metha ist offline
Registriert seit: Mar 2004
Beiträge: 35
Metha ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ok, so klappts:

PHP-Code:
$sql='SELECT COUNT(browser) AS anzahl, browser
        FROM md_counter_user WHERE 
        YEAR(datum)='
.$this->jahr.' AND 
        MONTH(datum)='
.$this->monat.' AND 
        DAYOFMONTH(datum)='
.$this->tag.' GROUP BY browser';

$qry=mysql_query($sql);
$bwr=array();

while(
$row=mysql_fetch_array($qry))
    {
$bwr[]=$row;}

for(
$i=1$i<count($bwr); $i++)
    {
    echo 
$bwr[$i]['browser']." benutzen ".$bwr[$i]['anzahl'].'<br>';
    } 
Danke für deine Hilfe Hoschi0815. Jetzt brauch auch ich ein kühles blondes
Mit Zitat antworten
  #15 (permalink)  
Alt 26-05-2005, 16:30
Hoschi0815
 Member
Links : Onlinestatus : Hoschi0815 ist offline
Registriert seit: Jan 2004
Beiträge: 255
Hoschi0815 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Gerne und Prost
Aber biste dir sicher, dass du alle Ergebnisse angezeigt bekommst? Sollte $i nicht besser auf 0 gesetzt werden?
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:51 Uhr.