Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1
    Utente bannato
    Registrato dal
    Mar 2011
    Messaggi
    389

    QUery DISTINCT non funzionante

    non mi funziona questa query, cosa sbaglio?

    $query= mysql_query("SELECT DISTINCT id_tab2 FROM tab2,tab1 WHERE tab2.id_tab2=tab1.id_tab1");
    $lista= mysql_num_rows($query);

    for($x=0;$x< $lista; $x++){
    $prova = mysql_fetch_assoc($query);

    echo $prova['nick'];

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    intanto manca una parentesi graffa, poi "non funziona" non vuol dire niente. Bisogna essere specifici, non funziona perchè non mi da alcun risultato oppure non mi funziona perchè mi da l'errore X alla riga Y

  3. #3
    Utente bannato
    Registrato dal
    Mar 2011
    Messaggi
    389
    Notice: Undefined index: nick in on line 156

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    si, ora capisco nella tua query estrai solo "DISTINCT id_tab2" ovvio che nick non te lo trovi

  5. #5
    Utente bannato
    Registrato dal
    Mar 2011
    Messaggi
    389
    ok provo

  6. #6
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    il fatto è che quella query proprio non mi torna, che dati vuoi tirare su? in genere la disctinct su id non si fa

  7. #7
    Utente bannato
    Registrato dal
    Mar 2011
    Messaggi
    389
    sisi grazie no ho omesso i campi veri per questioni di privacy però funziona alla grande


    ho solo altri 2 problemi però forse sono fuori topic


    il ciclo for vorrei partisse da 1
    ho pensato "ehy basta fare
    Codice PHP:
     for($x=1;$x$lista$x++){ 
    però mi omette un valore proprio lo 0, quindi io vorrei cmq partire da 0 però fare echo di $x
    che parte da 1 senza omettere il valore 0
    (forse scrivo male lo so)

    poi siccome faccio la somma di 4 campi diversi, però non la somma tra di loro, ma la somma dei record di ogni campo

    vorrei ordinarli dal più grande al più piccolo

    Codice PHP:
    $query_sommamysql_query("SELECT SUM(campo1) AS alias,SUM(campo2) AS alias,SUM(campo3) AS alias,SUM(campo4) AS alias FROM tabella WHERE tabella.id1='".$variabile['a']."' order by alias Desc"); 

    ma ovviamente non va

  8. #8
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Originariamente inviato da Phone

    però mi omette un valore proprio lo 0, quindi io vorrei cmq partire da 0 però fare echo di $x
    che parte da 1 senza omettere il valore 0
    Codice PHP:
    for($x=0;$x$lista$x++){
       echo 
    $x+1;


  9. #9
    Utente bannato
    Registrato dal
    Mar 2011
    Messaggi
    389
    GRAZIE 1000 ancora non ci avevo proprio pensato


    ora ho il problema più difficile ordinare il risultato in base alla somma più alta

  10. #10
    Originariamente inviato da Phone
    GRAZIE 1000 ancora non ci avevo proprio pensato


    ora ho il problema più difficile ordinare il risultato in base alla somma più alta
    ma non usare il for per stampare il resul set, usa il WHILE

    L'ordinamento lo fai nella query con ORDER BY campo DESC. Sopratutto quando posti del codice fai in modo che questo sia congruente. Lascia perdere la privacy nei nomi dei campi. Non e' quella la privacy.

    as alias as alias.... almeno metti alias1, alias2 e cosi' si capisce che non e' un errore.

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

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.