Allora in poche parole io ho una tabella nel databse fatta un questo modo
TABELLA ALBUM
id | user | titolo | foto
1 zomer natale immagini/foto1.jpg,immagini/foto2.jpeg
Ora io per visualizare una foto mi creo prima un array con explode e poi passo tramite un link get la variabile della foto cosi mi visualizzo la foto.
Ora vorrei creare dei bottoni per visualizzare le foto successive e precedenti, ma vorrei utilizzare ajax per evitare il caricamento della pagina ecco cosa ho fatto.
ecco qui la mia pagina avanti.php
In questa pagina mi invio l'id dell'album e l'url della immagine,mi trovo l'array delle immagini, mi trovo nell'array la mia immagine e prelevo l'url dell'immagine successiva e la stampo
Codice PHP:
<?php
include("../config.ini.php");
$id=$_POST['id'];
$url=$_POST['url'];
$query="SELECT * FROM album WHERE id='{$id}'";
$select=mysql_query($query,$dbh) or die("Query fallita<br>".mysql_error()."<br><br>".$query);
$album=mysql_fetch_array($select);
$urls = explode(',', $album['foto']);
$key = array_search($url, $urls) + 1;
echo "<img src='".$urls[$key]."'>";
?>
invece questo è il codice Jquery che invia i dati e prende l'output e lo mette nel' div immagine
Codice PHP:
function avanti(id,url) {
$.ajax({
type: "POST",
url: "avanti.php",
data: "id="+escape(id)+"&url"+escape(url),
dataType: "html",
success: function(html) {
$("#img").html(html);
}
});
}
ora questo metodo che ho escogitato non mi funziona tanto bene perchè mi cambia l'immagine una sola volta ovvero perchè quando clicco su avanti la seocnda volta non funziona...voi sapete consigliarmi qualcosa di meglio?