ORDER BY?? geht nicht

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

  • ORDER BY?? geht nicht

    Hi, ich bins mal wieder ^^
    habe nun folgendes problem:
    ich will eine statistik für meine seite entwerden und da will ich halt anzeigen welche seite die am häufigsten aufgerufene ist.
    Mein Problem ist jetzt dass Order by bei der Ausgabe... also ich leer die tabelle in der die namen der aufgerufenen seiten gespeicherten werden und rufe ein paar seite auf und dann schau ich in der statistik dort wird alles richtig angezeigt, aber nach einiger zeit k.a. ob es an einer bestimmten seite liegt wird aufeinmal das order by durcheinander gebracht und es sortiert gar nid mehr richtig...
    hier der code bei der ausgabe:

    PHP-Code:
    $abfrage "SELECT browser, browser_count FROM `stats_browser` ORDER BY browser_count DESC LIMIT 5";
     
    $ergebnis mysql_query($abfrage); 
    und hier der code beim einfügen des namens der seite:
    PHP-Code:

     $seite 
    addslashes($_SERVER["REQUEST_URI"]);
     
    $seite_zaehlen mysql_query("SELECT id FROM stats_seite WHERE seite LIKE '$seite'");
     
    $seite_zaehl mysql_num_rows($seite_zaehlen);
     if(
    $seite_zaehl == 0) {
      
    $eintrag "INSERT INTO stats_seite
                  (seite, seite_count)
                  VALUES
                  ('
    $seite', '1')";
      
    $eintragen mysql_query($eintrag);
     } else {
      
    $abfrage "SELECT seite_count FROM `stats_seite` WHERE seite LIKE '$seite' LIMIT 1";
      
    $ergebnis mysql_query($abfrage);
      
    $row mysql_fetch_object($ergebnis);
      
    $seite_zaehl $row->seite_count 1;
      
    $aendern "UPDATE stats_seite Set
                  seite_count = '
    $seite_zaehl'
                  WHERE seite = '
    $seite'";
      
    $update mysql_query($aendern);
     } 
    danke schonmal im voraus
    1123581321

  • #2
    Moment, du aktualisierst die Tabelle stats_seite, holst aber die Daten aus stats_browser, was soll stats_browser deiner Meinung nach liefern? Außerdem Spaltentyp ist INT oder VARCHAR?

    Kommentar


    • #3
      Achja ...

      PHP-Code:
      $abfrage "SELECT seite_count FROM `stats_seite` WHERE seite LIKE '$seite' LIMIT 1";
      $ergebnis mysql_query($abfrage);
      $row mysql_fetch_object($ergebnis);
      $seite_zaehl $row->seite_count 1;
      $aendern "UPDATE stats_seite Set
                    seite_count = '
      $seite_zaehl'
                    WHERE seite = '
      $seite'";
      $update mysql_query($aendern); 

      Kann man auch n bissle verkürzern:

      PHP-Code:
      $aendern "UPDATE stats_seite Set
                  seite_count = seite_count+1
                  WHERE seite = '
      $seite'";
      $update mysql_query($aendern); 
      Oder sehe ich das falsch ?

      Kommentar


      • #4
        ja koennte man theroretisch verkürzen..
        spaltentyp ist varchar

        ja sry hab den falschen code bei der ausgabe gepostet so lautet er:

        PHP-Code:
        $abfrage "SELECT seite, seite_count FROM `stats_seite` ORDER BY seite_count DESC LIMIT 5";
          
        $ergebnis mysql_query($abfrage);
          
        $array = array('{titel}'=>"TOP 5 Seiten",'{name}'=>"Seite",'{name2}'=>"Anzahl");
          
        tpl(admin_stats_5$array);
          while(
        $row mysql_fetch_object($ergebnis)) {
           
        $array = array('{name}'=>$row->seite'{anzahl}'=>$row->seite_count);
           
        tpl(admin_stats_6$array);
          }
          
        tpl(admin_stats_7$leer); 
        1123581321

        Kommentar


        • #5
          Original geschrieben von Enerkin

          spaltentyp ist varchar
          alles klar, dann sollst du dich nicht wundern

          Kommentar


          • #6
            um?? was is an varchar so schlimm??
            1123581321

            Kommentar


            • #7
              Original geschrieben von Enerkin
              um?? was is an varchar so schlimm??
              Original geschrieben von Enerkin
              sortiert gar nid mehr richtig
              Dass es deiner Meinung nach nicht richtig sortiert vielleicht?

              varchar wird so sortiert wie es der Explorer bei Dateinamen macht:
              1.txt
              11.txt
              2.txt
              21.txt
              2323432453245.txt
              5.txt
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                was soll ich stattdessen nehmen? bzw was wäre die beste alternative?
                1123581321

                Kommentar


                • #9
                  Was willst du denn speichern?

                  Einen Text oder Zahlen?
                  http://dev.mysql.com/doc/mysql/en/column-types.html
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    ne zahl
                    supi, danke für die hilfe, habs jetzt mit int geschafft
                    1123581321

                    Kommentar


                    • #11
                      du zählst ja die hits, wenn man von Zählen spricht, dann ist varchar wohl kaum geeignet oder?

                      Kommentar

                      Lädt...
                      X