Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    31

    problema con la visibilita di una variabile

    ho un problemino che penso sia stupido ma nn riesco a risolverlo:
    dunque ho 1 script php ke in una tabella estrae tutti i contenuti (nomi di fumetti) di una tabella mysql tramite la solita "SELECT * FROM fumetti" poi ogni risultato estratto l'ho fatto diventare un link a un'altra pagina che mostra le informazioni del fumetto, nel link passo il codice del fumetto tramite l'id e nell'altro script mi prendo il codice cosi: $codice= $_GET['id']; e fin qua tutto ok, poi ho fatto 1 script per inserire nuovi autori nella tabella autori e funziona nel databse mysql solo che nella visualizzazione quando clicco sul link dell'autore (che ho estratto allo stesso modo della tabella fumetti) mi dice che la variabile nazionalita non è definita e mi da l'errore, cioè pure se inserisco la nazionalita non me la fa vedere, e il nome me lo da solo prima dello spazio...o.o non so se mi sono spiegato...
    in pratica non mi riconosce la variabile nazionalita qualcuno sa perchè?
    vi posto lo script:
    Codice PHP:
    <html>
    <head></head>
    <body topmargin="80" background="d5.jpg">
    <?php
    $codice
    =$_GET['id'];

    include(
    "dati_di_connessione.php");
    $query="SELECT a.nome AS nome, a.nazionalita AS nazionalita, f.titolo AS titolo FROM autori AS a, fumetti AS f WHERE a.codice_autore=$codice AND f.codice_autore=a.codice_autore";
    $ris_query=mysql_query($query,$connessione); 
    if(!
    $ris_query)
    echo
    "errore query";
    echo
    "<table align=\"center\" border=\"0\" cellpadding=10 cellspacing=10>";
     echo
    "<tr>";
     echo
    "<td colspan=2 bgcolor=white>fumetti realizzati: </td>";

      while(
    $righe=mysql_fetch_assoc($ris_query))
     { 
       
    $nome=$righe['nome'];
       
    $titolo=$righe['titolo'];
       
    $nazionalita=$righe['nazionalita'];
       echo
    "<td bgcolor=white>[b]$titolo[/b]</td>";  
     }
    echo
    "</tr>"
    echo
    "<tr>";
    echo
    "<th colspan=4 bgcolor=white>nazionalita:$nazionalita</th>";
    echo
    "</tr>";

    echo
    "<tr><td colspan=4 bgcolor=pink><h1 align=center> $nome </h1></td> </tr>";
     echo
    "<tr>";
    ?>
    </table>

     


    <div align="center">[url="home_fumettolandia.php"]<h2> <<< torna alla Home </h2> [/url]</div>
    </body>
    </html>
    grazie x eventuali risposte, ciauuu

  2. #2
    Nella tabella è definita come nazionalita oppure magari c'e scritto nazionalità?

    Se no non saprei

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    31
    Originariamente inviato da Labtech
    Nella tabella è definita come nazionalita oppure magari c'e scritto nazionalità?

    Se no non saprei
    nu i nomi sono corretti, è ke la variabile messa nel while non me la riconosce fuori dalle parentesi del while... o.O
    mah... grazie cmq x la risposta..

  4. #4
    Ora ho notato
    codice:
      while($righe=mysql_fetch_assoc($ris_query))
    Sbaglio o non hai definito $righe
    Se il codice è solo qello non può funzionare perchè nel while metti a confronto un valore non definito


  5. #5
    Originariamente inviato da Labtech
    Ora ho notato
    codice:
      while($righe=mysql_fetch_assoc($ris_query))
    Sbaglio o non hai definito $righe
    Se il codice è solo qello non può funzionare perchè nel while metti a confronto un valore non definito



    Scusa Labtech..... ma dovresti ripassarti un po' di php prima di rispondere.. senza offesa.
    il simbolo = non indica un confronto tra due dati..


  6. #6
    Lo so cosa significa vuol dire che assegni il valore ma non lo puoi assegnare nel ciclo

    Cosi facendo che ciclo è? non c'e nessun confronto dici solamente finche $righe

  7. #7
    Originariamente inviato da Labtech
    Lo so cosa significa vuol dire che assegni il valore ma non lo puoi assegnare nel ciclo

    Cosi facendo che ciclo è? non c'e nessun confronto dici solamente finche $righe

    ripeto.. ti conviene ripassarti o leggere qualche manuale, fidati !


  8. #8
    vabbe infatti funziona perfettamente
    Cmnq tanto per dire quella parte è mysql + php non solo php.
    Visto che sei tanto bravo spiegami tu perchè quel while è giusto

  9. #9
    Originariamente inviato da
    vabbe infatti funziona perfettamente
    Cmnq tanto per dire quella parte è mysql + php non solo php.
    Visto che sei tanto bravo spiegami tu perchè quel while è giusto
    che infantile che sei.. cmq per sapere perchè quel while è giusto studiati il ciclo while e studiati come ciclare i risultati di una query...

    tornando al problema , prova a fare un var_dump($righe)
    subito dopo while (....){

    cosi riesci a capire il contenuto

  10. #10
    Perché
    Codice PHP:
    while($righe=mysql_fetch_assoc($ris_query)) 
    Come prima cosa assegna mysql_fetch_assoc($ris_query) a $righe.
    Dopodiché fa il controllo if($righe) controllando se ha un valore o se assume false.

    Infatti false è il valore ritornato quando si arriva in fondo al mysql_fetch_assoc.

    Quindi scorre tutto il risultato e quando si raggiunge l'ultimo record di $ris_query esce dal While.

    Ti torna?

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.