Ankündigung

Einklappen
Keine Ankündigung bisher.

Nutzung von Schleife oder anderer Lösung & Zugriff zweier Spalten auf eine andere

Einklappen

Neue Werbung 2019

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

  • Nutzung von Schleife oder anderer Lösung & Zugriff zweier Spalten auf eine andere

    Hallo zusammen,

    ich bin noch total neu hier und hoffe deswegen auf Tolleranz falsch ich beim ersten Post einer Frage einen Fehler in der Formatierung oder Ablaufordnung mache.

    Ich möchte einen Flugplan ausgeben. Dabei sollen alle Flüge die von einem bestimmten Flughafen zu einem bestimmen Flughafen gehen unter einander stehen, auch wenn es mehrere Flüge täglich gibt.

    Aussehen sollte es in etwas wie hier :
    soll.jpg

    Ausschauen tut es derzeit wie folgt:

    IST.jpg

    Meine 1 Frage lautet: Kann ich das Aussehen wie oben mit Hilfe einer oder mehrer Schleifen hinbekommen? Wenn ja kann man mir helfen wie das geht? Ich weiß es gibt ja unterschiedliche Schleifen mit for & while.

    Meine 2 Frage lautet: Er zieht sich ja verständlicher weiße anhand des SQL Codes den Namen für den ersten Flughafen (flughafenid1) richtig. Wie kann ich es anstellen, dass er sich auch den zweiten Code mit dem Kenner flughafenid2 in der Tabelle flughafen.flughname richtig zieht obwohl bereits flughafenid1 drauf zugreift..

    Hier der gesamtte Quellcode
    PHP-Code:
       <?PHP 
        $abfrage 
    "SELECT
                        `flugplan`.`flugnummer`,
                        `flugplan`.`flugzeug_id`,
                        `flugplan`.`flughafenid1`, 
                        `flugplan`.`dep_time`,
                        `flugplan`.`arr_time`,                    
                        `flugplan`.`flughafenid2`,
                        `flugplan`.`via`, 
                        `flugplan`.`days`, 
                        `flugplan`.`valid_from`,
                        `flugplan`.`valid_to`,
                        `flughafen`.`flughafenid`,
                        `flughafen`.`flughname`,
                        `flughafen`.`iata`,
                        `flughafen`.`utc`
                    FROM 
                        `flugplan`,
                        `flughafen`
                    WHERE
                        `flugplan`.`flughafenid1` =     `flughafen`.`flughafenid`
                    ORDER BY
                        `flughafenid1` DESC, `flughafenid2` DESC"
    ;

        
    $ergebnis $con->query($abfrage); 

            if (
    $ergebnis->num_rows 0)
            {
                print 
    "<table border="0" cellspacing="0" "."cellpadding="1" WIDTH="100%" >\n";
                print 
    "<tr style="font-weight:bold">
                            <td>Flugnummer</td>
                            <td>Ab</td>
                            <td>Ab</td>
                            <td>An</td>
                            <td>A/C</td>
                            <td>Flugtag</td>
                            <td>VIA</td>
                            <td>Zeitraum</td>
                            </tr>"
    ;

                
    $colchange 1;

                while (
    $dataset $ergebnis->fetch_assoc()) 
                    {            
                        if (
    $colchange 2)
                            {
                                
    $color "#B6B6B6";
                            } 
                        else 
                            {
                                
    $color "#999";
                            }

                        print 
    "<tr>
                                <td align="
    left" bgcolor="#01375B" colspan="9" style="font-weight:bold; font-size:17px">Von ".$dataset['flughafenid1']." - ".$dataset['flughname']." (".$dataset['iata']." / ".$dataset['utc'].")
                                
    <br>
                                
    Nach ".$dataset['flughafenid2']." ".$dataset['flughname']." (".$dataset['iata']." ".$dataset['utc'].") </td>
                                </
    tr>\n";
                        print "
    <tr align="left">
                            <
    td>".$dataset['flugnummer']."</td>
                            <
    td>".$dataset['dep_time']."</td>
                            <
    td>".$dataset['arr_time']."</td>
                            <
    td>".$dataset['flugzeug_id']."</td>
                            <
    td>".$dataset['days']."</td>
                            <
    td>".$dataset['via']."</td>
                            <
    td align="right">".$dataset['valid_from']." ".$dataset['valid_to']."</td>
                            </
    tr>\n";    

                            
    $colchange++;
                    } // while ende

                        print "
    </td></tr>\n";
                        print "
    </table>\n";
                }

                else
                {
                echo "
    Derzeit haben wir geinen gültigen Linienflugplan an.";    
                }
    ?>

  • #2
    Der Beitrag Gruppenbruch / Gruppenwechsel hier in der Wissensdatenbank sollte dir Anregungen für eine Lösung geben.

    Kommentar


    • #3
      Hallo jspit,

      ich habe mir die Seite angeschaut und finde sie sehr interessant, verstehe aber leider doch mehr Bahnhof als Inhalt.

      Das geht alleine schon bei der Entscheidung der Methode los. Ich glaube am zielführensten wäre die Variante Gruppierung über Zwischenarray aus einer Datenbankabfrage mit PDO

      aber ich bin mir nicht sicher und verstehe es leider auch nicht.

      Gibt es verständlichere Literatur oder bin ich eh schon auf dem Holzweg?


      Kommentar


      • #4
        Was genau verstehst du nicht, weil es ist dort doch sehr gut erklärt, wie ich finde.

        Du solltest zudem nicht deutsch Namen mit englischen mischen. Verwende nur eine Sprache am besten englisch.

        Du solltest die Ausgabe auch schon so vorliegen haben, wie du sie am besten brauchst. Wenn du als erstes nach Abflughafen gruppieren willst, dann sollte bei der Ausgabe `flughafen`.`flughname`, auch als erstes im SELECT folgen. Wenn du Alias verwenden würdest wäre es noch einfacher.

        HTML-Code:
        <td align="left" bgcolor="#01375B" colspan="9" style="font-weight:bold;...
        align und bgcolor sind veraltet, die CSS Angaben gehören in eine Datei und nicht ins HTML.

        Den Farbwechsel kannst du auch über CSS machen.


        Kommentar


        • #5
          Hallo,

          mir scheint da doch da generelle Grundverständnis zu fehlen. Ich kann die vorgegebenen Beispiele so gar nicht auf meine Daten anwenden..

          @protestix: Wo liegt der Vorteil der alias?. Danke für den Tip bezüglich der CSS.

          Kommentar


          • #6
            Das du anstatt $dataset['flughname'] dann$dataset['Airport'] schreiben kannst. Oder bei doppeltem Namen des Flughafens du einmal Departure Airport und Arrival Airport hast,. du bist da völlig frei.
            http://www.peterkropff.de/site/mysql/alias.htm

            Kommentar

            Lädt...
            X