Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19

Discussione: problemi con update

  1. #1

    problemi con update

    ciao non mi funziona l'update mi potete aiutare?

    Codice PHP:
    <form enctype="multipart/form-data" name="form2" action="<?=$PHP_SELF?>" method="post">

    <?php 
    $query_b1 
    "SELECT a_iscrizioni.*, a_creacorsi.*, a_voti.*
            FROM a_iscrizioni, a_creacorsi, a_voti
            WHERE a_iscrizioni.id_creacorsi = a_creacorsi.id_creacorsi AND a_creacorsi.id_creacorsi = a_voti.id_creacorsi AND a_iscrizioni.id_allievi = a_voti.id_allievi AND id_iscrizioni=
    $voto";
     
    $result_b1 mysql_query($query_b1$conn) or die (mysql_error() );
    $row_b1 mysql_fetch_array($result_b1);
    ?>

        <select name="voto_materia1">
    <option value="" <? if ($row_b1['voto_materia1']=="") { echo "SELECTED"; } ?>>voto</option> 
          <OPTION VALUE="1" <? if ($row_b1['voto_materia1']=="1") { echo "SELECTED"; } ?>>1</OPTION>
          <OPTION VALUE="2" <? if ($row_b1['voto_materia1']=="2") { echo "SELECTED"; } ?>>2</OPTION>
          <OPTION VALUE="3" <? if ($row_b1['voto_materia1']=="3") { echo "SELECTED"; } ?>>3</OPTION>
          <OPTION VALUE="4" <? if ($row_b1['voto_materia1']=="4") { echo "SELECTED"; } ?>>4</OPTION>
          <OPTION VALUE="5" <? if ($row_b1['voto_materia1']=="5") { echo "SELECTED"; } ?>>5</OPTION>
          <OPTION VALUE="6" <? if ($row_b1['voto_materia1']=="6") { echo "SELECTED"; } ?>>6</OPTION>
          <OPTION VALUE="7" <? if ($row_b1['voto_materia1']=="7") { echo "SELECTED"; } ?>>7</OPTION>
          <OPTION VALUE="8" <? if ($row_b1['voto_materia1']=="8") { echo "SELECTED"; } ?>>8</OPTION>
          <OPTION VALUE="9" <? if ($row_b1['voto_materia1']=="9") { echo "SELECTED"; } ?>>9</OPTION>
          <OPTION VALUE="10" <? if ($row_b1['voto_materia1']=="10") { echo "SELECTED"; } ?>>10</OPTION>
        </select>

    <input type="hidden" name="id" value="<?=$voto?>">
             <input type="hidden" name="pagina" value="3">
             <input name="submit2" type="submit" class="pulsante" value="modifica">
    Codice PHP:
    elseif ($pagina==3){
    $sql "UPDATE a_voti SET voto_materia1='$voto_materia1', voto_materia2='$voto_materia2', voto_materia3='$voto_materia3', voto_materia4='$voto_materia4', voto_materia5='$voto_materia5', voto_materia6='$voto_materia6', voto_materia7='$voto_materia7', voto_materia8='$voto_materia8', voto_materia9='$voto_materia9', voto_materia10='$voto_materia10', voto_materia11='$voto_materia11' WHERE id_voti=$id";
    mysql_query($sql,$conn) or die (mysql_error() );
    $msg "modifiche effettuate";

    quando clicco sul pulsante modifica mi da il messaggio"modifiche effettuate" però poi vado a vedere sul db e non risulta nessuna modifica effettuata.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    beh....anzitutto hai testato la query ??

  3. #3
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    $id corrisponde al record? prova a stampare la query e vedi se e' corretta.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    io intendevo di testare la query o via shell o via interfaccia web ...tipo phpmyadmin

    ciao

  5. #5
    Codice PHP:
    <input type="hidden" name="id" value="<?=$voto?>">
    la variabile voto corrisponde a questa query:

    Codice PHP:
    elseif ($pagina==2){
        
    $sql "SELECT a_iscrizioni.*, a_creacorsi.*, a_corsi.*, a_allievi.*, a_agenti.*, a_strutture.*, b_centri.*, DATE_FORMAT(a_creacorsi.data1_corso, '%d-%m-%Y')AS data1_corso 
            FROM a_iscrizioni, a_creacorsi, a_corsi, a_allievi, a_agenti, a_strutture, b_centri
            WHERE a_iscrizioni.id_creacorsi = a_creacorsi.id_creacorsi AND a_creacorsi.id_corsi = a_corsi.id_corsi AND a_iscrizioni.id_allievi = a_allievi.id_allievi AND a_iscrizioni.id_agenti = a_agenti.id_agenti AND a_creacorsi.id_strutture = a_strutture.id_strutture AND a_creacorsi.id_centri = b_centri.id_centri AND id_iscrizioni=
    $voto";
        
    $result mysql_query($sql,$conn);
        
    $row mysql_fetch_array($result);
        
    $id_allievi=$row[id_allievi];
        
    $id_creacorsi=$row[id_creacorsi];


    il problema è che l'inserimento dei dati nella tabella voti funziona correttamente, è la modifica di questi dati che non funziona anche se stranamente il messaggio "modifiche effettuate" me lo da lo stesso.

  6. #6

  7. #7
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Fai prima un echo della query per vedere come si risolve, in particolare se la variabile $id è giusta. Se vuoi verificare l'esito dell'UPDATE, inoltre, aggiungi una controllo con mysql_affected_rows() subito dopo aver eseguito la query per l'aggiornamento dei dati.

  8. #8
    Originariamente inviato da neida
    Fai prima un echo della query per vedere come si risolve, in particolare se la variabile $id è giusta.
    l'echo l'ho fatto così, è giusto?

    Codice PHP:
    elseif ($pagina==3){
    $sql "UPDATE a_voti SET voto_materia1='$voto_materia1', voto_materia2='$voto_materia2', voto_materia3='$voto_materia3', voto_materia4='$voto_materia4', voto_materia5='$voto_materia5', voto_materia6='$voto_materia6', voto_materia7='$voto_materia7', voto_materia8='$voto_materia8', voto_materia9='$voto_materia9', voto_materia10='$voto_materia10', voto_materia11='$voto_materia11' WHERE id_voti=$id";
    mysql_query($sql,$conn) or die (mysql_error() );
    $msg "modifiche effettuate";
    echo = 
    $sql

    ?> 

  9. #9
    no, forse è corretto così
    Codice PHP:
    elseif ($pagina==3){
    $sql "UPDATE a_voti SET voto_materia1='$voto_materia1', voto_materia2='$voto_materia2', voto_materia3='$voto_materia3', voto_materia4='$voto_materia4', voto_materia5='$voto_materia5', voto_materia6='$voto_materia6', voto_materia7='$voto_materia7', voto_materia8='$voto_materia8', voto_materia9='$voto_materia9', voto_materia10='$voto_materia10', voto_materia11='$voto_materia11' WHERE id_voti=$id";
    mysql_query($sql,$conn) or die (mysql_error() );
    $msg "modifiche effettuate";
    echo 
    $sql


    ?> 

    e mi da questo risultato
    UPDATE a_voti SET voto_materia1='9', voto_materia2='10', voto_materia3='10', voto_materia4='10', voto_materia5='10', voto_materia6='10', voto_materia7='10', voto_materia8='10', voto_materia9='10', voto_materia10='10', voto_materia11='10' WHERE id_voti=15

  10. #10
    ok stampando la query è uscito subito il problema, l'errore è nell'id

    anzichè uscire il numero 43 mi esce il 15 che è l'id dell'iscrizione al corso

    UPDATE a_voti SET voto_materia1='9', voto_materia2='10', voto_materia3='10', voto_materia4='10', voto_materia5='10', voto_materia6='10', voto_materia7='10', voto_materia8='10', voto_materia9='10', voto_materia10='10', voto_materia11='10' WHERE id_voti=15
    ora ho capito dov'è il problema, ora il difficile è risolverlo..

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