Visualizzazione risultati 1 fino 2 di 2

Discussione: Prendere il valore prima di ogni virgola

  1. #1
    Guest

    Predefinito Prendere il valore prima di ogni virgola

    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

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Lavorare così sulle stringhe è sbattimento non necessario. Sia in php che javascript esistono funzioni per suddividere stringhe in base ad un separatore, in questo caso la virgola.

    Magari dai un'occhiata alle funzioni explode() ed implode() in php, ed i metodi split() e join() in javascript.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •