tabelle alphabetisch sortieren (spalte)

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

  • tabelle alphabetisch sortieren (spalte)

    hallo zusamen

    @Berni - merci für die hilfe


    ich habe da ein problem mit der sortiereung einer tabelle. die daten
    werden zeilenweise sortiert. ich sollte die aber spaltenweise sortiert
    bekommen. ich habe es schon mit sort und usort probiert, bekam aber
    nur fehler, die ich nicht entziffern konnte. hier nun mein script:
    PHP-Code:
    <?
    $res=dbquery("SELECT * FROM produkteliste ORDER BY urlname");
    echo mysql_error();
    echo "<table  width='98%' border='0' cellpadding='0' cellspacing='2' class='fontlink'>";
    echo "<tr>";
    echo "<td width='200' bgcolor='#DDEAF4'><strong>&nbsp;&nbsp;&nbsp;<span 

    class='fontmenu2'>Liste</span> <span class='fontmenu2'> 

    I</span></strong></td>";
    echo "<td width='10'>&nbsp;</td>";
    echo "<td width='200' bgcolor='#DDEAF4'><strong>&nbsp;&nbsp;&nbsp;<span 

    class='fontmenu2'>Liste</span> <span class='fontmenu2'> 

    II</span></strong></td>";
    echo "<td width='10'>&nbsp;</td>";
    echo "<td width='200' bgcolor='#DDEAF4'><strong>&nbsp;&nbsp;&nbsp;<span 

    class='fontmenu2'>Liste</span> <span class='fontmenu2'> 

    III</span></strong></td>";
    echo "</tr>";
    echo '<tr>';
    $m=3;
    while ($dsatz=mysql_fetch_array($res))
    {  if($m==3)
    {  $m=0;
    echo "</tr><tr>";
    }
    echo "<td width='200' bgcolor='#EEEEEE'>"."&nbsp;&nbsp;-

    &nbsp;&nbsp;"."<a href=".$dsatz['url']." target='_blank' 

    class='link1'>".$dsatz['urlname']."</td>";
    echo "<td>&nbsp;</td>";
    $m++;
    }
    echo '</tr>';
    echo "</table>";
    ?>
    ich danke für eure hilfe

    gruss
    michael
    Zuletzt geändert von cng; 14.11.2005, 15:46.

  • #2
    $res=dbquery("SELECT * FROM produkteliste ORDER BY urlname");

    => $res=dbquery("SELECT * FROM produkteliste ORDER BY urlname DESC"); für descending... ?
    Liebe Grüße,
    SteKoe!

    PHP Tutorials
    Peter Kropff | Quakenet | Schattenbaum.net

    Kommentar


    • #3
      danke für deinen hinweis. nein, ich meinte soetwas

      aktuell:
      a b c
      d e f
      g h i


      wunsch:
      a d g
      b e h
      c f i

      Kommentar


      • #4
        Wie sind die Daten denn in die DB eingetragen?
        Liebe Grüße,
        SteKoe!

        PHP Tutorials
        Peter Kropff | Quakenet | Schattenbaum.net

        Kommentar


        • #5
          id int(5) auto_increment
          urlname varchar(50)
          url varchar(100)

          Kommentar


          • #6
            nach vorne schieb - sorry

            Kommentar


            • #7
              http://www.php-resource.de/forum/sho...ht=zeilenweise
              TBT

              Die zwei wichtigsten Regeln für eine berufliche Karriere:
              1. Verrate niemals alles was du weißt!


              PHP 2 AllPatrizier II Browsergame

              Kommentar


              • #8
                sorry, aber ich checks nicht. ich weiss aber nicht, ob es meinem anfängerwissen
                liegt, oder ob ich weinfach zu alt bin

                bitte erlöst mich
                Zuletzt geändert von cng; 15.11.2005, 08:21.

                Kommentar


                • #9
                  ich habe es nochmals versucht, wie es auf der verlinkten seite steht,
                  aber ich schaffe es nicht. es kommen immer die fehlermeldungen:

                  Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in ... on line 25

                  ich habe das script genommen, damit ich wenigstens ein stückchen weiter komme:

                  PHP-Code:
                  $i=0;
                  while(
                  $y=mysql_fetch_row($_sel))
                  $x[$i++]=$y[0];



                  // wieviel haben wir denn ?
                  $count count$x );
                  // es sollen 30 Spalten werden
                  $spalten 30;
                  // macht so und so viel Zeilen
                  $zeilen = ( $count $spalten )?( ( $count - ( $count $spalten ) )
                   / 
                  $spalten ):$count $spalten;

                  // Tabelle zeilenweise ausgeben
                  echo "<table border=0 width=800 height=400 cellpadding=1 
                  cellspacing=1 bgcolor=#000000>\n"
                  ;
                  // Zeile für Zeile
                  for( $i 0;$i $zeilen; ++$i ) {
                      echo 
                  "\t<tr align=center bgcolor=#ffffff>\n";
                      
                  // Spalte für Spalte
                      
                  for( $ii 0;$ii $spalten; ++$ii ) {
                          
                  // wenns nichts mehr gibt, ein &nbsp;
                          
                  echo "\t\t<td><a href=\"view.php?viewid=" . ($z= isset( $x[$i 
                  $spalten $ii] )?$x[$i $spalten $ii]:"&nbsp;" ) . "\">$z</a></td>\n";
                      }
                      echo 
                  "\t</tr>\n";
                  }
                  echo 
                  "</table>"
                  und das ist meine wunsch-tabelle, in der ich die spaltensortierung
                  einfügen möchte..
                  PHP-Code:
                  <?

                  function dbquery($sql) {
                  $host="localhost";
                  $id="user"; // Deine User-ID
                  $pw="passwort"; // Dein Passwort
                  $db="phptest"; // Die gewünschte Datenbank

                  $conn=mysql_connect ($host,$id,$pw);
                  mysql_select_db ($db,$conn);
                  $res=mysql_query($sql,$conn);
                  return $res;
                  mysql_close($verbindung);
                  }
                  ?>

                  <?
                  $res=dbquery("SELECT * FROM produkteliste ORDER BY urlname");

                  echo mysql_error();
                  echo "<table  width='98%' border='0' cellpadding='0' cellspacing='2'
                   
                  class='fontlink'>";
                  echo "<tr>";
                  echo "<td width='200' bgcolor='#DDEAF4'><strong>&nbsp;&nbsp;&nbsp;
                  <span class='fontmenu2'>Liste</span> <span class='fontmenu2'> 
                  I</span></strong></td>";
                  echo "<td width='10'>&nbsp;</td>";
                  echo "<td width='200' bgcolor='#DDEAF4'><strong>&nbsp;&nbsp;&nbsp;
                  <span class='fontmenu2'>Liste</span> <span class='fontmenu2'> 
                  II</span></strong></td>";
                  echo "<td width='10'>&nbsp;</td>";
                  echo "<td width='200' bgcolor='#DDEAF4'><strong>&nbsp;&nbsp;&nbsp;
                  <span class='fontmenu2'>Liste</span> <span class='fontmenu2'>
                   III</span></strong></td>";
                  echo "</tr>";
                  echo '<tr>';
                  $m=3;
                  while ($dsatz=mysql_fetch_array($res))
                  {  if($m==3)
                  {  $m=0;
                  echo "</tr><tr>";
                  }
                  echo "<td width='200' bgcolor='#EEEEEE'>"."&nbsp;&nbsp;-&nbsp;&nbsp;
                  "."<a href=".$dsatz['url']." target='_blank' class='link1'>".$dsatz['urlname']."</td>";
                  echo "<td>&nbsp;</td>";
                  $m++;
                  }
                  echo '</tr>';
                  echo "</table>";
                  ?>

                  Kommentar


                  • #10

                    kann mir hier jemand bitte helfen? Merci

                    Kommentar


                    • #11
                      hallo

                      soweit bin ich nun, aber das script funzt noch nicht. ich habe
                      nur in der ersten spalte daten, aber nicht in der zweiten
                      und dritten. der erste datensatz fehlt auch, warscheindlich wegen
                      dem counter. wenn ich da aber was ändere, geht nix mehr

                      PHP-Code:
                      <?
                      function dbquery($sql) {
                      $host="localhost";
                      $id="..."; // Deine User-ID
                      $pw="..."; // Dein Passwort
                      $db="phptest"; // Die gewünschte Datenbank

                      $conn=mysql_connect ($host,$id,$pw)or die('no connection to 
                      dbserver');
                      mysql_select_db ($db,$conn)  or die('no such database');
                      $res=mysql_query($sql,$conn);
                      if(!$res) die(mysql_error());
                      return $res;
                      }
                      $counter = 1;
                      ?>

                      <?
                      $res=dbquery("SELECT * FROM produkteliste ORDER BY urlname");

                      echo mysql_error();
                      echo "<table width='98%' border='0' cellpadding='0' cellspacing='2'
                       class='fontlink'>";
                      echo "<tr>";
                      echo "<td width='200' bgcolor='#DDEAF4'><strong>&nbsp;&nbsp;&nbsp;<span 
                      class='fontmenu2'>Liste</span> <span class='fontmenu2'> I</span></strong></td>";
                      echo "<td width='10'>&nbsp;</td>";
                      echo "<td width='200' bgcolor='#DDEAF4'><strong>&nbsp;&nbsp;&nbsp;<span 
                      class='fontmenu2'>Liste</span> <span class='fontmenu2'> II</span></strong></td>";
                      echo "<td width='10'>&nbsp;</td>";
                      echo "<td width='200' bgcolor='#DDEAF4'><strong>&nbsp;&nbsp;&nbsp;<span 
                      class='fontmenu2'>Liste</span> <span class='fontmenu2'> III</span></strong></td>";
                      echo "</tr>";

                      while ($dsatz=mysql_fetch_array($res)) {
                          switch($counter % 3) {
                              case 1:
                                  while ($dsatz=mysql_fetch_array($res)) {
                         switch($counter % 3) {
                         case 1:
                           echo "<tr><td width='200' bgcolor='#EEEEEE'>"."&nbsp;&nbsp;-
                       &nbsp;&nbsp;"."<a href=".$dsatz['url']." target='_blank' 
                      class='link1'>".$dsatz['urlname']."</td>";
                         break;
                           echo "<td width='10'>&nbsp;</td>";
                         case 2:
                           echo "<tr><td width='200' bgcolor='#EEEEEE'>"."&nbsp;&nbsp;-
                       &nbsp;&nbsp;"."<a href=".$dsatz['url']." target='_blank' 
                      class='link1'>".$dsatz['urlname']."</td>";
                         break;
                           echo "<td width='10'>&nbsp;</td>";
                         case 0:
                           echo "<tr><td width='200' bgcolor='#EEEEEE'>"."&nbsp;&nbsp;-
                       &nbsp;&nbsp;"."<a href=".$dsatz['url']." target='_blank' 
                      class='link1'>".$dsatz['urlname']."</td>";
                         break;
                         }
                         $counter++;
                      }}}
                      echo "</table>";
                      ?>

                      Kommentar

                      Lädt...
                      X