Ich habe eine Indexseite, auf der alle in der Datenbank hochgeladenen Bilder angezeigt werden. Wenn Sie auf ein bestimmtes Bild klicken, werden Sie zu einer Seite weitergeleitet, die alle Informationen zu diesem Bild enthält. Jetzt versuche ich, eine Vor/Zurück-Schaltfläche auf dieser Informationsseite hinzuzufügen, die Sie zum vorherigen/nächsten Bild in der Datenbank sendet. Wie Sie zuerst sehen können, nehme ich den Pfad des Bildes von der URL, dann suche ich basierend auf dem Pfad die ID und versuche dann den Pfad des vorherigen/nächsten Bildes mit der ID des aktuellen Bildes zu erhalten. Meine nächste Bildschaltfläche funktioniert, aber meine vorherige Schaltfläche gibt immer den Pfad des ersten Bildes in meiner Datenbank zurück. Wenn ich auf "Next-> Next-> Next" klicke, werden alle meine Bilder in der richtigen Reihenfolge angezeigt. Wenn ich jedoch auf ein Bild klicke, wird das erste Bild angezeigt. Irgendwelche Ideen warum?Warum gibt meine Abfrage immer den Pfad des ersten Bildes in meiner Tabelle zurück?
<?php
$realImagePath = $_GET['image'];
$sql = "SELECT * FROM image WHERE path='$realImagePath'";
$result = mysqli_query($conn, $sql);
$getResult = mysqli_fetch_assoc($result);
$currentId = $getResult['id'];
$sql4 = "SELECT * FROM image WHERE id > $currentId LIMIT 1";
$result4 = mysqli_query($conn, $sql4);
$getResult4 = mysqli_fetch_assoc($result4);
$nextImagePath = $getResult4['path'];
$sql5 = "SELECT * FROM image WHERE id < $currentId LIMIT 1";
$result5 = mysqli_query($conn, $sql5);
$getResult5 = mysqli_fetch_assoc($result5);
$previousImagePath = $getResult5['path'];
echo "<div class='imageContainer'>"
."<h1>".$getResult['name'].'</h1>'
.'<img class="uploadedRealImg" src="uploads/'.$realImagePath .'" alt="Random image" />'."<br><br>"
."<a href='imageInfo.php?image=".$previousImagePath."'>Previous</a>"
."<a href='imageInfo.php?image=".$nextImagePath."'>Next</a><br>"
.$getResult['description']."<br><br>"
.$getResult['date']."<br><br>"
.$getResult['author']."<br><br></div>";
?>
Haben Sie sehen überprüft, welchen Wert in der „Zurück“ Taste gespeichert ist, so dass Sie wissen, ob es den richtigen Wert ist das Hinzufügen oder nicht? Es könnte auch sinnvoller sein, den Pfad und Dateinamen in der Tabelle zu speichern und dann nur die ID des vorherigen und nächsten als Werte in diesen Bildern zu speichern. Es könnte auch sinnvoller sein, all dies mit AJAX zu tun, anstatt die Seite jedes Mal neu zu laden. – Difster
Ich bin mir nicht ganz sicher, was meinst du mit "Wert wird in der" vorherigen "Taste gespeichert. Die vorherige Schaltfläche schickt mich auf die gleiche Seite, aber mit einem anderen Pfad in der URL, von dem ich abziehe, welches Bild ich anzeigen soll. Das Problem ist, dass die Abfrage sql5 immer den Pfad des Bildes mit der ID 1 zurückgibt. –
Das liegt daran, dass Sie die Seite aktualisieren und neu beginnen. – Difster