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

    Motore di ricerca in MySQL per l'estrazione dei dati

    Buongiorno ragazzi,
    dovrei riuscire a creare un motore di ricerca che peschi dalle diverse tabelle del mio database strutturato in mysql. Non riesco a capacitarmi come possa scrivere il codice in base ad un input da tastiera dell'utente.

    Potreste cortesemente, se a conoscenza, indicarmi qualche link o tutorial per cui possa prenderli a modello ed adeguarli al mio progetto?

    Molte grazie.

    p.s.: sul web trovo chi utilizza l'struzione LIKE chi non la utilizza, mi sembra u po' una giungla. S'è presente magari qualcuno con esperienza che mi possa consigliare una direttiva più adatta sarebbe cosa gradita.

    Saluti

  2. #2
    Ciao,
    intanto crei un form con un campo di input di testo ed un bottone per la ricerca, poi puoi decidere se effettuare la ricerca tramite get o post.
    In ogni caso LIKE lo puoi anche usare, è a mio parere più semplice..

    un esempio potrebbe essere:

    Codice PHP:
    <form method="post">
    <input type="text" name="chiave"> <input type="submit" name="cerca">
    </form>
    <?
    //esegui una query che cerca tra il campo che vuoi tu il valore che inseriscono esempio
    $query="SELECT * FROM 'tabella' WHERE 'campo' LIKE '%$chiave%' ";
    //poi prosegui per come ti pare...
    Ti consiglio comunque di usare gli escape nelle variabili per evitare che qualche male intenzionato faccia il furbetto...

  3. #3
    Grazie frenkytribe,
    stavo già iniziando a fare rimandi ad altre pagine di php per postare il risultato:
    codice:
    <div id='cerca'>
    <form name='cerca' method='post' action='index.php?page=cerca'>
    Ricerca:
    
    <input type='text name='cerca' />
    <input type='submit' value='Invia' />
    </form>
    </div>
    Forse mi conviene come mi hai suggerito di postare tutto sulla stessa pagina e man mano che tutto prende corpo poi tentare di rimandare il risultato della ricerca su un'altra pagina.

    Questo è il codice che avevo creato sulla pagina cerca.php come esecuzione della query.
    Codice PHP:
    $query "SELECT * FROM Opera  WHERE TipoOpera LIKE '%$cerca%'OR Titolo LIKE '%$cerca%'OR Tecnica LIKE '%$cerca%'OR Anno LIKE '%$cerca%'OR Collocazione LIKE '%$cerca%' OR AreaCompetenza LIKE '%$cerca%' OR Altezza LIKE '%$cerca%' OR Larghezza LIKE '%$cerca%' OR Profondita LIKE '%$cerca%' OR Durata LIKE '%$cerca%' OR TitoloOriginale LIKE '%$cerca%' OR TitoloInternazionale LIKE '%$cerca%' OR GenereFilm LIKE '%$cerca%' OR AutoreFotografia LIKE '%$cerca%' OR AutoreScenografia LIKE '%$cerca%' OR FormaMusicale LIKE '%$cerca%' OR Tonalità LIKE '%$cerca%' OR IdentificativoOpera LIKE '%$cerca%' OR Data_e_LuogoPrimaEsecuzione LIKE '%$cerca%' OR Organico LIKE '%$cerca%' OR InformazioniLibretto LIKE '%$cerca%' OR IncipitMusicale LIKE '%$cerca%' OR IncipitMusicaleModerno LIKE '%$cerca%' OR  DataCreazione LIKE '%$cerca%' OR DataUltimaModifica LIKE '%$cerca%' OR data LIKE '%$cerca%'";

    $result $__MYSQLI->query($query);
    if (
    $result->num_rows 0
    while( 
    $now$result->fetch_assoc() )

    {
    $TipoOpera $row['tipo'];
    $Titolo $row['titolo'];
    $Tecnica $row['tecnica'];
    $Anno $row['anno']; 
    La mia preoccupazione è che sono tante tabelle da unire poi col join ed anche la visualizzazione di file ed immagini che il database dovrà contere. Forse mi conviene iniziare da piccole query di testo per poi aggregare il tutto.

    Mi sembra un'impresa faraonica

    Molte grazie ancora

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    se vuoi una ricerca fatta bene interamente al sito ti conviene utilizzare un search engine ben fatto ed integrarlo nel tuo sito, come ad esempio lucene o solr
    sometimes it's just like teaching pigs how to fly

  5. #5
    Originariamente inviato da nickcv
    se vuoi una ricerca fatta bene interamente al sito ti conviene utilizzare un search engine ben fatto ed integrarlo nel tuo sito, come ad esempio lucene o solr
    Sì, effettivamente sono troppe... Consiglio anch'io di usare un search engine.

  6. #6
    Ciao,
    potresti spiegarti meglio cosa intendi? Non ho mai sentito parlare di lucene o solr.
    Sono dei moduli creati da software house che si integrano al mio codice php e che io adatto in base allle mie tabelle?

  7. #7
    sono si delle implementazioni al tuo codice, sono open source e fatte da alcune software house, Lucene usa il java ed ha la possibilità di darti sia risultati singoli che multipli..

    Però ascolta...
    Non voglio assolutamente demoralizzarti, ma se non sai di che si tratta ti consiglio di nemmeno provare a metterci mano.... Fai i tuoi script in php che alla fine sai tu cosa stai scrivendo e puoi farci quello che vuoi e soprattutto sai dove andare a mettere le mani...

    L'impresa non è poi così difficile... Prova e se non riesci il forum è sempre quì a tua disposizione

  8. #8
    In realtà il mio è un progetto di tesi per cui utilizzare moduli software da terzi inizierebbe davvero ad essere problematico, e non molto consono con la validità del mio elaborato. Mi muoverò forse un po' più lentamente visto che sono alle prime armi con php ma spero di poter riuscire a realizzare quanto ho in mente.

    Sicuramente una volta discussa la tesi potrò migliorare ed ottimizzare il progetto con quanto mi avete suggerito, anche perché dovrà essere utilizzato in ambito lavorativo.

    Credo che farò un uso smodato del vostro forum, molte cose le ho apprese da voi e prendere libri su php non servono, a mio avviso, perché indirizzano in applicazioni distanti dalla nostra concezione finale dell'elaborato.

    Grazie a tutti e buona serata.

    A presto

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.