Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 18 su 18

Discussione: Conteggio risposte

  1. #11
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Quote Originariamente inviata da harry80 Visualizza il messaggio
    ...
    tenendo conto che alcune domande hanno anche 5 risposte e non di solo Si o No, ma proprio risposte estese, pensate che possa applicare questa tecnica oppure vale solo con 2 risposte possibili?
    Con risposte estese non funzionerebbe, nell'if dovresti mettere il testo della risposta, che è improponibile.

    Dovresti invece crearti una tabella "Risposte" fatta così:
    id_domanda - codice_risposta - testo_risposta

    la primary key sarà la coppia "codice_risposta, id_domanda"

    in modo da inserire righe fatte così:
    1 - a - si
    1 - b - no
    2 - a - pippo
    2 - b - topolino
    2 - c - paperino
    ...

    quindi alla domanda 1 si può rispondere si o no, alla domanda 2 si può rispondere pippo, topolino o paperino...

    Nella tabella questionario, nelle colonne delle risposte, invece delle risposte per esteso ci metti il codice della risposta data e il controllo negli if lo farai appunto col codice della risposta, quindi a, b, c...

    Mi devo inventare qualche cosa anche per la lunghezza delle barre, non vorrei che con l'aumento delle risposte mi spagini tutto con una barra orizzontale supergigante!
    Su questo mi sa che c'è poco da inventarsi, con 30 domande, se le vuoi mettere una di fianco all'altra, non riuscirai mai a stare nei margini dello schermo.

    Un consiglio non riguardante il problema: usa le istruzioni mysqli_ oppure PDO, non usare mysql_, presto non funzioneranno più, sui server più aggiornati è già così.
    Ultima modifica di Alhazred; 02-03-2014 a 13:40

  2. #12
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    360
    Ci smanetto un po', comunque, poiché le risposte sono precompilate, mi posso fare carico di ripeterle nell'IF, sarà sicuramente una scocciatura però...

    Grazie, sei gentilissimo e una vera risorsa per beginner come me!

  3. #13
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    360
    Allorà… mi viene più facile gestire tutto con una tabella e con le risposte in chiaro nel DB, anche perché dovrò esportare tutto in un CSV.


    Questo il codice che stò usando:


    Codice PHP:
    $query_01  "SELECT risposta_01, COUNT(*) AS numero FROM questionario GROUP BY risposta_01 ORDER BY numero DESC";
    $result_01 mysql_query($query_01);

    $query_02  "SELECT risposta_02, COUNT(*) AS numero FROM questionario GROUP BY risposta_02 ORDER BY numero DESC";
    $result_02 mysql_query($query_02); 

    Codice PHP:
    $row1 mysql_fetch_assoc($result_01);
    $row2 mysql_fetch_assoc($result_01);

    if ( 
    $row1['risposta_01'] == 'Si' ) {
        echo 
    $row1['risposta_01'] . '<br />' '<img src="immagini/barra_verde.png" width="' $row1['numero']*10 '" height="16" /> ' $row1['numero'] . ' voti<br /><br />';
    } else {
        echo 
    'Si<br />' '0 voti' '<br /><br />';
    }

    if ( 
    $row2['risposta_01'] == 'Si' ) {
        echo 
    $row2['risposta_01'] . '<br />' '<img src="immagini/barra_rossa.png" width="' $row2['numero']*10 '" height="16" /> ' $row2['numero'] . ' voti<br /><br />';
    } else {
        echo 
    'No<br />' '0 voti' '<br /><br />';



    Codice PHP:
    $row1 mysql_fetch_assoc($result_02);
    $row2 mysql_fetch_assoc($result_02);
    $row3 mysql_fetch_assoc($result_02);
    $row4 mysql_fetch_assoc($result_02);
    $row5 mysql_fetch_assoc($result_02);
    $row6 mysql_fetch_assoc($result_02);

    if ( 
    $row1['risposta_02'] == 'Risposta 01' ) {
        echo 
    $row1['risposta_02'] . '<br />' '<img src="immagini/barra_verde.png" width="' $row1['numero']*10 '" height="16" /> ' $row1['numero'] . ' voti<br /><br />';
    } else {
        echo 
    'Risposta 01<br />' '0 voti' '<br /><br />';
    }

    if ( 
    $row2['risposta_02'] == 'Risposta 02' ) {
        echo 
    $row2['risposta_02'] . '<br />' '<img src="immagini/barra_rossa.png" width="' $row2['numero']*10 '" height="16" /> ' $row2['numero'] . ' voti<br /><br />';
    } else {
        echo 
    'Risposta 02<br />' '0' '<br /><br />';
    }

    if ( 
    $row3['risposta_02'] == 'Risposta 03' ) {
        echo 
    $row3['risposta_02'] . '<br />' '<img src="immagini/barra_rossa.png" width="' $row3['numero']*10 '" height="16" /> ' $row3['numero'] . ' voti<br /><br />';
    } else {
        echo 
    'Risposta 03<br />' '0 voti' '<br /><br />';
    }

    if ( 
    $row4['risposta_02'] == 'Risposta 04' ) {
        echo 
    $row4['risposta_02'] . '<br />' '<img src="immagini/barra_rossa.png" width="' $row4['numero']*10 '" height="16" /> ' $row4['numero'] . ' voti<br /><br />';
    } else {
        echo 
    'Risposta 04<br />' '0 voti' '<br /><br />';
    }

    if ( 
    $row5['risposta_02'] == 'Risposta 05' ) {
        echo 
    $row5['risposta_02'] . '<br />' '<img src="immagini/barra_rossa.png" width="' $row5['numero']*10 '" height="16" /> ' $row5['numero'] . ' voti<br /><br />';
    } else {
        echo 
    'Risposta 05<br />' '0 voti' '<br /><br />';
    }

    if ( 
    $row6['risposta_02'] == 'Risposta 06' ) {
        echo 
    $row6['risposta_02'] . '<br />' '<img src="immagini/barra_rossa.png" width="' $row6['numero']*10 '" height="16" /> ' $row6['numero'] . ' voti<br /><br />';
    } else {
        echo 
    'Risposta 06<br />' '0 voti' '<br /><br />';


    Non ho capito perché in risposta_01 mi avete consigliato “Si” sia per row1 che per row2, oppure devo mettere in row2 “No”.



    E’ giusto come ho replicato per risposta_02?
    Ultima modifica di harry80; 03-03-2014 a 13:08

  4. #14
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Quote Originariamente inviata da harry80 Visualizza il messaggio
    ...
    Non ho capito perché in risposta_01 mi avete consigliato “Si” sia per row1 che per row2, oppure devo mettere in row2 “No”.[/FONT]
    ...
    Perché si pensava che le risposte possibili fossero solo si o no.

    Non pensarci più a quella risposta, dato che la situazione non è quella.

  5. #15
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    360
    OK, grazie hai tuoi suggerimenti sembra che vada, ed ho inserito ulteriori funzioni come mostrare i voti in percentuale, la barra che si espande in base alla percentuale, ecc, non riscontro problemi al momento, tu, guardando l'ultimo gruppo di codice con risposta_02, ritieni che è corretto l'IF che ho fatto per ogni possibile risposta? Rimarco che le risposte sono predefinite,, no campo libero.

  6. #16
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    360
    Rieccomi!

    Tutto procede al meglio ma...

    Codice PHP:
    <label><input type="radio" name="risposta_01" value="Sì" id="risposta_01" <?php echo $risposta_01 == 'Sì' 'checked="checked"' '' ?> /> Sì</label>
    <label><input type="radio" name="risposta_01" value="No" id="risposta_01" <?php echo $risposta_01 == 'No' 'checked="checked"' '' ?> /> No</label>
    <label><input type="radio" name="risposta_01" value="Altro" id="risposta_01" <?php echo $risposta_01 != '0' 'checked="checked"' '' ?> /> Altro (specificare)</label>
    Vorrei fare un controllo diverso su questa riga
    Codice PHP:
    <label><input type="radio" name="risposta_01" value="Altro" id="risposta_01" <?php echo $risposta_01 != '0' 'checked="checked"' '' ?> /> Altro (specificare)</label>
    Invece di fare != '0' vorrei fare != dalle precedenti risposte ovvero da "Sì", e "No", come faccio a legare queste risposte predefinite nell'echo assicurandomi che il radio sia checked solo se non viene selezionato "Sì" e "No"?

  7. #17
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    360
    Nessuna soluzione?

  8. #18
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    360
    Mi sono spiegato male su quello che cerco di fare?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.