Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Modifica dati database

  1. #1

    Modifica dati database

    Ciao a tutti,

    Ho una pagina dove vengono visualizzati dei campi estratti da un database, mi servirebbe aggiungere una checkbox per ogni riga che se viene selezionata va a modificare il campo "stato" inserendo un valore fisso (convalidato).....ovviamente il tutto dopo l'invio del form.

    Non so se sono stato chiaro


    Grazie 100000

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    realizza il form inserendo in ogni riga mostrata il checkbox... potrebbe avere name uguale a status[id] dove id č l'id del record, per cui l'html generato avrā ad esempio:

    codice:
    ...<input type="checkbox" name="status[1]" ... /> ...
    ...<input type="checkbox" name="status[2]" ... /> ...
    ...quando recuperi i dati dal form (in post) leggi $_POST['status'] (stampa la variabile a video cosė vedi com'č composta)...

  3. #3
    Grazie per l'aiuto eiyen, ma non riesco ancora a venirne fuori

    ti posto un pezzo di codice

    file di estrazione dati (ovviamente tutto questo č all'interno del tag "Form" e l'estrazione dei dati la va secondo la condizione "WHERE Stato ='Da Convalidare'")
    -----------------------------------------------------------------------------------
    <form action="ins1.php"name="form"method="POST"enctype=" multipart/form-data">
    <table border="1" cellspacing="1" cellpadding="1">
    <tr>
    <th><divalign="center"><fontface="Arial,Helvetica, sansserif">convalida</font></div></th>
    <th><div align="center"><font face="Arial, Helvetica, sans-serif">ID</font></div></th>
    <th><div align="center"><font face="Arial, Helvetica, sans-serif">Nome</font></div></th>
    <th><divalign="center"><fontface="Arial,Helvetica, sansserif">Cognome</font></div></th>
    <th><div align="center"><font face="Arial, Helvetica, sans-serif">Stato</font></div></th>

    </tr>
    <?php

    while($results = mysql_fetch_array($query_limit))

    {
    ?>
    <tr>
    <td>
    <input type="checkbox" name="convalida" id="convalida" value="Convalidato" /></td>
    <td><font face="Arial, Helvetica, sans-serif">
    <div align="center"name="CI"><?php print nl2br($results['ID']);?></div></td>
    <td><font face="Arial, Helvetica, sans-serif">
    <div align="center"><?php echo nl2br($results['nome']);?></div></td>
    <td><font face="Arial, Helvetica, sans-serif">
    <div align="center"><?php echo nl2br( $results['cognome']);?></div></td>
    <td><font face="Arial, Helvetica, sans-serif">
    <div align="left"><?php echo nl2br($results['Stato'])?></div></td>
    </tr>

    ------------------------------------------------------------------------------------
    File aggiornamento database
    ------------------------------------------------------------------------------------
    $descrizione = $_POST ['convalida'];
    date_default_timezone_set('Europe/Rome');
    $descrizione1 =date("d/m/y_H:i:s");
    $descrizione2 = $_SESSION['login'][1];
    $connessione = mysql_connect("localhost","root","")
    or die("Connessione non riuscita: " . mysql_error());
    print ("Connesso con successo");

    mysql_select_db("fuori_s", $connessione) or die("Errore nella selezione del database");


    $query = "UPDATE segnalazioni SET Stato='$descrizione', data_convalida='$descrizione1', convalidato_da='$descrizione2'WHERE Stato ='Da Convalidare'";
    if ($query==FALSE) die("errore nella composizione della query". mysql_error());

    $result=mysql_query($query,$connessione);
    if ($result==FALSE) die("Errore inserimento articolo");
    echo " Dati inseriti con successo: ".$descrizione3. "

    ".$descrizione2;

    mysql_close($connessione);
    ?>
    --------------------------------------------------------------------------------------

    al momento basta che io selezioni una qualsiasi delle checkbox e lui mi convalida tutto!

    Grazie in anticipo

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ci sono degli errori formali, prova a cambiare <input type="checkbox" name="convalida" id="convalida" value="Convalidato" /> con:

    Codice PHP:
    ...
    <input type="checkbox" name="convalida[<?php print $results['ID']; ?>]" id="convalida<?php print $results['ID']; ?>" value="Convalidato" />
    ...
    (nl2br nella stampa del campo ID non penso abbia molto senso)

    poi va cambiata la gestione in php, perchč non verifichi cosa č stato convalidato in questo momento, quindi avrai qualcosa come:

    Codice PHP:
    $conv $_POST['convalida'];
    foreach (
    $conv as $id => $ref) {
      
    // ... stampati i valori per vedere come il form gestisce questo dato...
    }; 

  5. #5
    Diciamo che abbiamo fatto un passo avanti....
    Adesso mi porta il dato "Convalidato" nella colonna stato, ma non lo fa per i soli campi fleggati ma besė per tutti quelli che prima avevano "Da Convalitare".

    Il problema puo essere nella query di UPDATE?
    $query = "UPDATE segnalazioni SET Stato='$ref', data_convalida='$descrizione1', convalidato_da='$descrizione2'WHERE Stato ='Da Convalidare'";


    Scusami ma sono ancora alle prime armi

    Grazieeeeeeeeeeeee

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    certamente devi fare un UPDATE multiplo... non uno singolo... puoi fare un ciclo con vari update, uno per ogni flag (creando ogni volta la query corrispondente)

  7. #7
    Come non detto

    dovevo semplicemente inserire il tutto nel ciclo foreach


    Grazie ancora e alla prossima

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Ok, ciao!

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.