Originariamente inviato da TrueLies
Non so che dirti, mi spiace, perchè $idannuncio non so dove viene creato: guarda un po' la porzione di codice che gli dovrebbe assegnare un valore e cerca di capire come mai non lo fa.
O se lo fa e intendi dire che non riesci a passarlo a quel codice, è questo uno dei motivi per cui a me non piacciono le librerie fatte dagli altri: se una cosa non funge tocca comunque rifarti le tue!
Ciao True!! ce l'ho fatta ! Ho cambiato " plugin " utilizzando qualcosa di piu semplice riuscendo a passare gli ID degli annunci al javascript:
codice:
<script language="javascript" type="text/javascript">
function jchange(o) {
var fold_image = new Array();
fold_image[0] = "/images/openarrow.gif";
fold_image[1] = "/images/closedarrow.gif";
if(document.getElementById(o).style.display=='none') {
document.getElementById(o).style.display='block';
if(document.getElementById('nfolding')) {
document.getElementById('nfolding').src=fold_image[0];
}
} else {
document.getElementById(o).style.display='none';
if(document.getElementById('nfolding')) {
document.getElementById('nfolding').src=fold_image[1];
}
}
}
</script>
Qui ho fatto come mi hai detto te, mettendo tutto nell'array:
codice:
<script type="text/javascript">
var clicks = 0;
var clicksglobali=[];
function linkClick(control){
var pippo = 'clicked_'+control;
clicksglobali[pippo]=(clicksglobali[pippo])?++clicksglobali[pippo]:1;
++clicks
document.getElementById('clicked_'+control).value = clicksglobali[pippo];
}
</script>
Codice PHP:
//Effettuo il ciclo per stampare gli annunci in bacheca
$query = ....................
while($row = mysql_fetch_array($results)){
$descrizione=$row['descrizione'];
........
echo <<<EOT
<h3>$titolo</h3>
[size="1"][i][b]Pubblicato da:[/b] $nome $cognome il $data [/i][/size]
[url="javascript:jchange('jdiv_$id_annuncio');"]Espandi il Testo[/url]
<div id="jdiv_$id_annuncio" style="display:none;">
$descrizione [url="javascript:jchange('jdiv_$id_annuncio');"]Close (X)[/url].</p></div>
Hai cliccato <input id="clicked_$id_annuncio" size="3" onfocus="this.blur()" > volte. </p>
EOT;
}
In questo modo , ogni volta che clicco su " espandi testo " mi incrementa il valore e me lo tiene per ogni annuncio in bacheca ESEMPIO:!!!
-----------------------------
titolo annuncio
-----------------------------
<espandi testo>
...........................................
hai cliccato: 4 volte "se ad esempio ho cliccato 4 volte questo annuncio"
-----------------------------
titolo annuncio
-----------------------------
<espandi testo>
...........................................
hai cliccato: 2 volte "se ad esempio ho cliccato 2 volte questo annuncio"
In questo modo, senza fare l'aggiornamento della pagina, si riempie l'array:
codice:
clicksglobali[pippo]=(clicksglobali[pippo])?++clicksglobali[pippo]:1;
Ora come faccio a passare quei numeri, al PHP per aggiornare un qualsiasi campo contatore nel DB ????