Problema ciclo while con mysql_fetch_assoc

  • Creatore Discussione Creatore Discussione Mirko3
  • Data di inizio Data di inizio

Mirko3

Nuovo Utente
22 Dic 2011
4
0
0
Salve a tutti ragazzi! Volevo farvi prima i complimenti per i grandi aiuti che fino ad oggi mi avete dato, ma purtroppo non riesco a trovare una soluzione delle vostre al mio problema..
Vengo al sodo:
devo sviluppare una paggina di noleggio di film per una videoteca, in pratica i film vengono scelti da una pagina (noleggio.php) tramite checkbox e al'azione del form vengono trasmessi alla pagina successiva(noleggio2.php) dove viene fatto un riepilogo dei film selezionati ed insieme a quest'ultimi vengono descritte anche le condizioni di ogni singolo film selezionato(tipo prezzo, mora di ritardo etc etc).
ora il mio problema è che dovrei stampare a video i film selezionati con le loro rispettive condizioni, soltanto che quando faccio il ciclo "while" tramite "mysql_fetch_assoc" mi stampa correttamente le condizioni dei film, ma non il nome, infatti il nome rimane l'ultimo film selezionato per tutti i film.. come posso fare?? aiutooo!!!
vi posto il codice!
PHP:
$querycond = "SELECT idfilm,nome,condizioni,mora,prezzo FROM film,condizioni WHERE idfilm=$id";
$dbResultCond = mysql_query($querycond, $connessione) or die (mysql_error());


        while ($campo = mysql_fetch_assoc($dbResultCond))
        {
            
            echo 'Film: ', $campo['nome'] ,'<br>';
            echo 'Tipo di condizione: ', $campo['condizioni'] ,'<br>';
            echo 'Mora; ', $campo['mora'] ,'€ ogni giorno di ritardo.<br>';
            echo 'Prezzo: ', $campo['prezzo'],'€<br><br><br>';

Codice:
Risultato:
Riepilogo condizioni
Film: Spazio 1999
Tipo di condizione: giornaliero
Mora; 2€ ogni giorno di ritardo.
Prezzo: 3€


Film: Spazio 1999
Tipo di condizione: settimanale
Mora; 3€ ogni giorno di ritardo.
Prezzo: 10€

Grazie!
 
ciao
mi sembra che tu faccia una join tra le due tabelle film e condizioni.
immagino, ma non so, che nella tab film ci sia qualcosa che la leghi alla tabella condizioni (es. id_cond)
per cui facendo la join potresti provarla a scriverla così

PHP:
$querycond = "SELECT f.nome,c.condizioni,c.mora,c.prezzo FROM film AS f,condizioni AS c WHERE c.id=f.id_con AND f.idfilm=$id";
come detto non so quale è il "legamento" quindi, quello che ho scritto, non è da copy/paste
 
ok, grazie.. ora provo..
in effetti pensvo di fare la join xche ogni film ha un campo(condizione) che deve essere preso dall' id della tab condizioni..
solo che a me le condizioni le prende giuste.. la cosa che scrive sbagliata è il nome.. non sò se possa influire qualcosa...
comunque ora provo e ti dico!
Grazie intanto!
 
allora con l'ultima select mi visualizza solo un risultato con la sua condizione.. anche se ne seleziono più di uno..
 
ciao
scusa ma non capisco una cosa, intendi che se selezioni più film, te ne da uno solo?
se è così è evidente che te ne seleziona uno, con la clausola
f.idfilm=$id";
ti visualizza solo il film con quell'id (immagino, come è logico, che ogni film abbia il suo id)
se nel form puoi selezionare più film (quindi più id) devi fare una select per ogni id trasmesso.
come trasmetti l'id del film?
 

Discussioni simili