[PHP] Aggiornare i dati dei record selezionati

Discussione in 'PHP' iniziata da Max61, 13 Ottobre 2017.

  1. Max61

    Max61 Utente Attivo

    Registrato:
    2 Marzo 2014
    Messaggi:
    394
    Mi Piace Ricevuti:
    2
    Punteggio:
    18
    Salve, come al solito sono di fronte ad un problema che non riesco a risolvere da solo...
    mi spiego: ho una tabella che visualizzo su pc e nell'ultima colonna ho la possibilità di selezionare l'id da modificare o cancellare, la cancellazione l'ho fatta ma la modifica non mi riesce, nel senso che non mi riesce far partire la query dal pulsante che sta nella pagina dove visualizzo i dati da modificare di cui allego il codice
    PHP:
    <?php
    require 'Connessione.php';

    if(isset(
    $_POST['submit']) && (trim($_POST['submit']) == "Elimina selezionati"))

    foreach (
    $_POST['record'] as $id)
    {

       
    mysql_query("DELETE FROM tblcalcoloeta WHERE id = $id");

    }
    // una volta eliminPP, si viene reindirizzati alla pagina di visualizzazione
    header("Location: Seleziona_RecordRilevato.php");

    } elseif (isset(
    $_POST['submit']) && (trim($_POST['submit']) == "Modifica selezionati"))
    {
    echo 
    "<form action=\"esegui_query.php?id\" method=\"post\" name=\"modifica\" id=\"form_modifica\">";

    $record $_POST['record'];
    foreach (
    $record as $id)
    {
    $sqlquery "SELECT * FROM tblcalcoloeta WHERE id = $id";
    $result mysql_query($sqlquery);
    $number mysql_num_rows($result);
    $i 0;

    $id mysql_result($result,$i,"id");
    $datanascita mysql_result($result,$i,"datanascita");
    $datamorte mysql_result($result,$i,"datamorte");
    $statocivile mysql_result($result,$i,"statocivile");
    $comuneresidenza mysql_result($result,$i,"comuneresidenza");
    $mesemorte mysql_result($result,$i,"mesemorte");
    $annomorte mysql_result($result,$i,"annomorte");
    $mesecalcolo mysql_result($result,$i,"mesecalcolo");
    $atto mysql_result($result,$i,"atto");
    $parte mysql_result($result,$i,"parte");
    $serie mysql_result($result,$i,"serie");
    $sesso mysql_result($result,$i,"sesso");
    $annocalcolo mysql_result($result,$i,"annocalcolo");
    $eta mysql_result($result,$i,"eta");
    $fascia_eta mysql_result($result,$i,"fascia_eta");

    echo 
    "<font color=\"red\"><b>ID:</b></font><b> $id </b><br>
    <font color=\"red\"><b>Data nascita</b></font> (<b><font color=\"blue\"> \"</b>
    $datanascita<b>\"</b>)<b>:</b> <input style=\"width: 100px;\" type=\"text\" name=\"datanascita\" value=\"$datanascita\"> <br>
    <font color=\"red\"><b>Data morte</b></font> (<b> \"</b>
    $datamorte<b>\"</b>)<b>:</b> <input style=\"width: 100px;\" type=\"text\" name=\"datamorte\" value=\"$datamorte\"> <br>
    <font color=\"red\"><b>Stato civile</b></font> (<b> \"</b>
    $statocivile<b>\"</b>)<b>:</b> <input style=\"width: 100px;\" type=\"text\" name=\"statocivile\" value=\"$statocivile\"> <br>
    <font color=\"red\"><b>Comune morte</b></font> (<b> \"</b>
    $comuneresidenza<b>\"</b>)<b>:</b> <input style=\"width: 100px;\" type=\"text\" name=\"comuneresidenza\" value=\"$comuneresidenza\"> <br>
    <font color=\"red\"><b>mese di morte</b></font> (<b> \"</b>
    $mesemorte<b>\"</b>)<b>:</b> <input style=\"width: 100px;\" type=\"text\" name=\"mesemorte\" value=\"$mesemorte\"> <br>
    <font color=\"red\"><b>Anno di morte</b></font> (<b> \"</b>
    $annomorte<b>\"</b>)<b>:</b> <input style=\"width: 100px;\" type=\"text\" name=\"input_attivo\" value=\"$annomorte\"> <br>
    <font color=\"red\"><b>Anno calcolo</b></font> (<b> \"</b>
    $annocalcolo<b>\"</b>)<b>:</b> <input style=\"width: 100px;\" type=\"text\" name=\"input_attivo\" value=\"$annocalcolo\"> <br>
    <font color=\"red\"><b>Sesso</b></font> (<b> \"</b>
    $sesso<b>\"</b>)<b>:</b> <input style=\"width: 100px;\" type=\"text\" name=\"input_attivo\" value=\"$sesso\"> <br>
    <font color=\"red\"><b>Eta</b></font> (<b> \"</b>
    $eta<b>\"</b>)<b>:</b> <input style=\"width: 100px;\" type=\"text\" name=\"input_attivo\" value=\"$eta\"> <br>
    <font color=\"red\"><b>Fascia Eta</b></font> (<b> \"</b>
    $fascia_eta<b>\"</b>)<b>:</b> <input style=\"width: 100px;\" type=\"text\" name=\"input_attivo\" value=\"$fascia_eta\"> <br>
    <font color=\"red\"><b>Atto</b></font> (<b> \"</b>
    $atto<b>\"</b>)<b>:</b> <input style=\"width: 100px;\" type=\"text\" name=\"input_attivo\" value=\"$atto\"> <br>
    <font color=\"red\"><b>Parte</b></font> (<b> \"</b>
    $parte<b>\"</b>)<b>:</b> <input style=\"width: 100px;\" type=\"text\" name=\"input_attivo\" value=\"$parte\"> <br>
    <font color=\"red\"><b>Serie</b></font> (<b> \"</b>
    $serie<b>\"</b>)<b>:</b> <input style=\"width: 100px;\" type=\"text\" name=\"input_attivo\" value=\"$serie\"> <br>
    <font color=\"red\"><b>Sesso</b></font> (<b> \"</b>
    $sesso<b>\"</b>)<b>:</b> <input style=\"width: 100px;\" type=\"text\" name=\"input_attivo\" value=\"$sesso\"> <br>
    <hr> <br>"
    ;
    }
    echo 
    "<input type=\"submit\" value=\"invia\">";
    // salva i dati nel database

    require 'Connessione.php';

    $query "UPDATE tblcalcoloeta SET datanascita='$datanascita', datamorte='$datamorte', statocivile='$statocivile', comuneresidenza='$comuneresidenza', sesso='$sesso', mesecalcolo='$mesecalcolo', annocalcolo='$annocalcolo', eta='$eta', fascia_eta='$fascia_eta', mesemorte='$mesemorte', annomorte='$annomorte', atto='$atto', parte='$parte', serie='$serie' WHERE id='$id'"
    or die(mysql_error());

     
    // invio la query
    $result mysql_query($query);

    // controllo l'esito
    if (!$result) {
        die(
    "Errore nella query $query: " mysql_error());
    }

    // chiudo la connessione a MySQL
    mysql_close();

    echo 
    'Query eseguita correttamente';
    ?>
    &nbsp;&nbsp;<input type="submit" name="submit" value="Salva modifiche">
    &nbsp;&nbsp;
    <input style="color:red" type="button" value="   Back   " onclick="history.go(-1);return true;">
    <?php   
    "</form>";
    }
    // una volta eliminati, si viene reindirizzati alla pagina di visualizzazione
    //header("Location: Edit_Dati.php");
    ?>
    Grazie per l'aiuto
    Max61
     
  2. Sevenjeak

    Sevenjeak Utente Attivo

    Registrato:
    27 Novembre 2012
    Messaggi:
    77
    Mi Piace Ricevuti:
    2
    Punteggio:
    8
    Sesso:
    Maschio
    Home Page:
    Sicuro di rispettare i tipi di dato in tabella, perché l'id lo metti tra apici? ( WHERE id = '$id' ) $id non é un tipo intero? Se si gli interi non vanno tra apici.

    Se noti, infatti, nella query di selezione l'id non lo hai messo tra apici.

    In'oltre, non é un'errore, ma perché includi due volte il file connessione.php? Ovvero lo includi si al'inizio della pagina che prima della quary di aggiornamento.

    P.S.: Non é un'errore ma é sole per informarti ma, le funzioni mysql_*, come puo vedere anche dal manuale php saranno presto deplecate e sostituite dalle funzione mysqli_*
     
    Ultima modifica: 13 Ottobre 2017
  3. Max61

    Max61 Utente Attivo

    Registrato:
    2 Marzo 2014
    Messaggi:
    394
    Mi Piace Ricevuti:
    2
    Punteggio:
    18
    Si, è un id autoincrement, ho messo più volte il richiamo alla connessione nella speranza che lanciasse la quarta update...
    Il vero problema è quello, non riesco ad aggiornare i dati.
    Grazie
    Max61
     
  4. Sevenjeak

    Sevenjeak Utente Attivo

    Registrato:
    27 Novembre 2012
    Messaggi:
    77
    Mi Piace Ricevuti:
    2
    Punteggio:
    8
    Sesso:
    Maschio
    Home Page:
    Se dopo aver tolto gli apice dal'id non dovessi funzionare, invece di richiamare singoli campi tramite mysql_resul() usa mysql_fetch_array(), cosi da produrre un'array contenente il valore di ogni campo ( evitando tutti quei mysql_result() ).

    Prima di eseguire la query di aggiornamento, passa tutto dentrl la funzione var_dump() per essere sicuri su tipo di variabile che stai usando
     
Sto caricando...

Condividi questa Pagina