Visualizzazione dei risultati da 1 a 4 su 4

Discussione: MySQL: SELECT

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    274

    MySQL: SELECT

    Salve,
    sto sviluppando uno script PHP che cerca (facendo una JOIN di due tabelle) tutti i clienti che hanno ordinato del materiale e quindi nel database c'è un preventivo per la merce da loro ordinata.
    Il problema è che se un cliente ha fatto più preventivi, nella tabella appare più volte, tante quanti sono i preventivi che ha fatto.
    Dato che ho fatto un popup che si apre cliccando sul codice che compare nella tabella, e quindi i preventivi fatti dal cliente si vedono nel popup, è superfluo che il cliente appaia più volte nella tabella.

    Codice PHP:
        if(isset($_POST['submit_x'])) {
        
    $data $_POST['giorno'] . '/' $_POST['mese'] . '/' $_POST['anno'];
        if(
    $data == '//') { $data NULL; }
        
    $ragione $_POST['ragione'];
        
    $regione $_SESSION['regione'];
        
        if((
    $ragione == '') && ($data == '')) {
        
    $query "SELECT utenti.id AS id, utenti.code AS code, utenti.ragione AS ragione, utenti.nome, utenti.cognome, utenti.localita, utenti.provincia, utenti.regione, utenti.telefono FROM utenti,preventivi WHERE utenti.code=preventivi.user";
        } elseif((
    $ragione != '') && ($data == '')) {
        
    $query "SELECT utenti.id AS id, utenti.code AS code, utenti.ragione AS ragione, utenti.nome, utenti.cognome, utenti.localita, utenti.provincia, utenti.regione, utenti.telefono FROM utenti,preventivi WHERE ragione LIKE '%$ragione%' AND utenti.code=preventivi.user";
        } elseif((
    $ragione == '') && ($data != '')) {
        
    $query "SELECT utenti.id AS id, utenti.code AS code, utenti.ragione AS ragione, utenti.nome, utenti.cognome, utenti.localita, utenti.provincia, utenti.regione, utenti.telefono FROM utenti,preventivi WHERE day='$data' AND utenti.code=preventivi.user";
        } elseif((
    $ragione != '') && ($data != '')) {
        
    $query "SELECT utenti.id AS id, utenti.code AS code, utenti.ragione AS ragione, utenti.nome, utenti.cognome, utenti.localita, utenti.provincia, utenti.regione, utenti.telefono FROM utenti,preventivi WHERE day='$data' AND ragione LIKE '%$ragione%' AND utenti.code=preventivi.user";
        }
        
    $query .= ' ORDER BY utenti.code';
        
    $result mysql_query($query$db) or die(mysql_error());

        echo 
    "<table width=\"100%\">";
        
    draw_headers();
        while(
    $sql_data mysql_fetch_object($result)) {
        
    /* Stampa formattata dei record.. */
        
    draw_table($sql_data->id$sql_data->code$sql_data->ragione$sql_data->nome$sql_data->cognome$sql_data->localita$sql_data->provincia$sql_data->regione$sql_data->telefono);
        
    $i++;
        }
        echo 
    "</table>";
        }
        
    ?> 
    Cosa posso fare per evitare che uno stesso cliente, appia più volte nella tabella?
    Magari qualcosa dal punto di vista della query, altrimenti se devo smanettare in PHP posso creare un array e fare controlli su questo.
    Progeny

  2. #2
    Prova con una group by

    Codice PHP:
    SELECT utenti.id AS idutenti.code AS codeutenti.ragione AS ragioneutenti.nomeutenti.cognomeutenti.localitautenti.provinciautenti.regioneutenti.telefono FROM utenti,preventivi WHERE utenti.code=preventivi.user GROUP BY ... campo che vuoi venga ragruppato... 
    http://www.w3schools.com/sql/sql_groupby.asp

    Pero' non so se fa proprio quello che vuoi, visto che nasce per fare somme. Prova.
    WWW.UTMIB.COM site and forum administrator
    www.utmib.com/forum
    Unreal Tournament Men In Black Clan

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    274
    uaz funziona! grazie mille
    Progeny

  4. #4
    Prego, non c'e' di che.

    KEYWORDS: ragruppamento campi ragruppare gruppi sql
    WWW.UTMIB.COM site and forum administrator
    www.utmib.com/forum
    Unreal Tournament Men In Black Clan

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.