Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    199

    SQL problema con la duplicazione dei dati

    Ciao a tutti.

    Ho un problema con la ripetizione di alcuni dati in una tabella.

    è davvero complicato da spiegare, provo a postare il codice e vedere se ne capite qualcosa:


    Codice PHP:
    $result_abbmysql_query("SELECT DISTINCT fin_id FROM finiture JOIN abbinamenti ON (finiture.fin_id=abbinamenti.abb_fin_1 OR finiture.fin_id=abbinamenti.abb_fin_2 OR finiture.fin_id=abbinamenti.abb_fin_3 OR finiture.fin_id=abbinamenti.abb_fin_4 OR finiture.fin_id=abbinamenti.abb_fin_5 OR finiture.fin_id=abbinamenti.abb_fin_6) WHERE fin_visible=1 AND (abb_tab='$prd_tab_1' OR abb_tab='$prd_tab_2' OR abb_tab='$prd_tab_3' OR abb_tab='$prd_tab_4' OR abb_tab='$prd_tab_5' OR abb_tab='$prd_tab_6') GROUP BY fin_id") or die(mysql_error()); 
    while(
    $row_abbmysql_fetch_array($result_abb)) 

    $fin_id=$row_abb['fin_id']; 
    $result_finmysql_query("SELECT DISTINCT fin_nome, fin_mark, fin_file_thumb FROM finiture WHERE fin_id='$fin_id'") or die(mysql_error()); 
    while(
    $row_finmysql_fetch_array($result_fin)) 

    $fin_nome=$row_fin['fin_nome']; 
    $fin_file_thumb=$row_fin['fin_file_thumb']; 
    $fin_mark_path=str_replace(" ""_"$row_fin['fin_mark']); ?>
    ecc. ecc. ecc. 
    con il $result_abb io ottengo i colori delle tabelle abb_tab
    in questo caso io ho 2 tabelle (abb_tab) e 2 colori sono presenti in entrambe le tabelle, e con il primo while mi vengono restituiti tutti i colori delle due tabelle, però i 2 colori mi vengono dati 2 volte.
    Dal momento che non sono riuscito a "filtrare" i colori in questa fase o pensato che con il $result_fin, prendendo tutti gli ID dal precedente ciclo (anche quelli ripetuti), e ricercandoli nella tabella sql dei colori, mi avrebbe restituito, grazie al DISTINCT, tutti i colori una volta sola, e invece continua a darmi la stessa sequenza di prima compresi i colori ripetuti.
    Nella speranza di esser riuscito a spiegare il problema, sapreste dirmi come ovviare al mio problema???

    Grazie mille in anticipo!

    Ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    199
    alla fine ho risolto modificando in questo modo:

    Codice PHP:
    $result_prdmysql_query("SELECT DISTINCT fin_id, fin_nome, fin_mark, fin_file_thumb 
    FROM finiture 
    JOIN abbinamenti ON (finiture.fin_id=abbinamenti.abb_fin_1 OR finiture.fin_id=abbinamenti.abb_fin_2 OR finiture.fin_id=abbinamenti.abb_fin_3 OR finiture.fin_id=abbinamenti.abb_fin_4 OR finiture.fin_id=abbinamenti.abb_fin_5 OR finiture.fin_id=abbinamenti.abb_fin_6) 
    JOIN prodotti ON (abbinamenti.abb_tab=prodotti.prd_tab_1 OR abbinamenti.abb_tab=prodotti.prd_tab_2 OR abbinamenti.abb_tab=prodotti.prd_tab_3 OR abbinamenti.abb_tab=prodotti.prd_tab_4 OR abbinamenti.abb_tab=prodotti.prd_tab_5 OR abbinamenti.abb_tab=prodotti.prd_tab_6) 
    JOIN settori_prodotti ON prodotti.prd_id=settori_prodotti.stpr_prd JOIN tabelle_prodotti ON prodotti.prd_tbpr=tabelle_prodotti.tbpr_id 
    JOIN tabelle_finiture ON (prodotti.prd_tab_1=tabelle_finiture.tab_id OR prodotti.prd_tab_2=tabelle_finiture.tab_id OR prodotti.prd_tab_3=tabelle_finiture.tab_id OR prodotti.prd_tab_4=tabelle_finiture.tab_id OR prodotti.prd_tab_5=tabelle_finiture.tab_id OR prodotti.prd_tab_6=tabelle_finiture.tab_id) 
    WHERE fin_visible=1 AND prd_tbpr='
    $prd_tbpr' AND stpr_show_out=1 AND (stpr_set_1='$set_nome' OR stpr_set_2='$set_nome' OR stpr_set_3='$set_nome' OR stpr_set_4='$set_nome' OR stpr_set_5='$set_nome') ") or die(mysql_error()); 
    è la query più lunga che mi è capitato di scrivere!!!

    Ciao!!!

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.