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

    [Aiutooo] Ricerca selettiva nel DB

    Probabilmente sarà una cosa banale, ma non riesco a capire come si fa.
    Uno script per la gestione di automobili usate mi crea una scheda per ciascuna auto (marca, modello, km, anno, colore ecc ecc ecc), se io volessi creare una pagina per la ricerca dettagliata tra queste schede come devo fare?
    Cioè, l'ho già fatta e funziona solo che ha una limitazione (errore mio di sicuro), vuole che siano compilati tutti i campi della query e non solo alcuni.
    Io vorrei poter effettuare delle ricerche per esempio compilando solo alcuni campi, per es: la marca + i km, oppure il modello + l'anno + i km e via dicendo; invece come l'ho fatta io vuole che siano compilati tutti i campi, se ne salto uno solo la ricerca da esito nullo...non trova niente.
    Dov'è l'errore? O meglio, cosa devo aggiungere?
    Grazie a tutti.

  2. #2
    sei stato molto generico...

    dal topic penso che tu usi php...che database utilizzi..mysql?
    come è strutturato il database?

    cmq basta che crei delle form diverse interfacciate con query diverse..ovviamente non puoi usare una sola query per fare ricerche diverse...

  3. #3
    [supersaibal]Originariamente inviato da Whitecrowsrain
    sei stato molto generico...

    dal topic penso che tu usi php...che database utilizzi..mysql?
    come è strutturato il database?

    cmq basta che crei delle form diverse interfacciate con query diverse..ovviamente non puoi usare una sola query per fare ricerche diverse... [/supersaibal]
    Hai ragione scusa....ma php non è il mio forte

    Cmq uso Mysql.
    E' strutturato che c'è una tabella "scheda" e all'interno vari campi quali "marca", "modello", "anno", "km", "colore" ecc ecc ecc
    Facendo come dici tu posso per esempio creare un form e fare una ricerca compilando solo alcuni campi?
    Grazie!

  4. #4
    allora il form serve solo per inserire i dati da passare alla query
    mysql che fa la ricerca all'interno del tuo database..

    quando fai una ricerca nel database la query usata è
    Codice PHP:
    $query "select [b]campi[/B] from [B]tabella[/B] where [B]condizione[/B]" ;
    $resultmysql_query($query) or die("Errore :".mysql_error() );
    $trovati[] = mysql_fetch_assoc($result); 
    dove
    1)campi sta i campi della tabella che vuoi vedere (scrivi * per vederli tutti
    2)tabella sta per la tabella in cui fai la selezione(nel tuo caso auto)
    3)condizione sta per la condizione per cui vengono scelti quei valori che vuoi tirare fuori...

    il 3°punto è un po' più complesso e te lo spiego :
    se nel tuo form c'è una ricerca per marca km e colore

    devi scrivere
    codice:
    WHERE colore ='$colore' AND marca ='$marca' AND km='$km'
    dove ovviamente i valori $colore $marva e $km sono quelli provenienti dal form

    se invece solo per marca ci metti solo WHERE marca ='$marca'
    e così via...

    $trovati[] è una array di tutti i risultati trovati...te lo estrai tutto con un ciclo...

    spero di averti aiutato...

  5. #5
    Il prefisso [aiutoo] è assolutamente vietato dal regolamento
    Addio Aldo, amico mio... [03/12/70 - 16/08/03]

  6. #6
    [supersaibal]Originariamente inviato da gm
    Il prefisso [aiutoo] è assolutamente vietato dal regolamento [/supersaibal]
    Scusaaaaaaaaaaaaaaaaaa....
    erano le 2 di notte... con 39° di febbre ... il giorno del mio compleanno....
    Basta come scusa?

  7. #7
    [supersaibal]Originariamente inviato da Whitecrowsrain


    spero di averti aiutato... [/supersaibal]
    Grazie, sei stato gentilissimo...dopo provo e vediamo se ho capito

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    82
    riesumo questo topic per non aprirne un altro.

    Come posso far si che le condizioni non siano obbligatorie nella ricerca ossia, se l'utente vuole ricercare solo per marca o solo per km o decidere qualora volesse di non riempire nessun input e visualizzare tutti i records?


  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    82
    up

  10. #10
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    $query="SELECT * FORM TABELLA WHERE 1 ";
    if( strlen($marca)>0 ) $query.="AND MARCA LIKE '%$marca%'";
    if( strlen($modello)>0 ) $query.="AND modello LIKE '%$modello%'";

    ...

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.