Verschachtelte

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

  • Verschachtelte

    Hallo!

    Wie Ihr Euch sicher schon vorstellen könnt, habe ich ein Problem :-)

    Und zwar möchte ich eine Liste von "Geräten" ausgeben, welche definitiv wie unten aufgeschlüsselt, in einer mySQL-DB stehen.

    Die Struktur ist nicht zu ändern.

    Nun möchte ich es hinkriegen, dass ich die Ergebnisse "sortieren nach" kann.
    Sprich: Ich möchte beim "klick" auf eine Überschrift einer Spalte (Hier sind es $LANG_THL_ Variablen) die liste umsortieren.

    Beim Abfragen nur einer SQL-Tabelle ist dies ja einfach durch das SORT BY .. In diesem Fall ist das aber ohne Erfolg.

    Hat jemand eine Idee, wie ich es dennoch realisieren kann?

    Vielen Dank an alle, die sich die Mühe geben, da durchzublicken!


    PHP-Code:
    <TABLE class="sub2" width="100%" cellspacing="1" border="0" cellpadding="0" align="center">
    <tr bgcolor="#ABABAB">
    <TD><strong>Asset-ID:</strong></TD>
    <TD><strong><?=$LANG_THL_AGROUP?>:</strong></TD>
    <TD><strong><?=$LANG_THL_MANU?>:</strong></TD>
    <TD><strong><?=$LANG_THL_MODELL?>:</strong></TD>
    <TD><strong><?=$LANG_THL_OPTS?>:</strong></TD>
    </tr>  
    <?php 

    $cbg
    =0;
    $bg='';
    $sql ="SELECT Id, groupname FROM aic_assetgroups ORDER BY Id;";
    $IDs mysql_db_query($dbname$sql$connect);
    $id_einzel=mysql_fetch_row($IDs);             
    while (
    $id_einzel)
    {
        
    $sql="SELECT * FROM N$id_einzel[0];";
        
    $gruppe=mysql_db_query($dbname$sql$connect);
        
    $gruppe_einzel=mysql_fetch_row($gruppe);
        if (
    $gruppe_einzel!=NULL)
        {
         while (
    $gruppe_einzel)
        {
            
    $cbg++;
            if (
    $cbg%2==0)
                
    $bg='bgcolor="#F3F3F3"';
            else 
                
    $bg='bgcolor="#FFFFFF"';
        echo 
    '<tr '.$bg.'>';
        echo 
    "<td><a href='asset_view.php?assetid=".$gruppe_einzel[1]."&PHPSESSID=".$ID."'>
                "
    .$gruppe_einzel[1]."</a></td>";
        echo 
    "<td>".$id_einzel[1]."</td>";
        echo 
    "<td>".$gruppe_einzel[2]."</td>";
        echo 
    "<td>".$gruppe_einzel[3]."</td>"
                                  
                                
    //
                                
        
    echo '<td align="center">';
    if (
    $assetedit == "1") {
        echo 
    '<a href="asset_edit.php?assetid='.$gruppe_einzel[1].'&PHPSESSID='.$ID.'">
        <img border="0" title="'
    .$LANG_EDIT.'" alt="'.$LANG_EDIT.'" src="../images/edit.gif">
        </a>&nbsp;&nbsp;'
    ;
        }
    if (
    $assetdel == "1") {
        echo 
    '<a href="asset_del.php?assetid='.$gruppe_einzel[1].'&PHPSESSID='.$ID.'">
        <img border="0" title="'
    .$LANG_DEL.'" alt="'.$LANG_DEL.'" src="../images/del.gif">
        </a>&nbsp;&nbsp;'
    ;
        }
    if (
    $invadd == "1") {
        echo 
    '<a href="inventory_add.php?assetid='.$gruppe_einzel[1].'&PHPSESSID='.$ID.'">
        <img border="0" src="../images/add.gif"></a>'
    ;
        }
        echo 
    '</td>';
        echo 
    '</tr>';
    $gruppe_einzel=mysql_fetch_row($gruppe); 
    }
    //if schließen
    $id_einzel mysql_fetch_row($IDs);
    }
                
    ?>
                
                </TABLE>
    Zuletzt geändert von flenztec; 26.09.2005, 14:32.

  • #2
    du möchtest bitte die forumregeln lesen und dein post erstmal editieren.

    Kommentar


    • #3
      Hallo und sorry,

      hoffe, es ist so Regel-gerecht?

      Beste Grüße
      Felix

      Kommentar


      • #4
        verstehe das problem nicht wirklich. du musst doch nur:

        1. die kopfzeile der tabelle mit links hinterlegen:
        PHP-Code:
        selbe_seite.php?sort=spalten_name 
        2. $_GET['sort'] aufgreifen und in die sql-query einbauen.

        wenn die struktur der tabelle(n) dazu ungeeignet ist, weißt du ja, bei wem du dich bedanken darfst.

        Kommentar


        • #5
          Hallo

          Hmm ja, da muss ich mich wohl bei mir bedanken, aber ich habe es nicht anders hinbekommen, da man in dem programm selber tabellen mit verschiedenen feldern anlegen kann.

          Diese Tabellen werden dann wieder in einer Tabelle hinterlegt und einem namen zugeordnet

          Die zu erst angesprochenen Tabellen beginnen alle mit "N"

          All diese Tabellen möchte ich auslesen und die ersten 4 Felder (die bei aollen tabellen gleich sind) ausgeben.

          Allerdings stammen die Einzelnen Einträge, die nachher in einer liste angezeigt werden ja aus der vielen verschiedenen N-Tabellen.

          Ich kann also nur jeden einzelnen N-Tabellen.-Queryy sortieren und nicht das GEsamt-Ergebnis dieser liste.

          Gibt es eine ander möglichkeit?

          Muss ich vielleicht die ergebnisse nicht anzeigen, sondern erst temporär in eine andere tabelle speichern um die ergebnisse dieser an sortiert anzeigen zu können?

          Dachte es geht evtl einfacher :-D

          Gruß, Felix

          Kommentar


          • #6
            Mal abgesehen davon, dass dein Datenbankmodell wirklich ziemlich verkorkst zu sein scheint habe ich auch so meine Probleme zu verstehen, was dein Problem ist.

            So wie ich das verstehe, schreibst du doch aus deinen Gruppentabellen ($gruppe_einzel) den Inhalt in deine HTML-Tabelle. Ich würde wohl erst mal alle Daten aus deinen Tabellen in einem Array sammeln und dann den Array sortiert ausgeben.

            Kommentar


            • #7
              erst auslesen, sortieren und dann erst ausgeben wäre die alternative. evtl. ließe sich aber auch was mit temporären tabellen meistern...

              Kommentar


              • #8
                Hallo!!!

                erstmal danke für die schnellen antworten!

                Ich werde das mit der Temp-Table mal probieren und melde mich, wenn ich es geschafft habe :-D

                Danke nochmal!
                Felix

                Kommentar


                • #9
                  Ich an deiner Stelle würde mich erst einmal mit Normalisierung befassen, bevor du deine Datenbank mit noch mehr unnötige Tabellen "belastest".

                  Kommentar


                  • #10
                    Hallo

                    Da hängt etwas ziemlich kompliziertes dahinter, was ich jetzt nicht näher erklären kann.

                    Das hat jedoch seinen Sinn, da jedes Asset (also jeder datensatz) andere felder beinhalten kann, sobald es einer anderen gruppe zugewiesen wird.

                    Viel zu kompliziert:

                    AAABER... Noch einmal!

                    Dankeschön!

                    Ich habe es geschafft.

                    Gruß Felix

                    Kommentar

                    Lädt...
                    X