Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 22

Discussione: Sondaggio PHP

  1. #11
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    17
    Ok ora provo, grazie mille

  2. #12
    Utente di HTML.it L'avatar di Nosfe
    Registrato dal
    Jan 2004
    Messaggi
    454
    Scusa avevo sbagliato una cosa, ti riposto tutto il codice, corretto:

    Codice PHP:
    <?PHP
    $scelta
    =$_POST['scelta'];//passa si o no dal form

    //apro la connessione
    $conn mysql_connect ('host','user','pass') or die("Couldn't Connect to MySql.");
    //seleziono il database
    $db mysql_select_db ('nomedb',$conn) or die("Couldn't Select Database.");
    //prendo i dati da mysql
    $sql="SELECT Si,No FROM nometabella";
    $query=mysql_query($sql$conn);
    //assegno le variabili
    list($sidb,$nodb)=mysql_fetch_row($query);
    //update di mysql
    if($scelta=="no"){//se hanno scelto no nel form
    $nodb=$nodb+1;//se hanno scelto no aumento di 1 la cifra che ho preso dal database
    $sqlno="UPDATE nometabella SET no = \"$nodb\"";
    $queryno=mysql_query($sqlno,$conn);//inserisco la nuova cifra aumentata di 1
    } else {//se hanno scelto si nel form
    $sidb=$sidb+1;//se hanno scelto si aumento di 1 la cifra che ho preso dal database
    $sqlsi="UPDATE nometabella SET si = \"$nodb\"";
    $querysi=mysql_query($sqlsi,$conn);//inserisco la nuova cifra aumentata di 1
    }
    ?>

  3. #13
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    17
    Nosfe, il codice è perfetto!!!!! L'unica cosa è che non mi salva i dati permanentemente nel db! Cioè una volta votato mi da subito il voto, però se voto nuovamente riparte da 1

  4. #14
    Utente di HTML.it L'avatar di Nosfe
    Registrato dal
    Jan 2004
    Messaggi
    454
    Non ho capito scusa.

    Allora io voto si, e nella tabella Si ti dà 1.

    E se rivoto invece di darti 2 ti ridà 1?

  5. #15
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    17
    Esatto, ecco il codice (ps ma sqlsi cos'è?)

    <?PHP
    $voto=$_POST['voto'];
    mysql_connect ('localhost','admin','admin') or die("Non mi posso connettere");
    mysql_select_db ("iscrdb") or die ("Non mi posso connettere al DB");
    $sql="SELECT * FROM tabella WHERE si='".$si."' AND no='".$no."'";

    $result = mysql_query($sql);

    list($si, $no)=mysql_fetch_row($result);

    if($voto=="no"){
    $no=$no+1;
    $no="UPDATE tabella SET no = \"$no\"";
    $resultno=mysql_query($no);

    } else {

    $si=$si+1;

    $si="UPDATE tabella SET si = \"$no\"";
    $resultsi=mysql_query($si);

    }
    echo "Il numero degli studenti che si laureeranno è $si mentre il numero degli studenti che continueranno gli studi è $no";

    ?>

  6. #16
    Utente di HTML.it L'avatar di Nosfe
    Registrato dal
    Jan 2004
    Messaggi
    454
    C'era qualche errore di sintassi che potrai vedere contrapponendo il mio codice, eccoti il codice corretto, dovrebbe funzionare ora come vuoi:
    Codice PHP:
    <?PHP 
    $voto
    =$_POST['voto']; 
    $conn=mysql_connect ('localhost','admin','admin') or die("Non mi posso connettere"); 
    $db =mysql_select_db ("iscrdb",$conn) or die ("Non mi posso connettere al DB"); 
    $sql="SELECT si,no FROM tabella"

    $result mysql_query($sql,$conn); 

    list(
    $si$no)=mysql_fetch_row($result); 

    if(
    $voto=="no"){ 
    $no=$no+1
    $sqlno="UPDATE tabella SET no = \"$no\""
    $resultno=mysql_query($sqlno,$conn); 

    } else { 

    $si=$si+1

    $sqlsi="UPDATE tabella SET si = \"$si\""
    $resultsi=mysql_query($sqlsi,$conn); 


    echo 
    "Il numero degli studenti che si laureeranno è $si mentre il numero degli studenti che continueranno gli studi è $no"

    ?>

    Ho modificato perché c'era un errore nell'inserimento della variabile $si, che nel codice era $no invece di essere $si, cmq l'ho corretto.

  7. #17
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    17
    Mi dice:

    Il numero degli studenti che si laureeranno è UPDATE tabella SET si = "" mentre il numero degli studenti che continueranno gli studi è

  8. #18
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    17
    Funziona al 99%, nel senso che questa volta aumenta, ma se aumenta si diminuisce il no!

    P.S. ti faranno una statua per la pazienza

  9. #19
    Utente di HTML.it L'avatar di Nosfe
    Registrato dal
    Jan 2004
    Messaggi
    454
    Allora, per funzionare (l'ho fatto sul mio comp e funziona ora) devi mettergli la prima volta tu i valori in mysql 1 per no e 1 per si. fatto questo funziona.

    Listato del form:
    Codice PHP:
    <table align="center"
    <
    center
    <
    form method='post' action='risultati.php'
    <
    table border="0"
    <
    tr
    <
    th colspan="2">[b]DOMANDA?[/b]</th
    </
    tr
    <
    tr
    <
    td width="93" align="right">Vota per il SI</td
    <
    td><input type="radio" name='voto' value="si">*</td
    </
    tr
    <
    tr
    <
    td width="93" align="right">Vota per il NO</td
    <
    td><input type="radio" name='voto' value="no">*</td
    </
    tr
    <
    td></td
    <
    td height="25" width="244"
    <
    p align="center"><font face="Verdana" size="2"
    <
    input type=submit value='Invia'
    <
    input type=reset value='Cancella'
    </
    font></td
    </
    tr
    </
    table
    </
    form
    </
    table

    Listato di risultati.php
    Codice PHP:
    <?PHP 
    $voto
    =$_POST['voto']; 
    $conn=mysql_connect ('localhost','admin','admin') or die("Non mi posso connettere"); 
    $db =mysql_select_db ("iscrdb",$conn) or die ("Non mi posso connettere al DB"); 
    $sql="SELECT si,no FROM tabella"

    $result mysql_query($sql,$conn); 

    list(
    $si$no)=mysql_fetch_row($result); 

    if(
    $voto=="no"){ 
    $no=$no+1
    $sqlno="UPDATE tabella SET no = \"$no\""
    $resultno=mysql_query($sqlno,$conn); 

    } else { 

    $si=$si+1

    $sqlsi="UPDATE tabella SET si = \"$si\""
    $resultsi=mysql_query($sqlsi,$conn); 


    echo 
    "Il numero degli studenti che si laureeranno è $si mentre il numero degli studenti che continueranno gli studi è $no"

    ?>
    Prova dopo aver fatto la cosa in mysql e vedrai che funzica

  10. #20
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    17
    FUNZIONAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!! !

    GRAZIE MILLE!!!!

    Non puoi capire quanto ti sono grato!!!!!!!!!
    Spero che prima o poi sarà a buon rendere!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.