Premetto che sono completamente ingorante in merito a javascript, tuttavia mi occore apportare una modifica al mio sito ("
http://www.painteronline.or"). É un sito d'arte, e vorrei implementare una funzione che permette agli utenti di visionare gli ultimi quadri visti. Il problema è il seguente:
La pagina in questione, ad esempio questa: "
http://www.painteronline.org/visual2.php?pittore=fasano66" presenta i quadri di un determinato pittore, la pagina funziona in questo modo, prima effettua una query per ricavare i quadri del pittore selezionato, poi un ciclo for li dispone nella pagina. Io vorrei che ogni volta che un utente del sito clicca su un quadro venga eseguita una query che si occuperà di salvare in una tabella del database i vari dati dell'immagine (ad es. il percorso della miniatura, il percorso dell'immagine di dimensioni più grandi, il titolo del quadro etc etc...). In questo modo potrei creare facilmente una pagina con, ad esempio, gli ultimi 50 quadri cliccati.
Devo fare in modo che questa operazione avvenga senza ricaricare la pagina, e che al clic sulla miniatura venga richiamato un file .php esterno, il quale, dopo aver ricavato le variabili tramite POST eseguirà la query che popolerà la tabella degli ultimi quadri visti.
É necessario che questo avvenga senza dover ricaricare la pagina, anche perchè l'anteprima del quadro viene fatta tramite jquery con una "shadow box" che viene attivata cliccando sull'immagine che è all'interno di un tag "a href" come potete vedere:
Codice all'interno del ciclo for che stampa a video il risultato della query
echo '
<li>
<a rel="prettyPhoto[IMG_]" class="noborder" title="'. strtoupper($image_caption) . $image_width_ok . $image_height_ok .' '. ucfirst($image_description) .' - Genere: '. str_replace('_', ' ', $image_genere) .'" href="'. $image_link .'" onclick="salva();" >
<img style="margin-bottom:10px;" src="'. $image_thumb_link .'" class="thumb" border="0" alt="'. $nomep .' '. $cognomep .' - '. $image_caption .'" /><br /><span class="visual2">'. SubPoint($image_caption,0,10) .'</span>
</a>
</li>
';
ho letto in giro per la rete che il modo migliore per fare quello che voglio fare è di utilizzare ajax. Quindi ho messo anche questo in fondo alla pagina, all'interno del tag <body>.
<script type="text/javascript">
function salva(image_thumb_link, image_link){
$.ajax({
type: "POST",
url: "http://www.painteronline.org/test.php",
data: ({
image_thumb_link: image_thumb_link,
image_link: image_link
}),
dataType: "text"
}
}
</script>
e questa è la porzione di codice php presente nel file esterno (test.php) che si dovrebbe occupare della query
$image_thumb_link = $_POST['image_thumb_link'];
$image_link = $_POST['image_link'];
$sql = "UPDATE ultimi_visti SET thumb='$image_thumb_link', link_image='$image_link'" or die(mysql_error());
$aggiorna = mysql_query($sql);
ma non riesco a farlo andare, cliccando sul quadro la tabella non viene modificata.
Mi date una mano?
Vi ringrazio per l'aiuto.