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

Discussione: Motore di ricerca

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232

    Motore di ricerca

    Vorrei realizzare un motore di ricerca in PHP che faccia una ricerca solo su un determinato campo del DB e che se la parola combacia, mi restituisca a video tutto il recordset.

    Ho cercato di seguire questa guida http://php.html.it/guide/lezione/228...re-di-ricerca/ ma quando faccio cerca mi appare pagina bianca e non sò cosa non sia andato, che mi consigliate?

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232
    UP!

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232
    Gentilmente, mi date qualche suggerimento?

  4. #4
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232
    Si, lo avevo già fatto... stò muovendo i primi passi con PHP... ho iniziato a seguire questa guida http://php.html.it/guide/lezione/228...re-di-ricerca/ poiché mira più alle mie esigenze, dove pensi che sbagli se ho pagina bianca?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    2,008
    Posta il codice che usi cosi se hai dimenticato qualcosa lo vediamo

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232
    Questo è il search.php

    <?
    include("top_foot.inc.php");
    include("config.inc.php");
    top();
    ?>
    <form method=post action=result.php>
    <input type=text name=chiave><input type=submit value=cerca>

    </form>
    <?
    foot();
    ?>
    e questo è il result.php


    <?
    include("top_foot.inc.php");
    include("config.inc.php");
    top();

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    $keys = explode (",", $chiave);
    $query = "";
    reset ($keys);
    while (list(,$parola) = each ($keys))
    { $parola = trim($parola);
    if ($parola != "")
    $query .= "cf LIKE '%$parola%' OR ";
    }
    $query .= "0";
    $query = "SELECT id, cf, data FROM progetto WHERE " . $query;
    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result))
    { echo "" . date("j/n/y", $row[data]) . " - $row[cf]
    "; }
    foot()
    ?>

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232
    Chi mi aiuta a fare un semplice motore di ricerca?

  9. #9
    Questo script presuppone che la direttiva global register sia attiva.
    Questo è tipico di script piuttosto datati.

    Attualmente, a dire la verità da qualche anno, php ha di default globa register su off (questo migliora notevolmente la sicurezza).

    Quindi la tua $chiave devi recuperarla nell'array superglobale $_POST.

    In parole povere devi sostiuire $chiave con $_POST['chiave']
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232
    Ho fatto le modifiche che mi hai detto

    <?
    include("top_foot.inc.php");
    include("config.inc.php");
    top();

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    $keys = explode (",", $_POST['chiave']);
    $query = "";
    reset ($keys);
    while (list(,$parola) = each ($keys))
    { $parola = trim($parola);
    if ($parola != "")
    $query .= "cf LIKE '%$parola%' OR ";
    }
    $query .= "0";
    $query = "SELECT id, cf, data FROM progetto WHERE " . $query;
    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result))
    { echo "" . date("j/n/y", $row[data]) . " - $row[cf]
    "; }
    foot()
    ?>
    ma non va!

    Tu, in un modo più moderno visto che dici che questo script è un pò datato, come faresti? Mi sai consigliare qualche tutorial, ho letto il tuo topic ma mi sono perso...

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.