Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Scrive due volte lo stesso utente

    Ciao a tutti, sono arrivato alla frutta, non riesco ad uscire da questo problema, aiutatemi vi prego:

    ho un file php che deve aggiungere uno studente nel db, se non è presente, mentre, se è gia presente deve inserire il voto relativo alla sua interrogazione.

    Il problema è che, se lo studente non è presente lo inserisce due volte, mentre, se è già presente inserisce due volte il voto relativo alla sua interrogazione.

    il codice relativo al salvataggio....

    <?php
    include("config.inc.php");
    #
    # Aquisisce i dati dal file config.inc '$db_host, $db_user,
    #
    $db_password'
    $varNome="Brambilla";
    #
    # stringa di prova da eliminare quando il nome proviene dal form
    #
    #$varNome=$_POST["nome"];
    #
    # stringa da inserire quando il nome proviene dal form
    #
    $varVoto=$_POST["voto"];
    $varDescrizione=$_POST["descrizione"];
    #
    # acquisisce i dati dal form html e li inserisce nelle
    # variabili $varNome, £varVoto e $varDescrizione
    #
    $conn=mysql_connect("$db_host", "$db_user", "$db_password");
    #
    # Collegamento al server mySQL che ritorna true o false nella
    # variabile $conn se c'è stato il collegamento oppure no.
    #
    if(!$conn){
    echo("errore durante la connessione a mysql");
    exit();}
    else{
    echo("connessione avvenuta correttamente
    ");
    }
    #
    mysql_select_db($db_name, $conn) OR die ("Errore nella selezione del db: "
    . mysql_error());
    #
    # Seleziona la connessione e il database sul quale si deve lavorare e
    # riporta l'eventuale errore del db
    #
    $strSQL="SELECT id_alunno FROM alunni WHERE nome='$varNome'";
    #
    # Costruzione della query da passare al db tramite la variabile $strSQL
    #
    $risultato=mysql_query($strSQL, $conn)or die("Errore nella query: "
    . mysql_error());
    #
    # Restituisce un identificativo del risultato (cioè un'altra variabile di tipo
    # resource), che servirà successivamente, se la query è andata a buon fine;
    # se invece MySql ha rilevato degli errori, la funzione restituisce FALSE;
    #
    $riga=mysql_fetch_array($risultato);
    #
    # Legge le righe dal database restituendo l'id alunno
    #
    $varInsVoto=0;
    if($riga==false and $varInsVoto==0){
    $verifica="riga = false
    ";
    echo $verifica;
    echo "VarInsVoto: ".$varInsVoto."
    ";
    echo "Risultato: " .mysql_num_rows($risultato). "
    ";
    $strSQL="INSERT INTO alunni (nome)VALUES('$varNome')";
    $varInsVoto=1;
    $risultato=mysql_query($strSQL,$conn);
    if(! mysql_query($strSQL)){
    echo("Errore nel comando INSERT");
    exit();}
    else{
    echo("Studente $varNome aggiunto corretamente
    ");
    }
    }
    #
    # se l'alunno è presente nel database
    #
    else{
    $verifica="if riga = true
    ";
    echo $verifica;
    $strSQL="SELECT id_alunno FROM alunni WHERE nome='$varNome'";
    $risultato=mysql_query($strSQL);
    $riga=mysql_fetch_array($risultato);}
    #
    # Legge le righe dal db restituendo l'id_alunno relativo al nome immesso
    #
    while($riga){
    echo("id alunno: ".$riga["id_alunno"]."
    ");
    $id_ricavato=$riga["id_alunno"];
    $riga=mysql_fetch_array($risultato);}
    #
    # ed inserisce l'interrogazione
    #
    $strSQL="INSERT INTO interrogazioni(id_alunno, voto, descrizione)
    VALUES('$id_ricavato','$varVoto','$varDescrizione' )";
    $risultato=mysql_query($strSQL);
    if(! mysql_query($strSQL)){
    echo("Errore nel comando INSERT");
    exit();}
    else{
    echo "VarInsVoto: ".$varInsVoto."
    ";
    echo("Studente $varNome già presente, aggiunto voto e descrizione
    ");
    $strSQL="SELECT id_alunno FROM alunni WHERE nome='$varNome'";
    $risultato=mysql_query($strSQL);
    $riga=mysql_fetch_array($risultato);
    $id_ricavato=$riga["id_alunno"];
    }
    #if(! mysql_query($strSQL)){
    # echo("Errore nel comando SELECT");
    # exit();}
    #else
    # echo("query effettuata corretamente");
    # $strSQL="INSERT INTO interrogazioni(id_alunno,voto,descrizione)
    # VALUES('$id_ricavato','$varVoto','$varDescrizione' )";
    # $risultato=mysql_query($strSQL);
    ?>

    grazie.

  2. #2
    $strSQL="INSERT INTO alunni (nome)VALUES('$varNome')";
    $varInsVoto=1;
    $risultato=mysql_query($strSQL,$conn); if(! mysql_query($strSQL)){

    qui ripeti due volte la query... dovrseti fare


    $strSQL="INSERT INTO alunni (nome)VALUES('$varNome')";
    $varInsVoto=1;
    $risultato=mysql_query($strSQL);
    if (!$risultato) { ...



    e anche qui




    $strSQL="INSERT INTO interrogazioni(id_alunno, voto, descrizione)
    VALUES('$id_ricavato','$varVoto','$varDescrizione' )";
    $risultato=mysql_query($strSQL);
    if(! mysql_query($strSQL)){
    visitate http://camicio.altervista.org per caxxate varie :d

  3. #3
    ok mille grazie, adesso funziona

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.