Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    181

    [php mysql] variabili campi form settate

    Ciao a tutti, ho creato una pagina con un form contenente 4 campi. le parole inserire nei 4 campi vanno a valorizzare 4 variabili utilizzate per fare un unica query.
    ecco un esempio

    FORM VARIABILI
    campo1 - var1
    campo2 - var2
    campo3 - var3
    campo4 - var 4

    Query = SELECT * FROM tabella1 WHERE var1 AND var2 AND var3

    Come posso fare nel caso in cui l'utente non inserisca nessun valore nei campi che la query mi visualizzi tutti i record? sostanzialmente dovrei assegnare un valore di default alla variabile che corrisponda a "tutti i record".
    Stesso discorso se l'utente mi inserisce un solo campo (var1) vorrei che le altre variabili assumessero sempre il solito valore di default che corrisponde a "tutti" in modo da estendere la ricerca.
    Spero di essermi spiegato
    A presto

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    la query, così scritta, non t dovrebbe funzionare anche se l'utente non scrive uno solo dei valori.
    quindi la stringa della query (la parte del where) la devi costruire verificando che le variabili siano presenti, altrimenti scriverti le condizioni solo per quelle inserite, altrimenti non scriverti nessun where...
    spero d essermi spiegato

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    181
    si infatti è proprio questo il problema ma non so come risolverlo. io vorrei che se l'utente riempe un solo campo la query viene effettuata solo con quella variabile se compila due campi con due variabili e cosi via. come posso fare? non mi vengono in mente molte idee. di solito come si fa?
    per esempio guardate questi siti io vorrei forrei fare delle pagine di ricerca come queste come devo fare?

    http://www.sppadbase.com/searchadv.php

    http://www-b.unipg.it/~ripric/query_pubb.php questa è quella che mi piace di più come posso fare per far selezionale all'utente se fare una ricerca con AND o con OR e decidere se ordinare per titolo o autore?

    Spero di avervi spiegato ciò che vorrei fare con sufficente chiarezza

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    181
    qualcuno mi sa aiutare?

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    mi sa che non mi ero spiegato...

    allora , la prima parte di query la tieni ,

    Query = "SELECT * FROM tabella1 "

    poi costruisci l'eventuale parte del where
    cominci a vedere se almeno una variabile è definita, altrimenti nn fai nulla

    if (var1<>'') or (var2<>'') or (var3<>'') {
    Query = Query . "where "
    concatena = ''

    //adesso devi verificare , una per una, le variabili.

    if (var1<>'') {
    Query = Query . (nome campo) . "=" . (var1)
    concatena = " and "
    }

    if (var2<>'') {
    Query = Query . concatena . (nome campo) . "=" . (var2)
    concatena = " and "
    }

    //e lo fai per le variabili che ti servono
    }
    Query = Query . ";"

    questo è il metodo più semplice.
    dimmi se non ti è chiaro qualcosa.

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    181
    molto interessante alcune precisazioni abbi un po di pazienza:
    1. perchè per vedere se la variabile è definita usi var(<>) e non ad esempio la funzione empty? <> cosa sifnifica?
    2. praticamente se una o tutte e tre levaribili sono definite fai la query con solo le variabili definite altrimenti fai la query senza usare la funziona where e quindi mi seleziona tutti i campi. che idea sei un grande. io sono novizio del php e ancora non ho le fondamenta abbastanza solide
    3. io ho costruito la query con questa struttura
    select tab1.colonna1, tab2.colonna3 FROM tab1, tab2 WHERE tab1.id = tabb.rif AND tab1id = var1 per cui con questa struttura dovrei cambiare il tuo script cosi giusto?


    query = select tab1.colonna1, tab2.colonna3 FROM tab1, tab2 WHERE tab1.id = tabb.rif

    if (var1<>'') or (var2<>'') or (var3<>'') {
    Query = Query .
    concatena = " and ''

    //adesso devi verificare , una per una, le variabili.

    if (var1<>'') {
    Query = Query . (nome campo) . "=" . (var1)
    concatena = " and "
    }

    if (var2<>'') {
    Query = Query . concatena . (nome campo) . "=" . (var2)
    concatena = " and "
    }

    //e lo fai per le variabili che ti servono
    }
    Query = Query . ";"

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    181
    ?

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    181
    gaullo quello che ho scritto è giusto?

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.