Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    problema a stampare tutti i record di un campo

    ciao,

    codice:
    $query = SELECT * FROM .......
    $select = mysql_query($query) or die(mysql_error());
    $result = mysql_fetch_array($select);
    estraggo i record dai campi di varie tabelle e li posiziono in giro per la pagina con:

    echo ".$result["valore_campo"]."

    e fin qua tutto bene.
    però in un campo di una tabella ci sono più record da estrarre tutti in una volta e allora ho pensato di usare un while:

    codice:
    while($dati=mysql_fetch_array($select))  {
    
    echo "
    
    ". $codeLighter->convert( htmlentities($dati["approfondimento"]))."</p>";
    
    
    
    }
    il problema è che se in quel campo ho 3 record da estrarre, il while mi stampa 15 volte di seguito ogni record...


    while...ehm..why?

    grazie

  2. #2
    Come fai ad avere dei record in un campo di una tabella?
    Puoi spiegarti meglio?


    Ciao
    In a world without walls and fences - who needs windows and gates ?

  3. #3
    Originariamente inviato da Darkhorizont
    Come fai ad avere dei record in un campo di una tabella?
    Puoi spiegarti meglio?


    Ciao
    tabella--->campo---->record( dati inseriti).... :master:


  4. #4
    allora, il problema è nella query...

    tra le varie tabelle, io devo mettere in relazione l'id_studio di quella principale, "studi", con la tabella "approf" in cui è presente l'id_studio di studi, id_approf(chiave primaria) e il campo approfondimenti in cui è contenuto il testo.
    per estrarre il contenuto della tabella "approf" uso un ciclo while.
    adesso ho sistemato un pò la query, non mi stampa più 15 volte conscutiva ogni dato presente, ma mi stampa gli ultimi 2 e mi salta il 1°. :master:

    questa è la query:

    codice:
    $query = "SELECT studi.*, continente.valore_continente, nazione.valore_nazione, media.valore_media, lingua.valore_lingua, tema.valore_tema, approf.approfondimento
    FROM (((((studi INNER JOIN continente ON studi.id_continente = continente.id_continente) INNER JOIN nazione ON studi.id_nazione = nazione.id_nazione) INNER JOIN media ON studi.id_media = media.id_media) INNER JOIN lingua ON studi.id_lingua = lingua.id_lingua) INNER JOIN tema ON studi.id_tema = tema.id_tema) INNER JOIN approf ON studi.id_studio = approf.id_studio
     WHERE titolo_studio = '" . $_REQUEST["id_studio"]  . "'";

  5. #5
    se eseguo la query da phpmyadmin mi viene visualizzata correttamente... :master:

    il problema allora è nel while?

    while($dati = mysql_fetch_array($select)) {

    echo "

    ". $codeLighter->convert( htmlentities($dati["approfondimento"]))."</p>";

    }

  6. #6

  7. #7
    codice:
    <?php
    include("../dbconnect.php");
    
    
    $query = "SELECT studi.*, continente.valore_continente, nazione.valore_nazione, media.valore_media, lingua.valore_lingua, tema.valore_tema, approf.approfondimento
    FROM (((((studi INNER JOIN continente ON studi.id_continente = continente.id_continente) INNER JOIN nazione ON studi.id_nazione = nazione.id_nazione) INNER JOIN media ON studi.id_media = media.id_media) INNER JOIN lingua ON studi.id_lingua = lingua.id_lingua) INNER JOIN tema ON studi.id_tema = tema.id_tema) INNER JOIN approf ON studi.id_studio = approf.id_studio
     WHERE titolo_studio = '" . $_REQUEST["id_studio"]  . "'";
    
                      
    $select = mysql_query($query) or die(mysql_error());
    
    require("../pannello/codeLighter.class.php");
    $codeLighter = new codeLighter();
    
    $result = mysql_fetch_array($select);
    
    
    
    echo"<h3>". $result["titolo_studio"]."</h3></div>
    ";
    echo"
    <table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#666\" width=\"100%\">
      <tr>
        <td width=\"100%\" style=\"padding:5px\">
                         
                         Paese:".$result["valore_nazione"]."/ ".$result["valore_continente"]."
    
    	         Tema:".$result["valore_tema"]."
     
    	         Media:".$result["valore_media"]."
    
                         Lingua:".$result["valore_lingua"]."
    
                          
        
    
    
    ".$result["descrizione"]." </p></td>
      </tr>
    </table>";
     
    
    echo "
    
    
    ". $codeLighter->convert( htmlentities($result["corpo_documento"]))."</p>
    
    
    
    ". $result["titolo_analisi"]."</p>
                     ". $codeLighter->convert( htmlentities($result["corpo_analisi"]))."
    
    
    ". $result["titolo_educatori"]."</p>
                
    
    ". $codeLighter->convert( htmlentities($result["corpo_educatori"]))."</p>
    
    
    ". $result["titolo_utenti"]."</p>
                
    
    ". $codeLighter->convert( htmlentities($result["corpo_utenti"]))."</p>  
    
    
    ". $result["titolo_approf"]."</p>";
    
    while($dati = mysql_fetch_array($select))  {
    echo "
    
    ". $codeLighter->convert( htmlentities($dati["approfondimento"]))."</p>";
    }
    
    
    
    ?>
    praticamente come vedete dalla script, eseguo 2 volte il mysql_fetch_array.

    Nel ciclo while parte dal secondo record perchè il primo è già stato estratto...
    come posso risolvere la cosa :master: ?

    se c'è troppo casino apro un nuovo 3d....

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.