• User Attivo

    update che non risponde

    Un saluto a tutti, sto qui a comunicarvi una cosa molto strana, premetto che ho realizzato altre update e mi sono riuscite benissime, ma con questa mi sto impappinando :mmm:
    Vi posto subito il codice
    pagina elenco.php
    [PHP]
    <table border="0" cellspacing="0" cellpadding="0">
    <?php
    echo"
    <tr>
    <td bgcolor='#EDF967' align='center' width='2' height='20'>
    <td bgcolor='#EDF967' align='center' width='140' height='20'>
    <font size='1' face='Verdana, Courier New, Courier, monospace'>
    <b>Descrizione</b>
    </font>
    </td>
    <td bgcolor='#CDD1E1' width='2'></td>
    <td bgcolor='#EDF967' align='center' width='80' height='10'>
    <font size='1' face='Verdana, Courier New, Courier, monospace'>
    <b>Punteggio</b>
    </font>
    </td>
    <td bgcolor='#CDD1E1' width='2'></td>
    <td bgcolor='#EDF967' align='center' width='20' height='10'></td>
    <td bgcolor='#CDD1E1' width='2'></td>
    <td bgcolor='#EDF967' height='20'></td>
    <td bgcolor='#CDD1E1' width='2'></td>
    <td bgcolor='#EDF967' height='20'></td>
    </tr>";
    require '../connessione/Config.php';
    require '../connessione/Connect.php';
    $query_1=mysql_query("SELECT * FROM tabella_squadra_1 ORDER BY punteggio DESC")
    or die("errore nella query;".mysql_error());
    while($elenco_sq=mysql_fetch_assoc($query_1))
    {
    echo"
    <tr>
    <td width='2'></td>
    <td align='left'>
    <font size='1' face='Verdana, Courier New, Courier, monospace'>
    $elenco_sq[desc_squadra_1]
    </font>
    </td>
    <td bgcolor='#CDD1E1' width='2'></td>
    <td>
    <font size='1' face='Verdana, Courier New, Courier, monospace'>
    <b>$elenco_sq[punteggio]</b>
    </font>
    <td bgcolor='#CDD1E1' width='2'></td>
    <td bgcolor='#CDD1E1' align='left' width='2'>
    <input type='text' name='t_punti' class='text'>
    </td>
    <td bgcolor='#CDD1E1' width='2'></td>
    <td>
    <a href='update_elenco.php?id_squadra=$elenco_sq[id_squadra_1]'>
    <img src='images/t_modifica.gif' border='0'></a>
    </td>
    <td bgcolor='#CDD1E1' width='2'></td>
    <td>
    <input type='text' name='t_id_squadra' class='text' value='$elenco_sq[id_squadra_1]' />
    </td>
    </tr>
    <tr>
    <td bgcolor='#CDD1E1' height='2' colspan='8'></td>
    </tr>";
    }
    ?>
    </table>
    [/PHP]
    pagina update_elenco.php
    [PHP]
    require '../connessione/Config.php';
    require '../connessione/Connect.php';
    $id_squadra=(isset($_GET['t_id_squadra']))? $_GET['t_id_squadra']:0;
    $id_squadra=trim($_POST['t_id_squadra']);
    $punti=trim($_POST['t_punti']);
    if(get_magic_quotes_gpc())
    {
    $punti=stripslashes($punti);
    }
    $punti=htmlspecialchars($punti);
    $punti=mysql_real_escape_string($punti);
    $query_1=mysql_query("UPDATE tabella_squadra_1 SET
    punteggio='$punti'
    WHERE id_squadra_1='$id_squadra'")or die("errore nella query;".mysql_error());
    mysql_close();
    [/PHP]
    La mia domanda è questa
    E' giusto passare i dati in questo modo?
    Dovrei usare il tag form, ma poi come faccio a passargli l'id_squadra?
    Grazie in anticipo dell'aiuto


  • User

    In alternativa a come stai facendo puoi utilizzare il tag form passando l'id_squadra come campo hidden.


  • User Attivo

    Ciao deramer, premetto che il codice sopra non funziona, non riesco a modificare i campi, inserendo il tag <form> come farei a passare un id dinamico. Se noti io il campo id gia lo prelevo
    [PHP]
    <td>
    <input type='text' name='t_id_squadra' class='text' value='$elenco_sq[id_squadra_1]' />
    </td>

    [/PHP]

    Ciao e grazie


  • ModSenior

    Ciao danny1975,

    [php]
    $id_squadra=(isset($_GET['t_id_squadra']))? $_GET['t_id_squadra']:0;
    $id_squadra=trim($_POST['t_id_squadra']);
    [/php]

    La variabile la passi GET o POST?


  • User Attivo

    Ciao e grazie, ti spiego cosa vorrei fare
    Ho una classifica composta da 10 nomi nel db, utilizzo un ciclo while e la faccio stampare, quindi mi trovo la descrizione, il punteggio, poi una text vuota dove inserirò il nuovo punteggio ed un pulsante, in più in un'altra text mi sono fatto stampare l'id, adesso ho modificato un po le cose e sto lavorando così
    [php]
    <form name="invia" method="post" action="update_classifica.php">
    <table border="1" cellspacing="0" cellpadding="0">
    <?php
    require '../connessione/Config.php';
    require '../connessione/Connect.php';
    $query_1=mysql_query("SELECT * FROM tabella_squadra_1 ORDER BY punteggio DESC")
    or die("errore nella query;".mysql_error());
    while($elenco_sq=mysql_fetch_assoc($query_1))
    {
    echo"
    <tr>
    <td width='2'></td>
    <td align='left'>
    <font size='1' face='Verdana, Courier New, Courier, monospace'>
    $elenco_sq[desc_squadra_1]
    </font>
    </td>
    <td bgcolor='#CDD1E1' width='2'></td>
    <td>
    <font size='1' face='Verdana, Courier New, Courier, monospace'>
    <b>$elenco_sq[punteggio]</b>
    </font>
    <td bgcolor='#CDD1E1' width='2'></td>
    <td bgcolor='#CDD1E1' align='left' width='2'>
    <input type='text' name='t_punti' class='text' />
    </td>
    <td bgcolor='#CDD1E1' width='2'></td>
    <td>
    <input type='image' value='mod_giocata' img src='images/t_modifica_reg.gif' />
    </td>
    <td bgcolor='#CDD1E1' width='2'></td>
    <td>
    <input type='text' name='t_id_squadra' class='text' value=" . stripslashes($elenco_sq['id_squadra_1']) . ">
    </td>
    </tr>
    <tr>
    <td bgcolor='#CDD1E1' height='2' colspan='8'></td>
    </tr>";
    }
    ?>
    </table>
    </form>
    [/php]
    la pagina update è così
    [php]
    require '../connessione/Config.php';
    require '../connessione/Connect.php';
    $id_squadra=(isset($_GET['t_id_squadra']))? $_GET['t_id_squadra']:0;
    $id_squadra=trim($_POST['t_id_squadra']);
    $punti=trim($_POST['t_punti']);
    if(get_magic_quotes_gpc())
    {
    $punti=stripslashes($punti);
    }
    $punti=htmlspecialchars($punti);
    $punti=mysql_real_escape_string($punti);
    echo $query_1=mysql_query("UPDATE tabella_squadra_1 SET
    punteggio='$punti'
    WHERE id_squadra_1='$id_squadra'")or die("errore nella query;".mysql_error());
    [/php]
    adesso non so come passargli id

    Ciao:x


  • ModSenior

    Devi inserire un form per ogni riga, ed inserire l'id come campo hidden o lo passi come get nell'action.


  • User Attivo

    Sto facendo delle ricerche su come viene utilizzato l'id in un form, ma poi come faccio a mettere un form per ogni riga, io faccio un ciclo, non riesco a capire
    Il problema sta nel fatto che io quando faccio fare delle modifiche creo un'altra pagina e quindi tutto va bene, adesso il problema e che tutto avviene nella stessa pagina
    Ciao


  • ModSenior

    Metti l'echo del tag form nel ciclo...


  • User Attivo

    Ciao, con tutto il rispetto, non ci arrivo, in quanto sta cosa non lo mai fatta e mai lo vista, dalle mie ricerche sono arrivato a questo
    [PHP]
    form" action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
    [/PHP]

    M potrebbe servire?
    altrimenti penso di passargli la nottata:bho:


  • ModSenior

    Il problema è di sapere come funziona un form, per cui php non avrebbe nulla a che fare con ciò realmente.
    In ogni caso se tu hai 3 record, e vuoi consentire la modificare di questi record nella stessa pagina devi fare una cosa del tipo:

    
    <form method="post" action="pagina.php">
    <input name="id" value="1" />
    <input name="nome" value="Team 1" />
    <input name="punti" />
    <input type="submit" />
    </form>
    <form method="post" action="pagina.php">
    <input name="id" value="2" />
    <input name="nome" value="Team 2" />
    <input name="punti" />
    <input type="submit" />
    </form>
    
    
    <form method="post" action="pagina.php">
    <input name="id" value="3" />
    <input name="nome" value="Team 3" />
    <input name="punti" />
    <input type="submit" />
    </form>
    
    

    In questo modo i 3 form sono del tutto indipendenti tra loro, e l'id lo ricavi tramite post insieme agli altri campi interessati per quell' id.


  • User Attivo

    Ciao e grazie, chi ci sarebbe arrivato da solo, non pensavo nenche che un form potesse essere inserito all'interno di un ciclo
    aaaa come sono contento, ti posto il codice, anche perchè potrebbe servire
    [PHP]
    while($elenco_sq=mysql_fetch_assoc($query_1))
    {
    echo"
    <form name='invia' method='post' action='update_classifica.php'>
    <tr>
    <td width='2'></td>
    <td align='left'>
    <font size='1' face='Verdana, Courier New, Courier, monospace'>
    $elenco_sq[desc_squadra_1]
    </font>
    </td>
    <td bgcolor='#CDD1E1' width='2'></td>
    <td>
    <font size='1' face='Verdana, Courier New, Courier, monospace'>
    <b>$elenco_sq[punteggio]</b>
    </font>
    <td bgcolor='#CDD1E1' width='2'></td>
    <td bgcolor='#CDD1E1' align='left' width='2'>
    <input type='text' name='t_punti' class='text' />
    </td>
    <td bgcolor='#CDD1E1' width='2'></td>
    <td>
    <input type='image' value='mod_giocata' img src='images/t_modifica.gif' />
    </td>
    <td bgcolor='#CDD1E1' width='2'></td>
    <td>
    <input type='text' name='t_id_squadra' class='text' value=" . stripslashes($elenco_sq['id_squadra_1']) . ">
    </td>
    </tr>
    <tr>
    <td bgcolor='#CDD1E1' height='2' colspan='8'></td>
    </tr>
    </form>";
    }
    [/PHP]
    Grazie di nuovo
    Un saluto da danny