Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    45

    [PHP][MySQL] Due tabelle una query

    Salve a tutti ho un problema nel gestire un form che prende dei dati da un database con due tablelle distinte. Ho creato un unica query per entrambe le tabelle:

    $query = "SELECT biblo.biblo_id, biblo.nome, libro.titolo FROM biblo, libro";
    $result = mysql_query($query, $db);

    dopo di che per creare il form uso la seguente funzione:

    <select name=\"titolo\">
    <option value=\"\">Scegli...</option> ";
    while ($row = mysql_fetch_array($result))
    {
    echo "<option value=$row[titolo]>$row[titolo]</option>";
    }

    </select>

    <select name=\"biblo_id\">
    <option value=\"\">Chose ...</option> ";
    while ($row = mysql_fetch_array($result))
    {
    echo "<option value=$row[biblo_id]>$row[nome]</option>";
    }
    </select>

    Ma facendo in questo modo vi è un grande problema. Il primo form si vede e il secondo no forse perchè non viene rifatto il while e poi altra cosa: nel primo form vengono fuori tutti i titoli che ho nel database ovvero se ho 5 libri con lo stesso titolo (mettiamo per esempio "Il codice da vinci") ma cambia solo l'anno di pubblicazione o l'autore io non voglio che nel form eschino 5 "codice da vinci" ma solo 1 evitando le repliche del nome.

    Come si può risolvere una cosa del genere? è necessario creare 2 query distinte?? e come non avere repliche nel nome??

    Grazie del vostro aiuto

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    45
    Non c'è nessuno che può darmi una mano??

    Grazie

  3. #3

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    45
    Riportando il puntatore indietro effettivamente ho risolto tutti o quasi i problemi.

    Infatti come posso filtrare i risultati della query a solo i titoli veramente diversi??? (vedere primo post per spiegazione migliore) Ovvero:

    Nel primo form vengono fuori tutti i titoli che ho nel database ovvero se ho 5 libri con lo stesso titolo (mettiamo per esempio "Il codice da vinci") ma cambia solo l'anno di pubblicazione o l'autore io non voglio che nel form eschino 5 "codice da vinci" ma solo 1 evitando le repliche del nome. Come è possibile???


    Grazie a tutti per l'aiuto

  5. #5
    per far si che escano solo titoli distinti devi fare una query del tipo:

    codice:
    SELECT DISTINCT(libro.titolo),biblo.biblo_id, biblo.nome  FROM biblo, libro
    ovvero usare la clausola DISTINCT: http://dev.mysql.com/doc/refman/5.1/en/select.html

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    45
    grazie V1RuZ per il tuo aiuto è proprio quello che stavo cercando.

    Grazie mille

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 © 2024 vBulletin Solutions, Inc. All rights reserved.