Visualizzazione dei risultati da 1 a 2 su 2

Discussione: problema php e mysql

  1. #1

    problema php e mysql

    ciao ,
    sto lavorando dietro ad un sistema per informatizzare dei questionari per la mia ditta e mi ritrovo, da quasi 4 giorni, davanti ad un problema che non riesco a superare.

    Il codice qui sotto dovrebbe, in teoria, aggiornare il numero di questionari compilati per ogni domanda.
    Ci sono questionari con 19 o 21 domande (controllo quello selezionato tamite una select, in caso si scelga 19 domande lo script da lo stesso errore), il controllo delle risposte si trova dentro gli if e dovrebbero essere corretti.
    Lo so che è complicato ma dateci un'occhiata pf (non sapevo cosa servisse quindi ho messo tutto ).

    Codice PHP:
    for ($i 0$i 21$i++){
    $questionari[$i] = mysql_result($query1$i"N°_questionari"); //recupero il numero di questionari compilati 
    echo $questionari[$i];
    }
    for (
    $i 0$i 21$i++) {
    $med mysql_result($query2$i"media");
    $valori[$i] = $med $questionari[$i]; //ripristino i punti totali
    }
    echo 
    '|';
    for (
    $v 0$v 4$v++) { //controllo quale radiobutton è selezionato
    if ($_POST['r' $v] == 1) {
    $v1 $v1 1;
    $valori[$v] = $valori[$v] + 1;
    } elseif (
    $_POST['r' $v] == 2) {
    $v2 $v2 2;
    $valori[$v] = $valori[$v] + 2;
    } elseif (
    $_POST['r' $v] == 3) {
    $v3 $v3 3;
    $valori[$v] = $valori[$v] + 3;
    } elseif (
    $_POST['r' $v] == 4) {
    $v4 $v4 4;
    $valori[$v] = $valori[$v] + 4;
    } else {
    print 
    "<script type=\"text/javascript\">";
    print 
    "alert('Mancano delle risposte')"//mostra un alert se ci sono delle domande senza risposta 
    print "</script>";
    die(); 
    //interrompo lo script
    }
    $questionari[$v] = $questionari[$v]+1$ris[$v] = $valori[$v] / $questionari[$v];
    }
    for (
    $y 0$y 4$y++) { //aggiorno la tabelle con la media per domanda
    echo $questionari[$i];
    mysql_query("UPDATE $val_media SET media = $ris[$y], N°_questionari = $questionari[$y] WHERE N°_domanda=$y");


    se eseguo questo codice 3 volte mi stampa:
    1: 000000000000000000000|1111
    2: 111000000000000000000|2221
    3: 221000000000000000000|3321

    la cosa che non capisco è perchè va decrescendo quando dovrebbe incrementare tutto univocamente (il punto 3 dovrebbe essere: 222200000000000000000|3333)
    potete aiutarmi.

    grazie in anticipo per l'aiuto.

  2. #2
    nessuna idea?

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.