Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: script di ricerca

  1. #1
    Utente di HTML.it L'avatar di quecha
    Registrato dal
    Oct 2007
    Messaggi
    176

    script di ricerca

    ciao a tutti!
    ho realizzato un db all'interno del quale ci sono dei dati relativi ai fornitori, ai clienti ed alle taglie dei vestiti.
    Quando inserisco il mio
    Codice PHP:
    mysql_query("SELECT * FROM fornitori WHERE ragione_sociale LIKE '%$ragione_sociale%' AND partita_iva LIKE '%$partita_iva%' AND contatto LIKE '%$contatto%' AND indirizzo LIKE '%$indirizzo%' AND citta LIKE '%$citta%' AND provincia LIKE '%$provincia%' AND cap LIKE '%$cap%' AND zona LIKE '%$zona%' AND telefono LIKE '%$telefono%' AND fax LIKE '%$fax%' AND codice_pagamento LIKE '%$codice_pagamento%' AND codice_banca LIKE '%$codice_banca%' AND agenzia LIKE '%$agenzia%' AND sconti LIKE '%$sconti%' AND addebito_spese LIKE '%$addebito_spese%' AND tolleranza_ritardo LIKE '%$tolleranza_ritardo%' AND note LIKE '%$note%' ORDER BY ragione_sociale LIMIT $first$x_pag"); 
    come risultati mi fa vedere tutti i dati presenti nel db anche non relativi ai campi di ricerca.
    Come mai?
    Come posso rimediare?
    Vedere il mondo in un granello di sabbia
    e il cielo in un fiore di campo,
    tenere l'infinito nel palmo della mano e l'eternità in un'ora.
    William Blake

  2. #2
    O.o cos'è % prima e dopo tutte le variabili?!?! non l'ho mai usato.....
    Cerco Sviluppatori Flash: http://forum.html.it/forum/showthread.php?threadid=1418906

  3. #3
    se non erro nel SELECT devi decidere cosa selezionare,se scrivi * ti prende tutti i campi.

  4. #4
    Utente di HTML.it L'avatar di quecha
    Registrato dal
    Oct 2007
    Messaggi
    176
    il % è un modo di dire tutto quello che viene prima e dopo la variabile.
    Dovrei scrivere una cosa tipo
    Codice PHP:
     mysql_query("SELECT ragione_sociale,partita_iva,contatto,indirizzo,id FROM fornitori WHERE ragione_sociale LIKE '%$ragione_sociale
    così?
    Vedere il mondo in un granello di sabbia
    e il cielo in un fiore di campo,
    tenere l'infinito nel palmo della mano e l'eternità in un'ora.
    William Blake

  5. #5
    sisi.. ma quello lo sapevo.. come su windows se cerchi nei files tipo *.doc tronva tutti i doc... *.* trova tutti i files con tutte le estensioni...

    ma dico.. quando fai

    LIKE '%$variabile%'

    quei % a cosa servono?
    Cerco Sviluppatori Flash: http://forum.html.it/forum/showthread.php?threadid=1418906

  6. #6
    si,dovrebbe andar bene.

  7. #7
    Utente di HTML.it L'avatar di quecha
    Registrato dal
    Oct 2007
    Messaggi
    176
    Allora.....ho scritto questo:
    Codice PHP:
    mysql_query("SELECT ragione_sociale, contatto, indirizzo, telefono, id FROM fornitori WHERE ragione_sociale LIKE '%$ragione_sociale%' AND contatto LIKE '%$contatto%' AND indirizzo LIKE '%$indirizzo%' AND telefono LIKE '%$telefono%' ORDER BY ragione_sociale LIMIT $first$x_pag"); 
    Però vedo sempre tutti i campi del db.....come mai?
    Vedere il mondo in un granello di sabbia
    e il cielo in un fiore di campo,
    tenere l'infinito nel palmo della mano e l'eternità in un'ora.
    William Blake

  8. #8
    ecco perchè tutte le ricerche le ho sempre fatte con l'eregi... se metti

    dentro al while che ti visualizza i tuoi risultati metti

    if(eregi($ragione_sociale, $query['ragione_sociale']) or eregi($contatto, $query['contatto']) or.......

    e la query fai solo

    SELECT ragione_sociale, contatto, indirizzo, telefono, id FROM fornitori ORDER BY ragione_sociale LIMIT $first, $x_pag


    cosi funziona sikuro 100% garantito.

    la query ci metterà qualche millesimo di secondo in più ad essere eseguita.. però non ti vai ad incasinare con query troppo complicate... viene solo una lista di eregi divise dall'or
    Cerco Sviluppatori Flash: http://forum.html.it/forum/showthread.php?threadid=1418906

  9. #9
    Utente di HTML.it L'avatar di quecha
    Registrato dal
    Oct 2007
    Messaggi
    176
    scusa ma non ho capito dove mettere il tutto.....
    Vedere il mondo in un granello di sabbia
    e il cielo in un fiore di campo,
    tenere l'infinito nel palmo della mano e l'eternità in un'ora.
    William Blake

  10. #10
    Originariamente inviato da Dedo93
    quei % a cosa servono?
    Il carattete di %, in una clausola WHERE di SQL, indica un carattere jolly, e viene utilizzato per fare query ti ricerca all'interno di un DB.
    Un qualiasi script che implementa un motore di ricerca in una pagina PHP utilizza quel carattere.
    Vi spiego come.

    Codice PHP:
    $chiave "abcd";

    $sql1 "SELECT * FROM tabella WHERE chiave = '%$chiave' ";
    // visualizza tutti i record che hanno il valore nella colonna
    // chiave che ha abcd come ultimi caratteri

    $sql2 "SELECT * FROM tabella WHERE chiave = '$chiave%' ";
    // visualizza tutti i record che hanno il valore nella colonna
    // chiave che ha abcd come primi caratteri

    $sql3 "SELECT * FROM tabella WHERE chiave = '%$chiave%' ";
    // visualizza tutti i record che hanno il valore nella colonna
    // chiave che ha abcd come caratteri all'interno della stringa
    // può contenere all'interno il valore di $chiave, ma anche 
    // iniziare o finire per quel valore 
    Spero di essere stato chiaro.
    Ad ogni modo, ricordo a tutti che c'è la documentazione online di MYSQL nel sito ufficiale del DBMS, nonché la sezione DATABASE in questo sito.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.