Salve a tutti,
devo creare un sistema 'si,no', cioe una persona può mettere mi piace a una news oppure può mettere non mi piace.
Ho pensato di fare nella tabella news un campo 'alreadyvoted' dove ci sono gli id di tutti quelli che hanno votato
(Dovrebbe uscire una cosa del genere: id1,id2,id3 e cosi via)
Ho fatto questo sistema:
Codice PHP:
$query = sprintf("SELECT alreadyvoted FROM news WHERE id = '%d'", $nid);
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
for($muliniello = 0; $muliniello < strlen($row['alreadyvoted']); $muliniello++)
{
if($row['alreadyvoted'][$muliniello] == ",")
{
$NewStringooooooooooooooooo = true;
}
if($NewStringooooooooooooooooo == true)
{
if($AsdVoting[x]==$_SESSION['utente'])
{
$iVoted = true;
break;
}
$NewStringooooooooooooooooo = false;
$x++;
}
$AsdVoting[$x] = $row['alreadyvoted'][$muliniello];
}
if($iVoted == true)
{
exit();
}
Ma non funziona, mi fa votare pure se ho già votato..
Per aggiornare il campo ho fatto cosi
Codice PHP:
$query = sprintf("SELECT alreadyvoted FROM news WHERE id = '%d'", $nid);
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
$row['alreadyvoted'] = sprintf("%s,%d",$row['alreadyvoted'],$_SESSION['utente']);
$query = sprintf("UPDATE alreadyvoted SET alreadyvoted = '%s' WHERE id = '%d'", $row['alreadyvoted'], $nid);
mysql_query($query);
Dato che il sistema è lo stesso, approfitto di questo topic per lo stesso problema..
Io uso ajax per il bottone si e no, funziona tutto correttamente faccio arrivare alla pagina principare due numeri:
x,y
x = mi piace
y = non mi piace
Cosi ho fatto questo codice in javascript per salvare i numeri e stamparli
Codice:
var trovato = 0;
var numero = -1;
var numero2 = -1;
for(i = 0; i < xmlhttp.responseText.length; i++)
{
if(i == ",")
{
trovato = 1;
}
else if(trovato==0)
{
numero = xmlhttp.responseText[i];
}
else if(trovato==1)
{
numero2 = xmlhttp.responseText[i];
}
}
document.getElementById('PiaceAxNonPiaceAx').innerHTML = "Piace a "+numero+" persone, non piace a "+numero2+" persone";
Non sono molto esperto di questi linguaggi quindi non so a cosa sia dovuto