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

Discussione: Form per modifica dati

  1. #1
    Utente di HTML.it L'avatar di ISE
    Registrato dal
    Sep 2003
    Messaggi
    1,314

    Form per modifica dati

    Vorrei creare un piccolo form che mi permetta di modificare i dati presenti sul DB
    Ho operato in questo modo:
    codice:
    <?php
    //Creiamo una variabile per connetterci al DB
    $connessione = mysql_connect ('localhost','root','xxx');
    
    //Selezioniamo il database e la connessione da usare
    mysql_select_db('primodatabase',$connessione);
    
    //Mi collego alla tabella
    $conn = mysql_query("select * from esercizio");
    
    //Creo le variabili per richiamare i dati presenti nei record
    	$nome = 	 mysql_result($conn, "nome");
    	$cognome = 	 mysql_result($conn, "cognome");
    	$telefono =  mysql_result($conn, "telefono");
    	$email = 	 mysql_result($conn, "email");
    	$indirizzo = mysql_result($conn, "indirizzo");
    
    ?>
    <form id="form1" name="form1" method="post" action="modifica.php">
      
    
    
        Nome: 
        <input name="nome" type="text" id="nome" value="<?php echo("$nome"); ?>" />
      </p>
      
    
    
        Cognome: 
        <input name="cognome" type="text" id="cognome" value="<?php echo("$cognome"); ?>" />
      </p>
      
    
    
        Telefono: 
        <input name="telefono" type="text" id="telefono" value="<?php echo("$telefono"); ?>" />
      </p>
      
    
    
        email: 
          <input name="email" type="text" id="email" value="<?php echo("$email"); ?>"/>
      </p>
      
    
    
        indirizzo: 
          <input name="indirizzo" type="text" id="indirizzo" value="<?php echo("$indirizzo"); ?>"/>
    </p>
      
    
    
        <input type="submit" name="Submit" value="Invia"/>
      </p>
    </form>
    <?php
    //Chiudo la connessione al DB
    mysql_close();
    ?>
    utilizzando questo codice mi stampa su tutti i campi del form sempre la stessa voce, come mai?
    Qual'è l'errore?

  2. #2
    Ciao
    mysql_result() recupera un solo campo di un solo record alla volta.
    Prova invece così:
    Codice PHP:
    $conn mysql_query("select * from esercizio");
    $risultati mysql_fetch_array($conn); 
    per poi accedere all'array creato con :

    codice:
    <input name="nome" type="text" id="nome" value="<?php echo $risultati["nome"]; ?>" />
    <input name="cognome" type="text" id="cognome" value="<?php echo $risultati["cognome"]; ?>" />
    ..........
    etc etc


  3. #3
    Utente di HTML.it L'avatar di ISE
    Registrato dal
    Sep 2003
    Messaggi
    1,314
    Perfetto non sapevo che result recuperasse un solo record alla volta.

    Grazie!!!!

  4. #4
    Utente di HTML.it L'avatar di ISE
    Registrato dal
    Sep 2003
    Messaggi
    1,314
    Scusa ma mi da questo tipo di errore in una pagina
    codice:
    Parse error: syntax error, unexpected $end in C:\wamp\www\database\formmodifica.php on line 38
    Alla linea 38 c'è </html>

    E' un problema di php o cosa?Mi da errore e non mi fa visualizzare la pagina.

  5. #5
    E' un problema di Php..controlla nel tuo codice che non vi sia qualche errore ,una virgola di troppo o al posto sbagliato e cose simili..

  6. #6
    Utente di HTML.it L'avatar di ISE
    Registrato dal
    Sep 2003
    Messaggi
    1,314
    Si, in effetti avevo dimentico la chiusura di un else.....niente graffa=errore!!!
    Visto che sto imparando, ho deciso di complicarmi la vita.
    Vorrei fare in modo che dalla pagina in cui vengono stampati tutti i record, attraverso un check si potesse modificare solo quel record ma non riesco a passare la variabile ID per prendere solo questo record.
    Se ti posto il codice puoi dargli uno sguardo?

  7. #7
    Utente di HTML.it L'avatar di ISE
    Registrato dal
    Sep 2003
    Messaggi
    1,314
    La pagina che dovrebbe farmi modificare i valori del db è:
    codice:
    <?php
    $box=$_POST ['selezione'];
    
    if($box==true)
    {
    //Creiamo una variabile per connetterci al DB
    $connessione = mysql_connect ('localhost','root','ermesweb');
    
    //Selezioniamo il database e la connessione da usare
    mysql_select_db('primodatabase',$connessione);
    
    //Mi collego alla tabella
    $conn = mysql_query("select * from esercizio where id=box");
    
    $risultati = mysql_result($conn, $box, "nome");
    
    
    echo("<form method=post action=scrittura.php>
    
    ");
    echo("Nome: <input name=nuovonome type=text id=nuovonome value=$risultati 
    
    ");
    echo("Cognome:<input name=nuovocognome type=text id=nuovocognome value=$vecchiocognome>
    
    ");
    echo("Telefono:<input name=nuovotelefono type=text id=nuovotelefono value=$vcchiotelefono>
    
    ");
    echo("Email:<input name=nuovoemail type=text id=nuovoemail value=$vecchioemail>
    
    ");
    echo("Indirizzo:<input name=nuovoindirizzo type=text id=nuovoindirizzo value=$vecchioindirizzo>");
    echo("<input type=submit name=Submit value=Invia>
    
    ");
    echo("</form>");
    
    mysql_close($connessione);
    }
    else
    {
    	echo("non è stato selezionato nessun record da modificare!");
    }
    ?>
    ma mi restituisce sempre questo errore:
    codice:
    Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\wamp\www\database\formmodifica.php on line 20
    Non capisco il perchè, sto cercando di recuperare un campo alla volta e farlo scrivere nel campo text del form......

  8. #8
    Abbi pazienza, fammi capire..
    Tu hai una pagina in cui stampi con un ciclo dei valori prelevati da un database e vorresti che ogni valore sia un link o abbia un link a un'altra pagina contenente il form di modifica di quel determinato record?
    Ho capito bene?

  9. #9
    Utente di HTML.it L'avatar di ISE
    Registrato dal
    Sep 2003
    Messaggi
    1,314
    Si hai capito benissimo.

    Ho una pagina nella quale con un ciclo stampo tutti i record presenti nel mio DB.
    Ad ogni voce ho fatto corrispondere un radiobutton che, passando una variabile, dovrebbe mandarmi ad una seconda pagina dove è presente un form che stampi a video i dati della voce selezionata in precedenza. Una volta modificati invio il tutto ad una terza pagina che dovrebbe fare UPDATE dei dati del DB.

  10. #10
    Il discorso vale anche per questo caso.Una volta recuperato il valore con $_POST dell'ID esegui la tua query con la clausola where e l'ID per poi andare a creare un array con mysql_fetch_array()
    Accedi sempre ai vari elementi con $valore["elemento"] come nel mio esempio precedente..

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.