Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Selezionare tutti i campi oppure alcuni campi di un db

    Non ricordo come posso fare per cercare tutti o alcuni campi di un database.
    Mi spiego meglio, ho la necessita' di prendere l'email di tutti i clienti oppure solo quella di un determinato gruppo di clienti.

    Attualmente uso il where hotel='$hotel' per prendere tutti i campi dei clienti che sono stati in un determinato hotel scelto la pagina prima dal form del menu a tendina, ma nel menu a tendina ho anche inserito il nome "visualizza tutti", a quel punto come faccio a far capire allo script che deve pescarli tutti e non solo quelli di quell'hotel?
    Mai dire Mai

  2. #2
    Devi eliminare la clausola where dalla query.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Originariamente inviato da satifal
    Devi eliminare la clausola where dalla query.
    si lo so, ma a sto punto vuol dire che devo fare 2 query? una con la clausola e una senza?
    il problema e' che ho piu' "filtri", quindi ogni volta dovrei fare query diverse?
    Mai dire Mai

  4. #4
    Immagino di si, ma puoi comporle dinamicamente in base ai filtri, aggiungendo o meno sottostringhe alla query.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it L'avatar di DjBart
    Registrato dal
    Jan 2009
    Messaggi
    346
    Prova cosi
    A posto di
    Codice PHP:
    WHERE 
    metti
    Codice PHP:
    ORDER BY `idDESC 

  6. #6
    Originariamente inviato da satifal
    Immagino di si, ma puoi comporle dinamicamente in base ai filtri, aggiungendo o meno sottostringhe alla query.
    infatti non capisco come crearla dinamicamente, alla fine i campi per ora sono 2

    hotel
    linea chiamata

    nel form della pagina precedente scelgo nel menu a tendina l'hotel oppure "tutti"
    e la linea chiamata un numero che va da 1 a 5, oppure tutte.

    come la creo questa query dinamicamente?
    Mai dire Mai

  7. #7
    Puoi fare una cosa del genere:

    Codice PHP:
    ...
    $hotel $_POST['hotel'];
    $linea $_POST['linea'];

    $query "SELECT colonna1, colonna2, ... FROM tabella WHERE 1";

    if (
    $hotel != "tutti") {
        
    $query .= " AND hotel = '$hotel'";
    }

    if (
    $linea != "tutte") {
        
    $query .= " AND linea = '$linea'";
    }
    ... 
    Ovviamente adattandolo alle tue esigenze.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Originariamente inviato da satifal
    Puoi fare una cosa del genere:

    Codice PHP:
    ...
    $hotel $_POST['hotel'];
    $linea $_POST['linea'];

    $query "SELECT colonna1, colonna2, ... FROM tabella WHERE 1";

    if (
    $hotel != "tutti") {
        
    $query .= " AND hotel = '$hotel'";
    }

    if (
    $linea != "tutte") {
        
    $query .= " AND linea = '$linea'";
    }
    ... 
    Ovviamente adattandolo alle tue esigenze.
    perfetto, e' proprio come mi serviva, graziee
    Mai dire Mai

  9. #9
    l'unico problema e' che la mia query ha anche altre clausole che sono:
    Codice PHP:
    trim(email) != '' and data_partenza <= NOW() and storico !='3' order by email asc 
    questo e' il codice che funziona attualmente e devo aggiungere le clausole sopra indicate
    Codice PHP:
    $sql "select nome, cognome, email, hotel, DATE_FORMAT(data_partenza, '%d/%m/%y') AS data_partenza from gestione where 1";
    if (
    $hotel != "tutti") {
        
    $sql .= " AND hotel = '$hotel'";
    }
    if (
    $linea != "tutte") {
        
    $sql .= " AND linea = '$linea_chiamata'";

    dove le aggiungo?
    Mai dire Mai

  10. #10
    ok, ho sistemato anche questo
    Mai dire Mai

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.