![]() |
![]() |
|
| Condividi questo contenuto nei Social Network: |
|
Tweet |
|
|
|
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito. |
||||
|
|||||||||
|
|
LinkBack | Strumenti di discussione |
|
|
#1 (permalink) |
|
User
Data di registrazione: Jun 2008
Ubicazione: Milan - Italy
Messaggi: 91
|
problemi con id
Ciao a tutti, non riesco a venire a capo di un problema. Allore spiego brevemente, a inizio pagina dichiaro la variabile id:
$id=0; if(isset($_REQUEST['id'])){$id=$_REQUEST['id'];} Poi ho più funzioni, quella che miinteressa è mostra_form function mostra_form(){ global $id; ..... // seleziono tutto e se l'id vale 0 avrò i campi del form vuoti se no co i valori pescati dal db $sql='SELECT attivita.*, .................. WHERE att_id='.$id; $dati=mysql_query($sql); if(mysql_num_rows($dati)>0) { $array=mysql_fetch_array($dati); $nome=$array["att_nome"]; $titolare=$array["att_titolare"]; $tipo=$array["att_tipo"]; $regione=$array["att_idregione"]; .....ecc.... else{ $nome=''; $titolare=''; $tipo=''; $regione=''; ....... $output='<form name="info" id="info" action="?azione=salva" method="post">'; $output.='<input type="hidden" name="id" value="'.$id.'" /><br />'; $output.='<fieldset>'; $output.='<label for="nome">Nome Attività</label>'; $output.='<input type="text" name="nome" value="'.$nome.'" />'; ........... .................ecc Quando invio i dati, mando il tutto alla funzione salva, lì, se l'id vale 0 registra un nuovo record, se no agiorna il record. Lo fa in tutti e due i casi correttamente. Il problema sorge quando vado a vedere i dettagli del record, se ho registrato un nuovo record, mi mostra correttamente la scgheda dettagli, se l'ho modificato mi va in errore stampando ''nessun record''. Il problema è che anche guardando in php myadmin le modifiche le fa correttamente e l'id viene mantenuto e passato correttamente alla funzione mostra dettagli...cosa può essere? function mostra_det(){ global $miaconn,$id; $sql='SELECT attivita.*, REGIONI.nomeregione, PROVINCE.nomeprovincia FROM attivita INNER JOIN regioni ON ATTIVITA.att_idregione = REGIONI.idregione INNER JOIN PROVINCE ON ATTIVITA.att_idprovincia = PROVINCE.idprovincia WHERE att_id='.$id; $dati=mysql_query($sql); if(mysql_num_rows($dati)>0){ $array=mysql_fetch_array($dati); $output=''; $output.='<b>Nome:</b>'.$array["att_nome"].'<br>'; ..... ...else{ echo ''nessun record'} Con altre funzioni fatte sullo stesso record come ad esempio elimina, non ho problemi, solo con mostra dettagli e mostra form e solo nel caso in cui abbia modificato il record...chi può aiutarmi???Grazie |
|
|
|
|
|
|
|
#3 (permalink) | |
|
User
Data di registrazione: Jun 2008
Ubicazione: Milan - Italy
Messaggi: 91
|
Quote:
Ho risolto il problema grazie lo stesso! Siccome associavo il campo idprovincia della tabella province al campo idprovincia della tabella attivita, quando facevo una modifica se non riselezionavo la provincia nella tendina mi passava quell'id a 0 e non mi faceva più vedere i dettagli ne un'eventuale nuova modifica, questo perchè all'inizio della funzione avevo il controllo fi($id==0) {fai il form vuoto} else{riempi il form con i dati del record per modificarli}. Non ho ben capito il perchè mi abbia fatto sto scherzo perchè comunque gli passavo l'id del record che mi interessava non quello della provincia, comunque usando questa accortezza non mi da più problemi! Grazie lo stesso ciao a tutti alla prossima. | |
|
|
|
| Tags: ricerca record |
| Strumenti di discussione | |
|
|