Newsgroup: it.comp.www.php
Titolo: Passare i dati da un db ad una form

Riprendo un post di qualche giorno fa. Premetto che sono un newbie.
Ho analizzato molte guide e molti tutorial da svariati siti. Tutti 
spiegano come si fa a passare i dati da un form ad un database, ma non 
il contrario. 
Prendo come esempio il mio caso, riferendomi ad un solo campo della 
tabella.
In un primo form ho creato una struttura di questo tipo:
<input name="descrizione" type="text" size="80" maxlength="50">
ossia creo un tag dove posso scrivere dentro e successivamente tramite 
submit la trasferisco ad un database (MySQL) con la funzione INSERT INTO 
....
E fin qui ok.
Adesso dovrei modificare il record precedentemente inserito. Ok, so che 
esiste la funzione UPDATE per scrivere nel record, riesco a posizionarmi 
correttamente sul record da modificare, ma la domanda è come faccio a 
far comparire il form di prima con i valori che prelevo dal database?
ho provato con 
<input name="descrizione" type="text" value=$descm size="80" 
maxlength="50">
o facendo fare questo passaggio in un mini script con il comando 
echo "<input name="descrizione" type="text" value=$descm size="80" 
maxlength="50">";
ma nulla da fare.
Ringrazio anticipatamente per i suggerimenti.
Chicchi

 dal database?
Ti sei perso in un bicchied d'acqua
Esegui una query di selezione (SELECT, estrappoli i valori del record
che vuoi modificare e li utilizzi per costruire la form e i tag
necessari.
Ricordati di passare come campo di tipo hidden anche l'ID del record in
modo da avere una clausola WHERE valida ed univoca (UPDATE ... WHERE
IDTabella = $IDPassato).
Saluti.
-- 
I'am what I'am, I do what I can
Sei un newbie? Leggi questo 
http://tinyurl.com/2q3o9

 
Forse non mi sono chiarito bene e di seguito posto un pezzo del mio 
script.
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form name="form1" method="post" action="">
<?php
//Connessione al database
$utente="xxxxxxx";
$password="xxxxxxx";
$database="xxxxxxx";
$sistema="localhost";
//connessione al Server
$conn=mysql_connect($sistema,$utente,$password) or die ("Impossibile 
connettersi al Server");
//connessione al database
mysql_select_db($database,$conn) or die ("Impossibile connettersi al 
database");
//eseguo la query. Per comodità filtro solo il primo articolo
$sql="SELECT * FROM gruppo_articoli WHERE id=1";
$risultato=mysql_query($sql,$conn);
//porto il risultato nell'array associativo
$row=mysql_fetch_array($risultato);
//a questo punto trasferisco dvrei trasferire alcuni campi (nel caso mi 
limito ad uno solo) dell'array associativo nei campi di una form che 
andro' a visualizzare
//provo anche a trasferire il valore in una variabil
$descrizionem=$row[titolo];
//il comando che provo a lanciare è il seguente
echo '<input name="titolo" type="text" id="titolo" 
value="$descrizionem" size="120" maxlength="80">';
//ma mi stampa $descrizionem nel campo di testo
echo '<br>';
//con un print classico ottengo il risultato
print $descrizionem;
?>
</form>
</body>
</html>
Poi ripassare i dati non è un problema. Il problema è solo quello di 
visualizzare i dati da modificare nella form. Ma non so come si fa.
Sarei grato a tutti per un suggerimento.
Chicchi

 value="$descrizionem" size="120" maxlength="80">';
prova cosě
echo "<input name=\"titolo\" type=\"text\" id=\"titolo\"
value=\"$descrizionem\" size=\"120\" maxlength=\"80\">';
dovrrebbe andare ;)
Andrea

 Sarei grato a tutti per un suggerimento.
Il codice che hai postato e' pieno di errori ed e' completamente
deficiente di controlli sulle variabili.
Se inserisci error_reporting (E_ALL); all'inizio dello script te ne
accorgerai.
print  ("<input name='titolo' type='text' id='titolo' value='" .
$row["titolo"] . "' size='120' maxlength='80'>");
Ovviamente devi verificare precedentemente che in $row esista una
chiave chiamata titolo (funzione isset o array_key_exists).
