Was ich versuche, am besten zu erreichen, wird im Beispieldiagramm in einer HTML-Tabelle beschrieben. Meine Tabelle funktioniert gut mit Daten aus einer MySQL-Datenbank, aber alle Daten werden in Zeilen gedruckt, was korrekt ist, jedoch muss ich die Daten im unten stehenden Format und im gleichen Format in Excel anzeigen. Dies vermeidet die Wiederholung ähnlicher Daten.Anzeigen von Tabellenzeilen innerhalb der Zeile
My SQL-Anweisung ist dies:
$query = mysql_query("SELECT * FROM Reservations WHERE Date = '$DateToday' ORDER BY Airline ASC, Flight ASC, Name");
aber ich denke, die gewünschte Anzeige php zu erreichen wäre relevanter als MySQL.
So wird zuerst die while-Schleife ....
while ($row = mysql_fetch_array($query)) { $results = mysql_query("SELECT * FROM Reservations WHERE Airline = '$Airline'");
$Count = mysql_num_rows($results);
if($Count > 1) // More then 1 passenger on same flight
{
$iReservationID = $row['ReservationID'];
$iAirline = strtoupper($row['Airline']);
$iFlight = strtoupper($row['Flight']);
$iName = strtoupper($row['Name']);
$iName = "<BR>".$iName;
} else {// NOT More then 1 passenger on same flight
$ReservationID = $row['ReservationID'];
$Airline = strtoupper($row['Airline']);
$Flight = strtoupper($row['Flight']);
$Name = strtoupper($row['Name']);
}
}
<table>
<tr>
<td>AIRLINE</td>";
<td>FLIGHT#</td>";
<td>PASSENGER</td>";
</tr>
<tr>
<td>echo $Airline;</td>
<td>echo $Flight;</td>
<td>print "$Name<BR>$iName</td>
</tr>
</table>
Die Tabelle arbeitet mit Zeilen für jeden Eintrag in Ordnung, wenn es nur ein Passagier ist, aber es ist die Passagiernamen duplizieren, wenn verschachtelt.
SELECT DISTINCT
tut nicht den Trick entweder noch SELECT FROM Reservations WHERE ReservationID <> $ReservationID
- Ich habe versucht, eine zweite WHILE
Schleife, um die Daten nach FLIGHT # holen, aber immer noch nicht korrekt.
Vorschläge sehr geschätzt.
Innerhalb Schleife, die Sie anwenden, wo Bedingung auf der Airline, was ist, wenn Sie dieselbe Fluggesellschaft mit anderen Flug haben? –
Sie haben Recht Vara und das würde sicherlich passieren. In diesem Fall sollte eine neue Zeile geschrieben werden, die den AIRLINE-Namen, (wieder) die verschiedenen FLIGHT # und die entsprechenden Passagiernamen anzeigt. Ich versuche jetzt die Beispiele. –