Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1

    Problema con form select per ricerca nel DB

    Domanda semplice: perchè questo "tentativo" di script php per la ricerca nel database non funziona? non mi mostra risultati...


    <?

    include("connection.inc");

    $dbname="utenti";

    mysql_select_db('utenti',$conn);

    function visualizzaform(){

    echo "<form name=\"search\" action=\"genere.php\" method=\"post\">Cerca per genere dell'opera:";
    echo "<select name=\"filter\" size=\"1\">";
    echo "<option name=\"scelta\" value=\"0\">Tutte</option>";
    echo "<option name=\"scelta\" value=\"1\">Aforisma</option>";
    echo "<option name=\"scelta\" value=\"2\">Epistola</option>";
    echo "<option name=\"scelta\" value=\"3\">Poesia</option>";
    echo "<option name=\"scelta\" value=\"4\">Racconto Breve</option>";
    echo "<option name=\"scelta\" value=\"5\">Racconto Lungo</option></select>";
    echo "<input type=\"submit\" name=\"cerca\" value=\"cerca\" />
    ";
    echo "</form>";

    }


    if (!isset($_POST['submit'])) {

    visualizzaform();

    }

    else if (isset($_POST['submit'])) {



    $scelta= $_REQUEST['scelta'];

    $sql="SELECT * FROM opere WHERE genere LIKE '%$scelta%'";

    $risultato= mysql_query($sql);

    $total= mysql_num_rows($risultato);

    if ($total == 0) {

    echo "Non ho trovato niente!";
    }
    else
    {

    while( $r = mysql_fetch_array($risultato))
    {
    echo $r['autore'] . "
    ";
    echo $scelta1 ;
    }

    }

    }


    ?>

  2. #2
    cambierei questa parte qui

    if (!$_POST['scelta']) {

    visualizzaform();

    } else {

    $sql="SELECT * FROM opere WHERE genere LIKE '%".$_POST['scelta']."%'";
    Planet Earth is blue and there's nothing I can do

  3. #3
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    oltre a quelle di sandro io farei anche cosi:

    Codice PHP:
     <?

    include("connection.inc");
    $dbname="utenti";
    mysql_select_db('utenti',$conn);

    function 
    visualizzaform(){

    echo 
    "<form name=\"search\" action=\"\" method=\"post\">Cerca per genere dell'opera:";
    echo 
    "<select name=\"filter\" size=\"1\">";
    echo 
    "<option name=\"scelta\" value=\"0\">Tutte</option>";
    echo 
    "<option name=\"scelta\" value=\"1\">Aforisma</option>";
    echo 
    "<option name=\"scelta\" value=\"2\">Epistola</option>";
    echo 
    "<option name=\"scelta\" value=\"3\">Poesia</option>";
    echo 
    "<option name=\"scelta\" value=\"4\">Racconto Breve</option>";
    echo 
    "<option name=\"scelta\" value=\"5\">Racconto Lungo</option></select>";
    echo 
    "<input type=\"submit\" name=\"cerca\" value=\"cerca\" />
    "
    ;
    echo 
    "</form>";

    }

    if (!isset(
    $_POST['cerca'])) {

    visualizzaform();

    } else if (isset(
    $_POST['cerca'])) {

    $scelta$_POST['filter'];

    $sql="SELECT * FROM opere WHERE genere LIKE '%$scelta%'";

    $risultatomysql_query($sql);
    $totalmysql_num_rows($risultato);

    if (
    $total == 0) {

    echo 
    "Non ho trovato niente!";
    }else{

    while( 
    $r mysql_fetch_array($risultato)){
    echo 
    $r['autore'] . "
    "
    ;
    echo 
    $scelta1 ;
    }

    }

    }


    ?>

  4. #4
    Originariamente inviato da Sandro M.
    cambierei questa parte qui

    if (!$_POST['scelta']) {

    visualizzaform();

    } else {

    $sql="SELECT * FROM opere WHERE genere LIKE '%".$_POST['scelta']."%'";
    ho provato ma continua a non visualizzarmi risultati a schermo nonostante vari record del database soddifsfino la condizione...

  5. #5
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    se tu guardi quello che ho postati io, vedi che c'è qualche differenza...

  6. #6
    Originariamente inviato da Sandro M.
    cambierei questa parte qui

    if (!$_POST['scelta']) {

    visualizzaform();

    } else {

    $sql="SELECT * FROM opere WHERE genere LIKE '%".$_POST['scelta']."%'";
    ho provato ma continua a non visualizzarmi risultati a schermo nonostante vari record del database soddifsfino la condizione...

  7. #7
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    stai provando quello che ho scritto io o quello che ha fatto sandro?

  8. #8
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    prova cosi (come diceva sandro)

    Codice PHP:
    ....
    if (!
    $_POST['cerca']) { 

    visualizzaform(); 

    } else { 
    ... 

  9. #9
    Originariamente inviato da kodode
    se tu guardi quello che ho postati io, vedi che c'è qualche differenza...
    si, è vero, ma penso non sia ancora perfetto...

    $scelta= $_POST['filter'] ---> $scelta= $_POST['scelta'];

    ho messo cosi perchè senno non mi trovava niente.

    Però adesso mi visualizza tutti i record presenti nel database (a proposito, sono divisi in id,autore,soggetto,genere,composizione), senza nessuna distinizione, io voglio invece che se un utente sceglie "poesia" siano visualizzati autore,genere,soggetto e composizione di chi ha scritto un opera di genere "poesia"..non so se mi sono fatto capire!

  10. #10
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    risolviamo un problema alla volta
    allora fatti stampare a video la query eseguita
    con entrambe le versioni : scelta e filter
    e postala...

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.