Mehrere Werte in einer Spalte

Im moment sieht die Tabelle der Datenbank so aus

1547670198476.png


Jeder Einsatz hat seine Eigene ID, Datum wird automatisch gespeichert.
ebenso auch Einsatzort, Einsatz und Fahrzeuge.

Es wird aber immer nur 1 Einsatz und zwar der letzte angezeigt.


Muss ich das dann im Template einfügen oder in der Datei wo die Daten abgefragt werden ?


PHP:
$fahrzeuge_array = [B]explode[/B] (',', $inhalt->fahrzeuge);


Wie kann ich dann auf die Fahrzeuge zu greifen ?
 

Anhänge

  • 1547670063841.png
    1547670063841.png
    77 KB · Aufrufe: 1
Es wird aber immer nur 1 Einsatz und zwar der letzte angezeigt.
Wenn sich das auf die Fahrzeuge bezieht, ist es vollkommen plausibel, denn die Tabelle mit den Fahrzeugen gibst Du außerhalb und nach der Schleife über die Datenbankeinträge aus. Dann hat $inhalt den letzten Wert bzw. die letzte Zeile aus der Datenbanktabelle.
Nimm die Generierung der Tabelle mit den Fahrzeugen in die foreach-Schleife mit hinein.
Benutze den Modulo-Operator, um eine neue Zeile anzulegen.
Code:
<?php foreach ($daten as $inhalt) {
?>
<!-- Hier wird zunaechst die Tabelle mit dem Einsatz angelegt
        so wie Du es schon hast -->

<!-- Anschliessend wird die Tabelle mit den Fahrzeugen
     des Einsatzes angelegt -->
<table>
    <caption>Fahrzeuge</caption>
    <tbody>
    <tr>
<?php
$fahrzeuge_array = explode (',', $inhalt->fahrzeuge);
for ($i = 0; $i < count($fahrzeuge_array); $i++) {
    if ($i % 2 == 0 && $i > 0) echo '</tr><tr>';
    $fahrzeug = $fahrzeuge_array[i];
    echo '<td>' . $fahrzeug . '</td>';
}
?>
        </tr>
    </tbody>
</table>
<?php } // Abschluss fuer aeussere Schleife
?>
Ungetestet, ich hoffe, ich habe mich bei den Klammern und öffnenden und schließenden HTML-Tags nicht verlaufen.
 
Zuletzt bearbeitet:
Das müsste ja dann so sein.

Bekomme dann aber nur die Überschrift Fahrzeuge angezeigt, aber keine Fahrzeuge.



HTML:
<html>
<head>
</head>
<body>
<table style="width: 516px; height: 144px;" border="1" cellpadding="1"
cellspacing="1">
<thead> <tr>
<th>Datum</th>
<th>Einsatz</th>
<th>Einsatzort</th>
</tr>
</thead> <tbody>
<?php foreach ($daten as $inhalt) { 
?> <tr>
<td style=" text-align: center;"><?php echo $inhalt->datum; ?><br>
</td>
<td style=" text-align: center;"><?php echo $inhalt->einsatz; ?><br>
</td>
<td style=" text-align: center;"><?php echo $inhalt->einsatzort; ?><br>
</td>
</tr>
  <!-- Anschliessend wird die Tabelle mit den Fahrzeugen
     des Einsatzes angelegt -->
<table>
    <caption>Fahrzeuge</caption>
    <tbody>
    <tr>
<?php
$fahrzeuge_array = explode (',', $inhalt->fahrzeuge);
for ($i = 0; $i < count($fahrzeuge_array); $i++) {
    if ($i % 2 == 0 && $i > 0) echo '</tr><tr>';
    $fahrzeug = $fahrzeuge_array[i];
    echo '<td>' . $fahrzeug . '</td>';
}
?>
        </tr>
    </tbody>
</table>
<?php } // Abschluss fuer aeussere Schleife
?>   
</body>
</html>
 
Wie gesagt, ungetestet. Schaltet man die Fehleranzeige ein, erkennt man, dass der Fehler hier liegt:
$fahrzeug = $fahrzeuge_array[i];
Dollarzeichen vor dem i fehlt.
 
Danke.

es funktioniert.
genau so wollte ich es an zeigen lassen.

jetzt muss ich nur noch bisschen das Design anpassen.

Bin noch am überlegen ob ich bei dem Alamieren formular eine button mit alarm Zurücksetzen machen.

so das dann bei der ausgabe steht :

Kein einsatz vorhanden.
 
Zurück