Werte via PHP ordnen (aufwärts / abwärts) ...

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

  • Werte via PHP ordnen (aufwärts / abwärts) ...

    Hi Leute,
    Folgendes Problem:
    Eine Memberliste soll die möglichkeit geben nach der Anzahl der hochgeladenen Bilder eines jeden Users (uppedpics) zu solltieren. Nun werden aber die uppedpics mit dem Befehl mysql_num_rows zunächst einmal für jeden User aus einer anderen Tabelle zusammengezählt!
    Sieht dann so aus:
    PHP-Code:
    $uppedpics=mysql_num_rows(mysql_query
    ("SELECT * FROM wallpaper_images WHERE upped_by='".$fetchmembers['userid']."'")); 
    Folglich kann ich sie nicht mehr einfach via ORDER BY Befehl ordnen lassen da die summe ja via Php zusammengezählt wird und die summe nicht in einer extra spalte steht...

    Nun stehe ich total auf dem Schlauch wie eine Alternative Lösung aussehen kann...

    Das ganze Script sieht im übrigen so aus:

    PHP-Code:
    echo"<table class='content'><tr><th>#</th><th>UserName</th>
    <th>eMail</th><th>ICQ</th><th>Wohnort</th><th>Land</th><th width='50'>Posts</th>
    <th width='50'>Upped</th></tr>"
    ;

    $x='0';
    $allmembers=mysql_query("SELECT * FROM users");

    while(
    $fetchmembers=mysql_fetch_array($allmembers)){
      
    $x++;
      
    $posts=mysql_num_rows(mysql_query("SELECT * FROM posts 
    WHERE userid='"
    .$fetchmembers['userid']."'"));

      
    $icq=preg_replace('![^0-9]!'''$fetchmembers['icq']);
      
    $uppedpics=mysql_num_rows(mysql_query("SELECT * FROM wallpaper_images 
    WHERE upped_by='"
    .$fetchmembers['userid']."'"));
      echo
    "<tr>
      <td align='center'>
    $x</td>
    <td align='center'><a href='?mod=userdetails&userid=
    $fetchmembers[userid]'>
    $fetchmembers[username]</a></td>
      <td align='center'><a href='mailto:
    $fetchmembers[usermail]'><img src='images/icon_email.gif' border='0'></td>
      <td align='center' valign='center'>"

    if(
    $icq!=""){echo"<a href='http://www.icq.com/people/about_me.php?uin=$icq' target='_blank'>
    <img src='http://web.icq.com/whitepages/online?icq="
    .$icq."&img=5' 
    width='18' height='18' border='0'></a>"
    ; } 

    echo
    "</td>
      <td align='center'>
    $fetchmembers[ort]</td>
      <td align='center'>
    $fetchmembers[land]</td>
      <td align='center'>
    $posts</td>
      <td align='center'>
    $uppedpics</td>
      </tr>"
    ;
      }
    echo
    "</table>"
    Wäre supper wenn einer eine Sortierungsmöglichkeit für die Anzahl der uppedpics weis und sie posten würde ...

    Vielen Dank schonmal im Vorraus !

    Beste Grüße,

    Spectre
    Zuletzt geändert von Spectre; 12.08.2006, 18:19.

  • #2
    Brich bitte unverzüglich deinen Code um!

    Kommentar


    • #3
      ?

      Kommentar


      • #4
        Original geschrieben von Spectre
        ?
        schonmal bemerkt, dass man ein kilometer nach rechts scrollen muss?
        mfg

        Kommentar


        • #5
          done

          Kommentar


          • #6
            Nun werden aber die uppedpics mit dem Befehl mysql_num_rows zunächst einmal für jeden User aus einer anderen Tabelle zusammengezählt!
            Und das soll performant sein?

            und warum num rows?

            bevor wir jetzt hier ne quick&dirty sache machen, überdenk doch bitte dein DB layout und nutze Count.

            Kommentar


            • #7
              ich möchte eig. einfach nur wissen wie ich das ganze dann solltiere ... es geht weniger hier um die abfrage ... siehe post 1!

              Kommentar


              • #8
                Du hast doch nach einer alternativen lösung gefragt. Jetzt willst du doch auf deinen Mist aufbauen?

                Da dein Code syntaxbedingt nicht über ein vernünftiges highlighting verfügt, frage ich jetzt einfach, wie du die werte speicherst.

                hast du ein array (user->count) oder wie machst du das?

                Kommentar


                • #9
                  ich will keine alternative für den code oben sondern ich will eine alternative ordnungslösung außer ORDER by !
                  Die daten Werte werden mittels mysql_rum_rows ermittelt und sollen dann nach Werten geordnet werden!

                  Kommentar


                  • #10
                    "Ich will, ich will, ich will". Wie wäre es, wenn du statt dessen mal auf die Fragen eingehst!

                    Kommentar


                    • #11
                      die werte die mit mysql_rum_rows erzeugt werden, werden nicht gespeichert !

                      Kommentar


                      • #12
                        und wie willst du dann sortieren???

                        kurz nachdenken. Daten die - so gesehen - nicht existent sind (außer in deinem Kopf) kannst du auch nicht sortieren (außer in deinem Kopf).

                        Kommentar

                        Lädt...
                        X