2016-09-30 5 views
-1

Ich erstelle ein System, in dem Datensätze in einer Datenbank in einer HTML-Tabelle angezeigt werden müssen. Die HTML-Tabelle und das Abrufen von Daten funktioniert einwandfrei. Allerdings brauche ich eine Spalte mit einem Löschsymbol/Link für jede Zeile. Zum Beispiel wird in Zeile eins eine Zeile mit Daten und in der letzten Spalte ein X zum Löschen stehen. Es funktionierte vorher gut, aber jetzt muss ich alles von MySQL zu MySQLi aktualisieren. Die alte Art, meine Tabelle zu erzeugen, funktioniert nicht mehr (mit einer for-Schleife und PHP) und daher muss ich eine while-Schleife verwenden.Löschen eines Datensatzes in einer von PHP generierten Tabelle

Bitte sehen Sie meinen Code.

<table align="center" cellpadding="10px"> 
<tr> 
    <td> 
     <?php 
     echo "<table align=center; width=833; height=102; border=1>"; //begin table tag... 

     echo "<tr bgcolor=#eeeeee>"; 
     echo "<td>" . "Locomotive" . "</td>"; 
     echo "<td>" . "Headcode" . "</td>"; 
     echo "<td>" . "Seen At" . "</td>"; 
     echo "<td>" . "Train Origin" . "</td>"; 
     echo "<td>" . "Train Destination" . "</td>"; 
     echo "<td>" . "On" . "</td>"; 
     echo "<td>" . "At" . "</td>"; 
     echo "<td>" . "Action" . "</td>"; 
     echo "</tr>"; 

     while ($rowitem = mysqli_fetch_array($dataresults)) { 
      echo "<tr>"; 
      echo "<td>" . $rowitem['Class'] . $rowitem['Number'] . "</td>"; 
      echo "<td>" . $rowitem['Headcode'] . "</td>"; 
      echo "<td>" . $rowitem['SightedLocation'] . "</td>"; 
      echo "<td>" . $rowitem['TrainOrigin'] . "</td>"; 
      echo "<td>" . $rowitem['TrainDestination'] . "</td>"; 
      echo "<td>" . $rowitem['SightingDate'] . "</td>"; 
      echo "<td>" . $rowitem['SightingTime'] . "</td>"; 
      echo "<td>" . <a href = "SightingHome.php?d=1&id=<?php echo $rowitem['SightingID'] ?>" <img src = 'Images/delete.png' title = "Delete This Sighting" width = "25" height = "24" /> </td>; 
      echo "</tr>"; 
     } 
     echo "</table>"; 
     ?> 
    </td> 
</tr> 

Das Problem ist, ich kämpfen, um die PHP in der Zeile für die Aktion, das letzte Echo in der unteren Tabelle zu erhalten.

Wenn jemand den vollständigen Code benötigt, kann ich es bereitstellen.

PS: dataresults ist die folgende

$UserName = $_SESSION['UserID']; 
    $SightingData = "SELECT * from tblsightings WHERE UserID = '$UserName' ORDER BY SightingDate DESC" ; 

    $dataresults = mysqli_query($connection,$SightingData); 

Ich bin Wiederaufbau nur das neue System ein altes System ab hatte ich schon aber ein paar Jahren, seit ich PHP tat. Neue Seite http://trainmania100.x10host.com/

Antwort

0

Ich denke, dass das Problem ist, mischen Sie HTML und PHP den falschen Weg.

Wie Sie verwenden Echo auf <a href=...> und dies kann nicht als PHP-Code verstanden werden, weil es eine Zeichenfolge sein sollte. So haben Sie einige Probleme mit der ", die als etwas zu verstehen, um die Zeichenfolge zu stoppen, und nicht als Teil der Zeichenfolge. Sie müssen also vorher eine \ hinzufügen, damit sie als Teil der Zeichenfolge gelesen wird.

Ändern Sie diese Zeile:

echo "<td>" . <a href = "SightingHome.php?d=1&id=<?php echo $rowitem['SightingID'] ?>" <img src = 'Images/delete.png' title = "Delete This Sighting" width = "25" height = "24" /> </td>; 

zu:

echo "<td> <a href =\"SightingHome.php?d=1&id=" . $rowitem['SightingID'] . "<img src = 'Images/delete.png' title = \"Delete This Sighting\" width = \"25\" height = \"24\" /></td>"; 

Die Antwort von moni_dragu es sauberer machen, ' mit der Zeichenfolge zu starten und schließen die " als Teil der Zeichenfolge, Sie müssen also nicht \ vor jedem " verwenden.

+0

Danke :-) Kathara – trainmania100

+0

Gern geschehen;) – KatharaDarko

0

Ihre Zeile mit der Aktion ist nicht korrekt geschrieben. Ändern Sie es zu diesem:

echo '<td><a href="SightingHome.php?d=1&id='. $rowitem['SightingID'] .'"> <img src="Images/delete.png" title="Delete This Sighting" width="25" height="24" /></a></td>'; 
+0

Danke :) Moni – trainmania100

Verwandte Themen