tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
534
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Kamephis Kamephis ist offline Mitglied Bronze
    Registriert seit
    Mar 2004
    Beiträge
    36
    Guten abend zusammen!

    Es geht um folgendes:

    Ich habe habe eine Tabelle mit 8 Zeilen, jede Zeile ist von Aufbau und Prinzip her gleich:
    Es wird der Bame ausgelesen, dann mittels mysql_numrow, wie oft der clan gewonnen hat.
    PHP-Code:
    $pts1 mysql_query("SELECT * FROM adcup_group WHERE clan1='$clanH' AND rclan1 > rclan2");
        
    $pts2 mysql_query("SELECT * FROM adcup_group WHERE clan2='$clanH' AND rclan1 < rclan2");
        
    $pts3 mysql_query("SELECT * FROM adcup_group WHERE clan1='$clanH' OR clan2='$clanH' AND rclan1 == rclan2");
        
    $pointsH mysql_num_rows($pts1)*mysql_num_rows($pts2)*mysql_num_rows($pts3); 
    Mein Problem: in der jetzigen version kann ich das ganze nur manuell ordnen, ich würde die Tabelle natürlich gern nach dem Punktestand sortieren.

    Dafür habe ich mir überlegt, dass ich mit dem code, den ich oben angegeben habe, zunächst die Punkte ermittel, dann diese sortiere (Größtes zu erst).
    (habe sowas noch nie gemacht, aber meine irgendwo eine Funktion gesehen zu haben, die sowas macht, also das bekomm ich eventuell noch hin )

    Jetzt aber: ich habe ja ca 50 Zeilen code, die die eigentliche Tabellenzeile bilden;
    ich habe absolut keine Ahnung, wie ich das machen soll, dass zuerst die Zeile mit dem clan mit höchster Punktzahl ausgegeben wird usw.

    Hätte da jemand eine Idee? Bin für jede Hilfe dankbar; wäre auch nett, wenn mir jemand dieses sortieren geben könnte, da ich das noch nie gemacht hab und auch nimmer weiß, wo ich das gesehen hab. Dank im Voraus!
     

  2. #2
    shorty shorty ist offline Mitglied Brokat
    Registriert seit
    Apr 2002
    Ort
    Lübeck
    Beiträge
    330
    Hui, es ist schon spät und ich komm gerade von ner Party. Hoffentlich bekomm ich das noch so hin, wie ich das vor habe. Wie wäre es, wenn du das am Ende deines Queries einfügst?

    PHP-Code:
    ORDER BY punktestand 
     
    Mit freundlichen Grüßen
    Shorty

  3. #3
    Kamephis Kamephis ist offline Mitglied Bronze
    Registriert seit
    Mar 2004
    Beiträge
    36
    ja, wenn es so einfach wäre, hät ich nicht nachgefragt

    das problem ist: es sind nur einzelergebnisse in der tabelle vorhanden, nicht die gesamtpunktzahl; die gesamtpunktzahl wird aus bis zu 7 tabellenzeilen während des auslesens berechnet... (mit dem code, den ich angegeben hab)

    ich habe nachher die gesamtpunkte von clan1-clan8;
    wie ordne ich denen jetzt zahlen von 1-8 zu? (weil damit könnte ich das dann eventuell machen...)
     

  4. #4
    Avatar von Sven Petruschke
    Sven Petruschke Sven Petruschke ist offline Mitglied Diamant
    Registriert seit
    May 2003
    Ort
    Leipzig
    Beiträge
    2.323
    Hallo, Du kannst mit der Funktion usort() Arrays mit eigenen definierten Regeln sortieren. Auch mehrdimensionale Arrays.

    snuu
     
    Das Leben ist wie eine Ketchupflasche - erst kommt nichts und dann alles auf einmal.
    www.sven-petruschke.de

  5. #5
    Kamephis Kamephis ist offline Mitglied Bronze
    Registriert seit
    Mar 2004
    Beiträge
    36
    hmm usort versteh ich irgendwie nicht, die anderen sortteile helfen mir (meines erachtens) nicht wirklich weit; ich poste mal den code; weiß nicht weiter...

    das ganze 8x, wegen 8 clans:

    PHP-Code:
    $pts1 mysql_query("SELECT * FROM adcup_group WHERE clan1='$clanA' AND rclan1 > rclan2");
    $pts2 mysql_query("SELECT * FROM adcup_group WHERE clan2='$clanA' AND rclan1 < rclan2");
    $pts3 mysql_query("SELECT * FROM adcup_group WHERE clan1='$clanA' OR clan2='$clanA' AND rclan1 == rclan2");
    $pointsA mysql_num_rows($pts1)*mysql_num_rows($pts2)*mysql_num_rows($pts3); 
    das für jede der 8 tabellenzeilen; diese zeilen sollen entsprechend der werte ($pointsA-H) geordnet ausgegeben werden; wie keine ahnung...
    PHP-Code:
    <?
        $clan 
    $clanA;
        
    $pts1 mysql_query("SELECT * FROM adcup_group WHERE clan1='$clan' AND rclan1 > rclan2");
        
    $pts2 mysql_query("SELECT * FROM adcup_group WHERE clan2='$clan' AND rclan1 < rclan2");
        
    $pts3 mysql_query("SELECT * FROM adcup_group WHERE clan1='$clan' OR clan2='$clan' AND rclan1 == rclan2");
          
    ?>
      <tr onMouseOut="style.backgroundColor='' "onMouseOver="style.backgroundColor='#CACACA'">
        <td width="47%" class=content3><p style="margin-left:2">
                    <? $nameresult mysql_query("SELECT * FROM adcup_clans WHERE short='$clan'");
                        while (
    $data mysql_fetch_array($nameresult)) { ?>
                        <a href="index.php?section=clans&detail=1&open=<? echo ($data[UserID]); ?>">
                         <? echo($data[name]);
                         }
    ?></a></td>
        <td width="6%" class=content3 align=center><?
        $played1 
    mysql_num_rows(mysql_query("SELECT * FROM adcup_group WHERE rclan1!='' AND rclan2!='' AND clan1='$clan'"));
        
    $played2 mysql_num_rows(mysql_query("SELECT * FROM adcup_group WHERE rclan1!='' AND rclan2!='' AND clan2='$clan'"));
        echo(
    $played1 $played2);?></td>
        <td width="6%" class=content3 align=center><? echo(mysql_num_rows($pts1)*mysql_num_rows($pts2)*mysql_num_rows($pts3)); ?></td>
        <td width="12%" class=content3 align=center>
        <? $result mysql_query("SELECT * FROM adcup_group WHERE clan2='$clan'");
         
    $plus "0";
         while (
    $data mysql_fetch_array($result)) {
        
    $plus $plus $data[rclan2];
         }
        
    $result2 mysql_query("SELECT * FROM adcup_group WHERE clan1='$clan'");
        while (
    $data mysql_fetch_array($result2)) {
          
    $plus $plus $data[rclan1];
         }
         echo 
    $plus;
         
    ?>
        </td>
        <td width="12%" class=content3 align=center>
        <? $result mysql_query("SELECT * FROM adcup_group WHERE clan2='$clan'");
         
    $minus "0";
         while (
    $data mysql_fetch_array($result)) {
          
    $minus $minus $data[rclan1];
         }
         
    $result2 mysql_query("SELECT * FROM adcup_group WHERE clan1='$clan'");
         while (
    $data mysql_fetch_array($result2)) {
          
    $minus $minus $data[rclan2];
         }
         echo 
    $minus;
         
    ?>
        </td>
        <td width="12%" class=content3 align=center><? $dif $plus $minus; echo $dif;?></td>
        <td width="6%" class=content3 align=center><? $result3 mysql_query("SELECT * FROM adcup_clans WHERE short='$clan'");
        while (
    $data mysql_fetch_array($result3)) {
      echo 
    $data[cards];
         } 
    ?></td>
      </tr>
    hat dazu irgend jemand eine idee, die mir weiterhelfen könnte? wäre wirklich nett...
     

  6. #6
    KristophS KristophS ist offline Mitglied Brilliant
    Registriert seit
    Apr 2004
    Ort
    Duisburg
    Beiträge
    778
    Ich denke 'snuu' hat dir den zünden Tip gegeben einfach mal usort() ausprobieren und das Beispiel nachmachen was dort aufegfürht ist , wenn immer noch Probleme da sind einfach mal die 'User Notes' lesen.
     

  7. #7
    Kamephis Kamephis ist offline Mitglied Bronze
    Registriert seit
    Mar 2004
    Beiträge
    36
    hmm danke
    habs aber jetzt (für mich einfacher) über eine weitere tabelle gelöst
     

Ähnliche Themen

  1. PHP ordnen Funktion einer Datenbank Ausgabe
    Von dark-staple im Forum PHP
    Antworten: 3
    Letzter Beitrag: 10.04.09, 00:54
  2. Daten aus Tabelle 1, Ordnen nach Tabelle 2
    Von Leomuck im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 14.06.08, 13:25
  3. Ergebnis nach Anzahl der id in anderer Tabelle ordnen
    Von Templorials im Forum Relationale Datenbanksysteme
    Antworten: 10
    Letzter Beitrag: 03.09.07, 12:02
  4. Ordnen und Ausgabe einer DB
    Von Bluestar im Forum PHP
    Antworten: 6
    Letzter Beitrag: 26.06.05, 17:21
  5. Seitenumbruch nach ausgabe einer Tabelle
    Von thespecialx im Forum PHP
    Antworten: 4
    Letzter Beitrag: 24.08.04, 17:06