Ankündigung

Einklappen
Keine Ankündigung bisher.

Statistik Sotieren

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Statistik Sotieren

    Hi

    ich habe mir grad eine statistik gebastelt und lasse mir zusammen zählen wie viele mit $_SERVER['SELF_PHP']; on gekommen sind das hab ich mit diesem code gemacht

    meine frage is nun wie ich das hinbekomme das, das mit dem höchsten ergebnis ganz oben angezeigt wird hoffe ihr könnt mich verstehen

    PHP-Code:
    <?php
    function db_count($text){
        if(empty(
    $text)){
            
    $query "
                    SELECT COUNT(*) FROM `logdatei`
            "
    ;    
            
    $sql mysql_query($query) or die(mysql_error());
            
    $ergebnis mysql_result($sql0);
        }
        else{
            
    $query "
                    SELECT COUNT(*) FROM `logdatei` WHERE 
    $text
            "
    ;
            
    $sql mysql_query($query) or die(mysql_error());
            
    $ergebnis mysql_result($sql0);
        }
        return 
    $ergebnis;
    }
    ?>
                <p>
                    <table class="border" cellpadding="0" cellspacing="1" width="100%">
                        <tr>
                            <td colspan="2" class="tr0">Link der Webseite</td>
                        </tr>
    <?php
    $query 
    "SELECT DISTINCT(webseite) FROM `logdatei`";
    $sql mysql_query($query) or die(mysql_error());
    while(
    $row mysql_fetch_object($sql)){
        
    $webseite $row->webseite;
        
    $statistik_webseite db_count("webseite LIKE '%$webseite%'");
        if(
    $i %== )
        {
            
    $class "tr1";
        }
        else{
            
    $class "tr2";
        }
    ?>    
                        <tr class="<?=$class?>">
                            <td width="50%"><?=$webseite?></td>
                            <td width="50%"><?=$statistik_webseite?></td>
                        </tr>                
    <?php
    $i
    ++;
    }
    ?>                
                    </table>

                </p>

  • #2
    Ok, gaaanz langsam
    Du hast also eine MySQL-Tabelle logdatei.
    Wie sieht die aus? Was steht da drin (Beispieldaten)?

    Möglichst in der Form
    Code:
    CREATE TABLE logdatei (
      ...
    );
    
    INSERT INTO logdatei (...) VALUES (....)
    (Vermutlich suchst Du GROUP BY, ORDER BY)

    Kommentar


    • #3
      Du machst das relativ umständlich. Du liest dir erst alle verschiedenen URLs (Webseiten) aus und dann machst du für jede Webseite eine Anfrage wie oft sie existiert.

      Das ganze kannst du in eine einzige Abfrage packen und diese dann natürlich sortieren lassen.

      Code:
      SELECT webseite, COUNT(*) AS anzahl
      FROM logdatei
      GROUP BY webseite
      ORDER BY anzahl DESC
      Und dann kannst du einfach die Ergebnisse per Schleife auslesen und hast die Felder "webseite" und "anzahl" in der die Vorkommen von Webseite drinstehen. Ganz einfach mit nur einer Abfrage!

      Kommentar

      Lädt...
      X