Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    297

    [php][mysql] pagina dettaglio

    Ciao Ragazzi!!
    Ho creato una semplice tabella di prova, con id, nome, e cognome...
    In una pagina ho messo la lista dei nomi, su cui si può cliccare per aprire un'altra pagina che visualizzerà il cognome della persona su cui ho cliccato precedentemente!
    Ecco il codice della seconda pagina :

    <?php
    $db = mysql_connect("localhost","root","lord") or die ("Impossibile
    connettersi". mysql_error());
    mysql_select_db("amici&automobili",$db);

    $result = mysql_query("SELECT * FROM AMICI",$db);

    while ($records = mysql_fetch_array($result)) {

    $id = $_GET['id'];
    if ((isset($id)) and ($records['idAmici'] ==$id)) {
    echo "Parlavi di ".$records['cognome'] ."?";

    }
    else {
    echo "niente da fare!" ;
    }

    }
    ?>

    Il parametro arriva e mi scrive il cognome giusto, ma mi visualizza anche il messaggio della condizione else{}..
    come mai? Se trova le corrispondenze nelle prime istruzioni dovrebbe
    fermarsi lì..dove sto sbagliando?
    Grazie!

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    E' ovvio che se fai un ciclo su tutti i record letti, ti stamperà la frase che ti aspetti sul record giusto, e l'altra per tutti gli altri record.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    297
    sto studiando php da un paio di settimane, forse non per tutti è così ovvio ti pare?
    Scusami ma non ti ho capito bene, cmq ho provato a fermare il ciclo mettendo un break alla fine della prima condizione ma c'è ancora qualcosa che non va!

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Non è che c'entri troppo php, è una questione di logica. Se tu fai un ciclo su dieci record letti, tutto quello che hai messo dentro al ciclo viene eseguito 10 volte. Quindi la volta che il codice è uguale ti stampa il cognome, le altre 9 ti stampa "niente da fare".
    Perché non metti invece la condizione nella query?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    297
    Ciao Luca!!
    Hai ragione qui php non c'azzecca molto, è questione di logica..di programmazione, sulla quale devo ancora fare il callo!
    Ho capito cmq dove sta l'errore, e ti ringrazio! Ho qualche dubbio sulla correzione da fare (lo so sono un po' di coccio! ) ma ci devo ancora pensare su!

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    SELECT * FROM AMICI WHERE idAmici = ....

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.