topliste ordnen nach $prozent

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

  • topliste ordnen nach $prozent

    Hallo

    ich bin ein anfänger in sachen php+mysql deswegen brauche ich eure
    hilfe und eueren rat ich des machen soll dass die sortierung stimmt.

    ich habe die prozent zahlen in der datenbank gespeichert. wenn man bewertet hat wurde die prozent zahl
    geändert blos die änderung hat die aktuellen zahlen von der bewertung genommen und in prozent umgewandelt.

    Man muss es doch nicht unbedingt in der datenbank
    speichern "die prozent-zahl" man kann sie doch direckt ausrechnen und dann nach ihr sortieren.

    funktioniert aber nicht richtig:
    PHP-Code:
    $query2="SELECT P.id, P.userid, P.url, P.open, 
    P.facetoface_pro, P.facetoface_contra FROM 
    $sqltable_pics 
    P left outer join 
    $usertable U on (P.userid = U.id) 
    WHERE(U.code='1') and U.geschlecht='m' ORDER 
    BY P.prozent DESC LIMIT 0,10"

    kann man es so machen oder muss man es anderst machen:
    PHP-Code:
    $query2="SELECT P.id, P.userid, P.url, P.open, 
    P.facetoface_pro, P.facetoface_contra FROM 
    $sqltable_pics 
    P left outer join 
    $usertable U on (P.userid = U.id) 
    WHERE(U.code='1') and U.geschlecht='m' ORDER BY 
    $prozent = round((100*$facetoface_pro)/($facetoface_contra+$facetoface_pro),2) 
    DESC LIMIT 0,10"

    bitte helft mir ich weiß nicht mehr weiter sitze an dem schon tage ang
    Zuletzt geändert von kova; 14.02.2006, 01:43.

  • #2
    umbrichst du bitte deinen beitrag, so daß man nicht horizontal scrollen muß?
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      ich habs gemacht wie du es wolltest.

      Kommentar


      • #4
        ich habs gemacht wie du es wolltest.
        wunderbar, jetzt kann mans lesen.

        ja, du kannst die prozent auch ausrechnen und danach sortieren. allerdings bringst du wohl etwas durcheinander.

        laß dir die query mal ausgeben, schau sie dir mal an ... es fallt dir sicher etwas auf ... generierte queries solltest du dir bei problemen generall ausgeben lassen.

        btw: für die zukunft, verwende bitte mysql_error() bei sql-abfragen (große hilfe) und setz dein error_reporting auf E_ALL. ich wette, du hättest dann das problem allein gelöst.

        funktioniert aber nicht richtig:
        die aussage ist sinnlos, wenn es funktionieren würde, wärst du nicht hier ...
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          so hab mir $query2 ausgeben lassen da ist ein syntax error ethalten:

          SELECT P.id, P.userid, P.url, P.open, P.facetoface_pro, P.facetoface_contra FROM backend_pics P left outer join
          backend_usertable U on (P.userid = U.id) WHERE(U.code='1') and U.geschlecht='m' ORDER BY = round((100*)/(+),2) DESC LIMIT 0,10You have an error in your SQL syntax. Check the manual that corresponds to
          your MySQL server version for the right syntax to use near '= round((100*)/(+),2) DESC LIMIT 0,10' at line 1
          edit:

          das syntax error hab korigiert jetzt wird auch die seite angezeigt aber die query ausgabe zeigt immer noch etwas an:

          SELECT P.id, P.userid, P.url, P.open, P.facetoface_pro,
          P.facetoface_contra FROM backend_pics P left outer join backend_usertable U on (P.userid = U.id) WHERE(U.code='1') and
          U.geschlecht='m' ORDER BY prozent = round((100*facetoface_pro)/(facetoface_contra+facetoface_pro),2) DESC LIMIT 0,10
          Zuletzt geändert von kova; 14.02.2006, 10:51.

          Kommentar


          • #6
            ich habs gerade mal ausprobiert obs funkioniert wenn ich mal vor dem round mal das wort prozent weg machen und es funktioniert tatsachlich

            PHP-Code:
            $query2="SELECT P.id, P.userid, P.url, P.open, P.facetoface_pro, P.facetoface_contra
              FROM 
            $sqltable_pics P
              left outer join 
            $usertable U
                on (P.userid = U.id)
             WHERE(U.code='1') and U.geschlecht='m'
             ORDER BY round((100*P.facetoface_pro)/(P.facetoface_contra+P.facetoface_pro),2) DESC LIMIT 0,10"

            EDIT:

            Wenn Du nicht auf der Stelle lernst Deine Postings umzubrechen gibt's trouble ... !

            Zuletzt geändert von goth; 15.02.2006, 00:49.

            Kommentar


            • #7
              lesen: http://www.php-resource.de/forum/sho...threadid=50454

              Kommentar

              Lädt...
              X