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

    Estrarre più righe da un database

    Buonasera,
    premetto che non sono molto bravo col php
    Ho il seguente codice
    Codice PHP:
    <?php
                    
    require("dati.php");
                    
    $tot 10;
                   
                    
    $query2 "SELECT * FROM news_linkedfiles WHERE storyid = " $_GET['id'] . " LIMIT 0,$tot";
                    
                    
    $row2 mysql_fetch_array(mysql_query($query2));
                
                    
    $query3 "SELECT * FROM news_files WHERE uid = " $row2['fileid'] . " ORDER by uid desc LIMIT 0,$tot";
                    if (
    $row2['fileid'] > ){
                    
    $row3 mysql_fetch_array(mysql_query($query3));

                    echo 
    "

    "
    ;
                    echo 
    "[b]Consulta gli allegati:[/b]";
                    echo 
    "<a  target='_blank' href=\"" $row3['url'] . "\">"$row3['title'], " </a>
    "
    ;
                    echo 
    "</p>";
                    
                    echo 
    "
    "
    ;
                    }
                    
    mysql_close($connection);                
    ?>
    Nella query2 seleziono tutti i valori dalla tabella news_linkedfiles che hanno come storyid ad esempio 3. Nel mio caso, in questa tabella ci sono tre righe, due di queste righe hanno come storyid 3.
    Nella query3 seleziono dalla tabella news_files (contente i documenti allegati) tutti le righe che hanno come uid $row2['fileid'], infatti nella prima tabella, di fianco alla colonna story id c'è una colonna fileid (contenenete l'id del rispettivo documento allegato).
    Il problema è che quando faccio echo "<a target='_blank' href=\"" . $row3['url'] . "\">", $row3['title'], " </a>
    "; mi fa vedere solo un allegato, mentre in questo caso nella tabella news_linkedfiles ci sono due righe contenete storyid 3, ognuna delle quali però ha un fileid diverso.

    Cerco di spiegare meglio. sulla tabella news_files ci sono i documenti allegati, ognuno con un proprio uid. Nella tabella news_linkedfiles ci sono due colonne, nella prima lo storyid di ogni articolo, nella seconda il fileid del documento collegato a quel determinato articolo.

    Come faccio a far visualizzare tutti gli allegati collegati ad un determinato articolo e non solo uno? grazie mille a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    65
    codice:
    <?php 
                    require("dati.php");
                    $tot = 10;                                 
    $sql = "SELECT
    * 
    FROM 
    news_linkedfiles, news_files
    WHERE news_linkfiles.storyid = " . $_GET['id'] . " 
    AND news_files.uid=news_linkedfiles.fileid
    AND news_linkedfiles.fileid!='0'
    LIMIT 0,$tot";
    
    $rows = mysql_query($sql)or die (mysql_error());
    while ($row=mysql_fetch_assoc($rows)){                
                     echo "
    
    ";
                     echo "Consulta gli allegati:";
                     echo "<a  target='_blank' href=\"" . $row['url'] . "\">", $row['title'], " </a>
    ";
                     echo "</p>";
                     echo "
    "; 
    }
    mysql_close($connection);                 
    ?>
    Non testato, ma la struttura è questa

  3. #3
    Ciao,
    ti ringrazio per la risposta, però mi restituisce questo errore:

    Unknown column 'news_linkfiles.storyid' in 'where clause'

    GRazie ancora..

  4. #4
    Ciao,
    gentilmente qualcuno mi aiuta con questo codicE? io proprio non mi ci raccapezzo. grazie a tutti

  5. #5
    Ma siete in grado di andare oltre al copia e incolla?!?! Non è un problema di conoscere o meno il PHP!!! L'errore restituito è chiarissimo!!!
    Nel codice che avevi postato tu:

    codice:
    ...
    SELECT * FROM news_linkedfiles WHERE storyid =
    ...
    nel codice che ti da errore:

    codice:
    SELECT * FROM news_linkedfiles, news_files WHERE news_linkfiles.storyid =
    non vedi che le tabelle nelle quali si tenta di recuperare storyid sono differenti? Nella seconda query sostituisci news_linkfiles con news_linkedfiles.
    Un po' di iniziativa suvvia, soprattutto quando i messaggi di errore descrivono precisamente l'errore stesso!!!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    codice:
    news_linkedfiles, news_files
    WHERE news_linkedfiles.storyid =
    però questo errore lo potevi identificare da solo...

  7. #7
    Non c'è bisogno di rispondere con quel tono, ringrazio tutti per la pazienza, io non ho mai lavorato con php e mysql per cui è del tutto comprensibile. Nessuno pretende nulla, chi vuole rispondere lo fa, chi non lo vuole fare pazienza, ma non credo sia il caso di aggredire verbalmente i neofiti. grazia ancora a tutti.

  8. #8
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ^^^
    uhm, ma secondo te perché ti si è fatto notare che potevi identificarlo da solo?
    Forse, e dico forse, perché la prossima volta che ti capiterà un errore simile (o altri sufficientemente parlanti) tu possa correggerli da solo?
    Solo che la pappa pronta è più buona, no?

  9. #9
    clasku non mi riferivo a te. sono molto grato e contento di aver imparato una nuova cosa, questo è chiaro.non c'è bisogno a mio avviso di mettere 3/4 punti esclamativi. comunque non ha senso continuare questa discussione. di nuovo, grazie a tutti.

  10. #10
    Beh per me uno che nel proprio CV vanta un corso di PHP e MySQL e conoscenza del linguaggio PHP e poi posta problemi come il tuo sui forum e non è in grado di interpretare un semplice e autocommentante errore SQL prende in giro le persone che credono e si affidano alle sue competenze in ambito lavorativo.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.