Hai provato a cambiarlo cosi'?codice:$result = mysql_query("SELECT * FROM Cognome WHERE cognome = ".$cognome."");
Hai provato a cambiarlo cosi'?codice:$result = mysql_query("SELECT * FROM Cognome WHERE cognome = ".$cognome."");
Linux user number 395693| Acer TravelMate 4672WMLI powered by GNU/Linux Ubuntu 7.10
Ammesso che id_cognome sia una variabile (manca $), così tu non gli dai nessun valore, casomai dai a $record[0] il valore di stringa vuota (se id_cognome non è inizializzata).Originariamente inviato da vicky
$record[0]=id_cognome;
serve per dare un valore a id_cognome che utilizzerò nella clausola WHERE della seconda query.
Quindi la query è come te l'aspetti tu? Hai provato ad eseguirla con phpadmin o qualche altro frontend? Dà i risultati che ti aspetti?echo $cognome; visualizza il cognome, come dicevo anche prima
echo $query; visualizza la nuova query che ho fatto con il JOIN ON:
al posto di $Cognome nella clausola WHERE vedo il cognome che ho selezionato dal from della pagina precedente. Ma di vedere il risultato di questa query non se ne parla.
Cmq il codice che hai messo nel primo msg è sbagliato come flusso di esecuzione, l'hai cambiato in qualche modo o è sempre così?
Se usi gli apici doppi per delimitare le stringhe queste due scritture sono identiche e producono lo stesso risultatoOriginariamente inviato da magix2003
Hai provato a cambiarlo cosi'?
codice:$result = mysql_query("SELECT * FROM Cognome WHERE cognome = '$cognome'"); $result = mysql_query("SELECT * FROM Cognome WHERE cognome = '".$cognome."'");
ASCOLTA posta il codice del form in cui inserisci i dati ....
Se io testo la query con phpMyAdmin la risposta è che la query è stata eseguita con successo ma non viene visualizzato alcun risultato.
Attualmente ho modificato il codice inserendo il JOIN:
$query = "SELECT * " .
"FROM nome JOIN cognome ON (nome.rif_cognome = cognome.id_cognome) " .
"WHERE cognome = '$cognome' " ;
$result = mysql_query($query,$link) or die (mysql_error());
while ($records = mysql_fetch_object($result)) {
echo $records->object;
echo "
" ;
}
Io credo che ci sia qualcosa che non va nel modo in cui estraggo i risultati. Mi potete controllare se è lì l'errore? Grazie
puoi stampare il dump del tuo db ??
sei sicura che ci sia quel cognome dentro ??
Se phpmyadmin non dà risultati il comportamento dello script è perfettamente normale, vuol dire che non esistono record che soddisfano quei criteri, quindi il while non viene eseguito e non viene prodotto output. Non vedo cosa c'è di strano.
Ecco il form:
<form action='pagricevente.php' method='post'>
Cognome: <select name='cognome' value='cognome'>
<?php
$link = mysql_connect("localhost","root","") or die (mysql_error());
mysql_select_db("agenda") or die (mysql_error());
$query = "SELECT cognome " .
"FROM cognome " ;
$result = mysql_query($query,$link) or die (mysql_error());
echo '<option>';
while ($records=mysql_fetch_array($result)) {
echo '<option value=" '.$records[cognome].' ">'.$records[cognome].'</option>';
}
?>
</select>
per me non hai alcun valore nel db
per Fabi080:
se non c'è output secondo me è che nella tabella 'nome' non c'è il riferimento al 'cognome' ma all' 'id_cognome'. Quindi la variabile $cognome non serve a nulla ed il JOIN non funziona. E' per quello che, nella mia inesperienza, avevo cercato di fare due query:
-la prima per reperire id_cognome (conoscendo la variabile $cognome che mi proveniva dal form);
-la seconda per usare il valore id_cognome nella clausola WHERE.