Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476

    Leggere tutti i valori di questa query: select count(distinct ...

    Ciao,

    come posso leggere i campi che vengono fuori da questa query? Ho provato così ma non funge...
    <?
    include("top_foot.inc.php");
    include("config.inc.php");
    top();

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    $query = "select count(distinct Indice) as num from indici";
    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result)){
    echo "$row[Indice]";
    }
    foot();
    ?>

    Grazie

    dies

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476
    chiedo venia, per la domanda banale.

    Ho risolto con questa query:
    codice:
    $query = "select distinct Indice from tbindici";

    Ciao



    dies

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476

    Problema...




    da questa query:
    codice:
    $query = "select distinct Indice from Indici WHERE Settore ='$_GET[isc]' ORDER BY Indice ";
    quando vado a scorrere i record.. non mi viene fuori un valore di un campo...

    Codice PHP:
    while ($row mysql_fetch_array($result)){
    echo 
    "<a href=\"view.php?id=$row[Indice2]\">$row[Indice]</a>"

    ma non mi restituisce $row[Indice2]


    Come si risolve?


    grassie

    dies

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476
    scusate


    forse ho risolto in questo modo:
    codice:
    $query = "select distinct Indice, Indice2 from Indici WHERE Settore ='$_GET[isc]' ORDER BY Indice ";
    In questo caso il distinct me lo fa solo su Indice?


    è giusto?



    grazie.

    dies

  5. #5
    il distinct viene esteso su tutti i campi. Quindi ti dara' un solo record per ogni accoppiata indice - indice2. Il primo che trova nella tabella.


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

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476
    ciao,

    quindi da questa query:
    codice:
    select distinct Indice from Indici WHERE Settore ='$_GET[isc]' ORDER BY Indice ";
    come posso fare per far comparire nel ciclo:

    codice:
    while ($row = mysql_fetch_array($result)){
    echo "<a href=\"view.php?id=$row[Indice2]\">$row[Indice]</a>"; 
    }
    il valore di Indice2?


    grazie


    ciao


    dies

    [editato]
    ma come si commenta in italiano la query?
    select distinct Indice from Indici
    [/editato]

  7. #7
    :master:
    cosi' compare. non capisco che vuoi ottenere.

    Una query va preparata in base al risultato che vuoi ottenere. Valutando il contenuto e se il contenuto non permette di fare cosa vogliamo, va rivista la struttura della tabella stessa. In altre parole la struttura di una tabella va preparata in funzione dei dati che dovrai ottenere, non in base alla facilita' dell'inserimento.

    Da come descrivi nel post parrebbe che hai indirizzi id diversi per lo stesso valore Indice....

    "<a href=\"view.php?id=$row[Indice2]\">$row[Indice]</a>"

    se invece fosse uno solo, va bene la query distinct indice, indice2



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

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476
    Ecco, il problema è proprio quello. Il database è esistente ed io ci devo "pescare" i dati.


    la tabella "Indici" è così costituita:

    |Indice2|Indice|
    |..1....|tessile|
    |..5....|meccanico|
    |..5....|meccanico|
    |..1....|tessile|
    |..5....|meccanico|
    |..1....|tessile|

    con la query:
    "select distinct Indice from Indici";
    while ($row = mysql_fetch_array($result)){
    echo "<a href=\"view.php?id=$row[Indice2]\">$row[Indice]</a>";
    }

    ottengo due record (giusto?):
    meccanico;
    tessile;

    In pratica non mi scrive l'Indice2.

    Mentre se cambio la query in:
    "select distinct Indice; Indice2 from Indici";
    while ($row = mysql_fetch_array($result)){
    echo "<a href=\"view.php?id=$row[Indice2]\">$row[Indice]</a>";
    }

    ottengo sempre due record (giusto?):
    meccanico;
    tessile;

    Ma questa volta riesco a visualizzare il valore per l'indice id.

    Ora mi chiedo è corretto il secondo modo? Oppure ci possono essere dei problemi in relazione ai dati che sono presenti nel database? Es: qualche campo null oppure altro...


    Grazie per la pazienza.



    ciao



    dies

  9. #9
    quei due campi che indichi non devono mai essere nulli. possono essere duplicati ma son ridondanti "indice 1 == indice tessile" in questo caso 1 e tessile sono la stessa cosa.

    Per esempio il terzo record "id 1 - tessile" come farai a pescare quello e solo quello e non un altro record "id 1 - tessile" senza un indice univoco che contraddistingua i due record? Oppure un altro parametro univoco che renderebbe comunque inutile il binomio indice2 - indice.

    Non so se mi spiego a sufficienza o se sono ermetico.... Si tratta di struttura del db in pratica.


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

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476
    Ciao,

    a me interessa che la query mi restituisca tutti gli Indice e Indice2 una sola volta, trascurando i valori che si ripetono. Voglio dire, non mi interessa beccare un valore preciso, ma solo avere una lista di tutti i valori (escludendo i valori che si ripetono).

    Mi dai un suggerimento per comprendere meglio quella query, commentandola?

    "select distinct Indice, Indice2 from Indici";

    molto gentile


    ciao,

    dies

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.