Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2016
    Messaggi
    3

    problema input e echo più linee di una tabella mysql

    problema input e echo più linee di una tabella mysql

    Buona sera, mi scuso per il disturbo, premetto che sono inesperto nel php ma ho creato insieme all'aiuto di due amici un gestionale per il mio centro addestramento. Funziona tutto a dovere, un sito semplice semplice che non deve fare grandi cose, ma c'è un problema che sembra molto difficile da sormontare.
    Ho nel mio database mysql una tabella chiamata
    attivita e questa tabella ha 4 colonne

    id | IDCane | attivita | data

    io dovrei fare un modo che mi compaiano tutte le attivita e data con lo stesso IDCane e che siano editabili.
    Ad esempio
    Attività: [attività già presente nel database ma editabile]
    Data: [data già inserita ma editabile]
    Attività: .....
    Data: ....
    Attività:...
    Data:....
    In pratica tutte le attività per quello specifico IDCane che può essere una o che possono essere anche 200

    Incollo qui il codice che però mi stampa e rende editabile solo la prima attività e la prima data di IDCane

    <?php session_start(); ?>

    <?
    if ((!isset($_SESSION['login'])))
    {
    ?>
    <script type="text/javascript">location.href="index.php"</script>
    <?
    }
    //includo la configurazione del database
    include("connection.php");
    ?>

    <?


    // crea il form di modifica record
    // dal momento che questo modulo è utilizzato più volte in questo file, ho fatto una funzione facilmente riutilizzabile
    function renderForm($IDCane, $attivita, $data, $error)
    {
    ?>
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
    <link rel="stylesheet" type="text/css" href="css/style.css" />
    </head>
    <body>
    <br /><br />
    <center>
    <div id="boxAdmin">
    <br />
    <img src="image/logo.png" width="100px" />
    <br /><br /><br /><br />
    <fieldset style="width:800px; border: 0;">
    <table border="0" width="800px">
    <tr>
    <td align="left"><a href="admin.php">homepage</a> > lista clienti</a></td>
    <td align="right"><a href="admin.php">Indietro</a></td>
    </tr>
    </table>
    <br /><br /><br />
    <table align="left" border="0" width="800px" cellpadding="0px" cellspacing="0px">
    <?
    // se ci sono errori, vengono visualizzati
    if ($error != '')
    {
    echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
    }
    ?>

    <form action="" method="post">
    <input type="hidden" name="IDCane" value="<?php echo $IDCane; ?>"/>
    <div>
    <p><strong>IDCane:</strong> <?php echo $IDCane; ?></p>
    <strong>attivita: </strong> <input type="text" name="attivita" value="<?php echo $attivita; ?>"/><br/> <br/>
    <strong>Data: </strong> <input type="text" name="attivita" value="<?php echo $data; ?>"/><br/><br/>

    <input type="submit" name="submit" value="Invia">
    </div>
    </form>
    </body>
    </html>
    <?
    }


    // verifica se il modulo è stato inviato. Se lo è, inizia a elaborare il modulo e lo salva nel database
    if (isset($_POST['submit']))
    {
    // verificare che il valore di 'IDCane' sia un intero valido prima di ottenere i dati del modulo
    if (is_numeric($_POST['IDCane']))
    {
    // ottenere i dati del modulo e verific che siano valIDCanei
    $IDCane = $_POST['IDCane'];
    $attivita = mysql_real_escape_string(htmlspecialchars($_POST['attivita']));
    $data = mysql_real_escape_string(htmlspecialchars($_POST['data']));


    {
    // salva i dati nel database
    mysql_query("UPDATE attivita SET IDCane='$IDCane', attivita='$attivita', data='$data' WHERE IDCane='$IDCane'")
    or die(mysql_error());

    // una volta salvato, si viene reindirizzati alla pagina di visualizzazione
    header("Location: lista-cliente.php");
    }
    }
    else
    {
    // Se l' 'IDCane' non è valido, viene visualizzato un errore
    echo 'Error!';
    }
    }
    else
    // se il kodulo non è stato inviato, ottengo i dati dal db e visualizzare il modulo
    {

    // ottiene il valore 'IDCane' dall'URL (se esiste), assicurandosi che sia valIDCaneo (controlla che sia numerico/maggiore di 0)
    if (isset($_GET['IDCane']) && is_numeric($_GET['IDCane']) && $_GET['IDCane'] > 0)
    {
    // query db
    $IDCane = $_GET['IDCane'];
    $result = mysql_query("SELECT * FROM attivita WHERE IDCane=$IDCane")
    or die(mysql_error());
    $row = mysql_fetch_array($result);

    // verifica che l' 'ID' corrisponda a una riga nel database
    if($row)
    {

    // ottiene i dati dal db
    $IDCane = $row['IDCane'];
    $attivita = $row['attivita'];
    $data = $row['data'];


    // visualizza il modulo
    renderForm($IDCane, $attivita, $data);
    }
    else
    // se non corrisponde visualizza il risultato
    {
    echo "Nessun risultato!";
    }
    }
    else
    // se l' 'IDCane' nell'URL non è valido, o se non vi è alcun valore di 'IDCane', visualizza un errore
    {
    echo 'Errore!';
    }
    }
    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2016
    Messaggi
    3
    modatt.jpg
    allego immagine di ciò che genere ciò che ho creato ma che manca di altre 4 attività e rispettive 4 date.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2016
    Messaggi
    3
    modatt.jpg
    allego immagine di ciò che genere ciò che ho creato ma che manca di altre 4 attività e rispettive 4 date.
    In più se vado a modificare il primo campo, e schiaccio invia (per confermare) nel database mi cancella tutte le attività di quell'IDCane nel caso specifico IDCane 33 e mi sposta tutte le date su attività.
    Spero di essere stato chiaro.

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.