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

    motore di ricerca: aiuto formulazione query

    ciao a tutti

    devo realizzare un motore di ricerca all'interno di un catalogo su db secondo questi filtri di ricerca, l'utente puo ricercare anche con uno o più campi di ricerca, in modo da poter restringere il campo dei risultati

    campi:

    Autore
    Titolo
    Editore
    Argomento
    Supporto
    ISBN

    come devo impostare la query in modo che funzioni?
    grazie.

  2. #2
    Be', devi usare la clausola WHERE per attivare un filtro, quindi la tua query sarà una cosa sui generis:

    SELECT * FROM tabella WHERE Autore LIKE '$search';

    dove $search è il valore immesso nel campo di testo dall'utente.

    Ovviamente puoi anche crearti degli indici fulltext, allora in quel caso potrai avere un riscontro di risultati più sofisticato.

  3. #3
    io ho messo

    SELECT * FROM catalogo WHERE editore = '%s' or autore = '%s' or titolo = '%s' or isbn = '%s' or prezzo = '%s' or supporto = '%s' or argomento = '%s'"

    ma cosi non mi fa una ricerca sul testo parziale ( es: scrivo feltr e mi tira fuori feltrinelli) e se cerco su due campi nel risultato mi tira fuori tutto senza restringere il risultatato (es: cerco per autore ed editore mi tira fuori il record con l'autore cercato ma anche tutti quelli con quella casa editrice)

    un aiuto grazie nn so dove sbattere la testa!!

  4. #4
    continua a nn andare vi posto tutto se qualche buonanima volesse darci un'occhiata

    <?php require_once('Connections/cms.php'); ?>
    <?php
    if (isset($HTTP_POST_VARS['editore'])) {
    $col_SEARCH = (get_magic_quotes_gpc()) ? $HTTP_POST_VARS['editore'] : addslashes($HTTP_POST_VARS['editore']);
    }

    if (isset($HTTP_POST_VARS['autore'])) {
    $col2_SEARCH = (get_magic_quotes_gpc()) ? $HTTP_POST_VARS['autore'] : addslashes($HTTP_POST_VARS['autore']);
    }

    if (isset($HTTP_POST_VARS['titolo'])) {
    $col3_SEARCH = (get_magic_quotes_gpc()) ? $HTTP_POST_VARS['titolo'] : addslashes($HTTP_POST_VARS['titolo']);
    }

    if (isset($HTTP_POST_VARS['isbn'])) {
    $col4_SEARCH = (get_magic_quotes_gpc()) ? $HTTP_POST_VARS['isbn'] : addslashes($HTTP_POST_VARS['isbn']);
    }

    if (isset($HTTP_POST_VARS['prezzo'])) {
    $col5_SEARCH = (get_magic_quotes_gpc()) ? $HTTP_POST_VARS['prezzo'] : addslashes($HTTP_POST_VARS['prezzo']);
    }

    if (isset($HTTP_POST_VARS['supporto'])) {
    $col6_SEARCH = (get_magic_quotes_gpc()) ? $HTTP_POST_VARS['supporto'] : addslashes($HTTP_POST_VARS['supporto']);
    }

    if (isset($HTTP_POST_VARS['argomento'])) {
    $col7_SEARCH = (get_magic_quotes_gpc()) ? $HTTP_POST_VARS['argomento'] : addslashes($HTTP_POST_VARS['argomento']);
    }
    mysql_select_db($database_cms, $cms);
    $query_SEARCH = "SELECT * FROM catalogo WHERE editore = '$col_SEARCH' or autore = '$col2_SEARCH' or titolo = '$col3_SEARCH' or isbn = '$col4_SEARCH' or prezzo = '$col5_SEARCH' or supporto = '$col6_SEARCH' or argomento = '$col7_SEARCH'";
    $SEARCH = mysql_query($query_SEARCH, $cms) or die(mysql_error());
    $row_SEARCH = mysql_fetch_assoc($SEARCH);
    $totalRows_SEARCH = mysql_num_rows($SEARCH);
    ?>
    <?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>

    <body>


    Attenzione! Nessun dato presente con i parametri di ricerca utilizzati</p>


    Nuova ricerca</p>



    <?php do { ?>
    <table width="406" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="406"><?php echo $row_SEARCH['autore']; ?></td>
    </tr>
    <tr>
    <td><?php echo $row_SEARCH['titolo']; ?></td>
    </tr>
    <tr>
    <td><?php echo $row_SEARCH['editore']; ?></td>
    </tr>
    <tr>
    <td><?php echo $row_SEARCH['argomento']; ?><?php echo $row_SEARCH['supporto']; ?> </td>
    </tr>
    <tr>
    <td>isbn: <?php echo $row_SEARCH['isbn']; ?> &euro; <?php echo $row_SEARCH['prezzo']; ?> </td>
    </tr>
    <tr>
    <td></td>
    </tr>
    </table>
    <?php } while ($row_SEARCH = mysql_fetch_assoc($SEARCH)); ?>


    </p>


    risultati: / </p>


    Primo Indietro Avanti Ultimo</p>


    Nuova ricerca</p>
    </body>
    </html>
    <?php
    mysql_free_result($SEARCH);
    ?>

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.