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

Discussione: form ricerca

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    123

    form ricerca

    salve a tutti, io vorrei un form di ricerca nel databse del sito del seguente sito:
    *textarea* *selectbox* *tasto cerca*

    In poche paorle in textarea è dove si scrive la ricerca, select box si selezionano i campi..
    Per esempio c'è il campo tutto che cerca in tutto, poi c'è recensioni che cerca solo nel campo "name" della tabella "recensioni"..etc

    grazie ciao

  2. #2
    Non è difficile..sforzati un pochetto..e vedrai che non appena ci riuscirai sarai fiero di te!

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    123
    non vorrei mancarti di rispetto, ma se ho chiesto è perkè non ho la benchè minima idea..quindi per favore evita di dare risposte inutili...Che non è educato..

  4. #4
    Caro Pablo90, trovo che proprio la tua risposta non sia educata.
    Il forum non serve per trovare chi ti fa gli script a gratis, ma per chiedere alla gente un aiuto su di uno script che non funziona.

    Peraltro, non specifichi che tipo di sito hai, se esiste già un DB, se hai competenze.. nulla!

    Nella sezione GUIDE del sito trovi molte informazioni per cercare di mettere mano allo script che ti necessità.
    Butta giù codice e poi vedrai che se hai intoppi qualcuno disposto a dare una manina lo trovi.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    123
    avete ragione, pero io ho provato a farlo, seguendo la vostra guida, ma non funge:
    search.php
    Codice PHP:
    <?
    include("inc/db.inc.php");
    ?>

    <form method=post action="results.php">
    <input type=text name=chiave><input type=submit value=cerca>

    </form>

    results.php

    Codice PHP:
    <?
    include("inc/db.inc.php");

    $keys explode (","$chiave);
    $query "";
    reset ($keys);
    while (list(,
    $parola) = each ($keys))
    $parola trim($parola);
    if (
    $parola != ""){ //questa parentesi non era stata aperta
    $query .= "title  LIKE '%$parola%' OR content LIKE '%$parola%' OR ";}// non c'erano le parentesi x l'if
    }
    $query .= "0";

    $query "SELECT id, title, content FROM tfn_articles WHERE " $query;

    $result mysql_query($query) OR die (mysql_error());
    while (
    $row mysql_fetch_array($result))
    { echo 
    "<a href=\"view.php?id=$row[id]\">$row[title]</a>
    "
    ; }
    ?>

  6. #6
    anche io ho provato seguendo la guida a creare il motore di ricerca all'interno del sito.. e anche a me non funziona.. a me addirittura non funzionano tutti o quasi gli script che ti insegna a creare..

    Se trovi una soluzione al problmea me la cmunicheresti via mp? xke anche io sarei interessato a far fuzionare lo script.
    La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!

  7. #7
    Ecco... ora ragioniamo!

    Innanzi tutto.
    Dici che non funziona, ma quali problemi ti da?
    Genera messaggio di errore?
    Appare una pagina bianca?

    Comunque.... ho notato tutta una serie di cose per cui passo un attimo a correggerti lo script.
    Nella form mancano l'enctype e l'id dei tag di input.

    codice:
    <form method="post" action="results.php" enctype="multipart/form-data">
    <input type="text" id ="chiave" name="chiave" />
    <input type="submit" value="cerca">
    </form>
    Poi, non so con quali impostazioni d'ambiente sviluppi, ma richiamare le variabili passate via post/get come lo fai te potrebbe non essere attivo.
    Per cui (anche per una questione di rigore) fai così:

    Codice PHP:
    <?php
    include("inc/db.inc.php"); 

    $chiave trim($_POST['chiave']);

    // fai un controllo se $chiave sia vuoto o meno
    // andrebbe fatta tutta una serie di controlli di
    // sicurezza sugli input. Tralasciamo per ora

    if(!isset($chiave) OR $chiave "") {
    // messaggio di cortesia e rimandi alla pagina search.php
    } else {
    // ti prepari la stringa SQL
    $sql "SELECT id, title, content FROM tfn_articles WHERE ";

    $keys explode (" "$chiave); 
    // esplodi la stringa per gli spazi bianchi
    // altrimenti dovresti dire ai tuoi utenti 
    // che separassero le stringhe della loro ricerca
    // con una virgola

    $numero count($keys); 

    for (
    $i 0$i <= $numero$i++) {
    $parola $keys[$i];

    $clausola_where .= "
    title  LIKE '%
    $parola%' OR content LIKE '%$parola%' OR 
    "
    ;
    }

    $clausola_where substr($clausola_where, -13);
    // così tolgo l'ultimo OR dalla clausola WHERE

    $sql $sql.$clausola_where

    $result mysql_query($sql) OR die (mysql_error()); 
    while (
    $row mysql_fetch_array($result)) { 
    echo 
    "
    <a href=\"view.php?id=
    $row['id']\">$row['title']</a>
    "




    mysql_free_result($query);


    }
    ?>
    Vedi un po' se funziona???
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    123
    mi restituiva una pagina bianca.. ho provato come mi ha detto, ecco l'errore:


    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in ***/results.php on line 41

    riga 41:
    <a href=\"view.php?id=$row['id']\">$row['title']</a>

    grzie per la disponibilita ciao

  9. #9
    Beh.... da un errore di sintassi nella riga dove stampa il link per muoversi negli articoli trovati.

    prova un po' così:

    Codice PHP:
    while ($row mysql_fetch_array($result)) {
    $id $row['id'];
    $titolo $row['title'];
    echo 
    "
    <a href=\"view.php?id=
    $id\">$titolo</a>   
    "
    ;

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

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    123
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
    il codice completo di results.php
    Codice PHP:
    <?php
    include("inc/db.inc.php");

    $chiave trim($_POST['chiave']);

    // fai un controllo se $chiave sia vuoto o meno
    // andrebbe fatta tutta una serie di controlli di
    // sicurezza sugli input. Tralasciamo per ora

    if(!isset($chiave) OR $chiave "") {
    // messaggio di cortesia e rimandi alla pagina search.php
    } else {
    // ti prepari la stringa SQL
    $sql "SELECT id, title, content FROM tfn_articles WHERE ";

    $keys explode (" "$chiave);
    // esplodi la stringa per gli spazi bianchi
    // altrimenti dovresti dire ai tuoi utenti
    // che separassero le stringhe della loro ricerca
    // con una virgola

    $numero count($keys);

    for (
    $i 0$i <= $numero$i++) {
    $parola $keys[$i];

    $clausola_where .= "
    title  LIKE '%
    $parola%' OR content LIKE '%$parola%' OR
    "
    ;
    }

    $clausola_where substr($clausola_where, -13);
    // così tolgo l'ultimo OR dalla clausola WHERE

    $sql $sql.$clausola_where;

    $result mysql_query($sql) OR die (mysql_error());

    while (
    $row mysql_fetch_array($result)) {
    $id $row['id'];
    $titolo $row['title'];
    echo 
    "
    <a href=\"view.php?id=
    $id\">$titolo</a>   
    "
    ;


    }

    mysql_free_result($query);


    }
    ?>

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.