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

    [Php + MySql]Output di una query

    Allora...
    Ho una pagina che mi deve effettuare una query per visualizzare una lista di autori ed il totale di frasi presenti per ogni autore, tutto questo in un elenco...
    Esempio -> "Dante Alighieri 10"
    questo è il pezzo di codice php
    Codice PHP:
    <?
        $db
    =mysql_connect($host,$user,$pass)
            or die (
    "<h2>Non mi posso collegare, problemi con il server $host</h2>");
        
    mysql_select_db($database,$db)
            or die (
    "<h2>Non mi posso connettere al database $database</h2>");
        
    $query="";
        
    $query="SELECT COUNT(*) AS NFrasi,aut_cod, aut_cognome, aut_nome FROM  frasi, autori";
        
    $query=$query."WHERE aut_cod=frs_kautore GROUP BY aut_cognome, aut_nome";
         
    $ris=mysql_query($query,$db);
            if (
    $ris){ 
                while(
    $row=mysql_fetch_array($ris)) {
                    echo 
    "<p id=\"".$row[aut_cod]."\" >";
                    echo 
    "<a href=\"viewaut.php?idautore=".$row[aut_cod]."\">";
                    echo 
    $row[aut_cognome]. " " .$row[aut_nome]. " ".$row[NFrasi]."</a></p>\n";
                }    }        
            else
                
    error_report();
            
    mysql_free_result($ris);
            
    mysql_close();
            

    ?>
    In output la pagina non mi restituisce niente.... perchè?!
    PRemetto che avevo fatto una prima versione del tutto, estraendo solo nome e cognome dell'autore, e funzionava tranquillamente...
    Di sql ne ho studiato un bel pò tuttavia di pratica nell'utilizzo con php ne sto facendo un pò soltanto in questo periodo, quindi scusatemi eventuali fagianate...

  2. #2
    metti la segnalazione di errore.

    codice:
    $ris = mysql_query($query,$db) or die(mysql_error()) ;

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Originariamente inviato da piero.mac
    metti la segnalazione di errore.

    codice:
    $ris = mysql_query($query,$db) or die(mysql_error()) ;
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '=frs_kautore GROUP BY aut_cognome, aut_nome' at line 1

  4. #4

  5. #5
    codice:
        $query="SELECT COUNT(*) AS NFrasi,aut_cod, aut_cognome, aut_nome FROM  frasi, autori";
        $query=$query."WHERE aut_cod=frs_kautore GROUP BY aut_cognome, aut_nome";
    manca uno spazio prima del where.

    codice:
    $query = "SELECT COUNT(*) AS NFrasi, aut_cod, aut_cognome, aut_nome
                 FROM  frasi, autori
                 WHERE aut_cod = frs_kautore 
                 GROUP BY aut_cognome, aut_nome";
    prova a scriverlo cosi'.... che e' "piu' meglio"

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    un errore stupido, putroppo mi era sfuggito a causa della concatenazione.... Grassssie penso che seguirò il tuo consiglio, la query in quel modo risulta più leggibile!

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.