Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    5

    Dov'è l'errore (o gli errori)?

    Ho un problema con uno script php o con un form. Ci deve essere qualcosa che non va. Qualcuno può aiutarmi?

    #Questo è il form html:

    <html>
    <body bgcolor="black">
    <TITLE>RICERCA COCKTAILS</TITLE>
    <h3><font color="lightblue" size=4>Benvenuto sulla pagina di ricerca.</h3>


    <center>
    Per ricercare un cocktail, compila il modulo sottostante e clicca su "Ricerca".
    Se non conosci qualche dato (per esempio conosci gli ingredienti ma non il nome), lascia pure bianco il campo.

    <form method="GET" action="cercacocktails.php">
    Nome:
    <input type="text" size="30" name="nome">

    Ingredienti:
    <input type="text" size="30" name="ingredienti">

    Descrizione:
    <input type="text" size="30" name="descrizione">

    <input type="submit" name="search" value="Ricerca">
    </form>
    </center></font>
    </body>
    </html>


    #Questo è lo script php:

    <html>
    <body bgcolor="black">
    <font size=6 color="lightblue">
    Risultati ricerca nell'archivio
    </font>
    <font size=4 color="white">
    <?php
    include ("setting.inc.php");
    mysql_connect ($host,$username,$password) or die ("Errore connessione al server");
    mysql_select_db ("my_bereweb") or die ("Errore nell'accesso al database");
    $nome = trim(strtolower($_GET['nome']));
    $ingredienti = trim(strtolower($_GET['ingredienti']));
    $descrizione = trim(strtolower($_GET['descrizione']));
    IF ($nome == NULL)
    {
    IF ($ingredienti == NULL)
    {
    IF ($descrizione == NULL)
    {
    $query = "SELECT nome, url FROM cocktails";
    $risultati = mysql_query($query) or die ("Errore durante la ricerca");
    $num_ris = "mysql_num_rows($query)";
    PRINT ("Sono stati trovati ");
    PRINT ($num_ris);
    PRINT (" risultati.

    <hr>

    ");
    $i = 1;
    WHILE ($risultato = mysql_fetch_assoc($risultati))
    {
    PRINT ($i);
    PRINT (" - ");
    PRINT ($risultato["nome"]);
    PRINT ("
    - (Clicca ");
    PRINT ($risultato["url"]);
    PRINT (" per vedere la scheda dettagliata");
    $i = $i+1;
    }
    mysql_free_result($risultato);
    }
    ELSE
    {
    mysql_query("SELECT nome, url FROM cocktails WHERE descrizione LIKE %"$descrizione"% OR descrizione == "$descrizione");
    $query = mysql_query("SELECT nome, url FROM cocktails WHERE descrizione LIKE %"$descrizione"% OR descrizione == "$descrizione");
    $num_ris = "mysql_num_rows($query)";
    PRINT ("Sono stati trovati ");
    PRINT ($num_ris);
    PRINT (" risultati.

    <hr>

    ");
    $i = 1;
    WHILE ($risultato = mysql_fetch_assoc($query))
    {
    PRINT ($i);
    PRINT (" - ");
    PRINT ($risultato["nome"]);
    PRINT ("
    - (Clicca ");
    PRINT ($risultato["url"]);
    PRINT (" per vedere la scheda dettagliata");
    $i = $i+1;
    }
    mysql_free_result($risultato);
    }
    }
    ELSEIF ($descrizione == NULL)
    {
    $query = "SELECT nome, url FROM cocktails WHERE ingredienti LIKE "%$ingredienti%" OR ingredienti == "$ingredienti"";
    $risultati = mysql_query($query) or die ("Errore durante la ricerca");
    $num_ris = "mysql_num_rows($query)";
    PRINT ("Sono stati trovati ");
    PRINT ($num_ris);
    PRINT (" risultati.

    <hr>

    ");
    $i = 1;
    WHILE ($risultato = mysql_fetch_assoc($risultati))
    {
    PRINT ($i);
    PRINT (" - ");
    PRINT ($risultato["nome"]);
    PRINT ("
    - (Clicca ");
    PRINT ($risultato["url"]);
    PRINT (" per vedere la scheda dettagliata");
    $i = $i+1;
    }
    mysql_free_result($risultato);
    }
    }
    ELSE
    {
    $query = "SELECT nome, url FROM cocktails WHERE (ingredienti LIKE "%$ingredienti%" OR ingredienti == "$ingredienti") AND (descrizione LIKE "%$descrizione%" OR descrizione == "$descrizione")";
    $risultati = mysql_query($query) or die ("Errore durante la ricerca");
    $num_ris = "mysql_num_rows($query)";
    PRINT ("Sono stati trovati ");
    PRINT ($num_ris);
    PRINT (" risultati.

    <hr>

    ");
    $i = 1;
    WHILE ($risultato = mysql_fetch_assoc($risultati))
    {
    PRINT ($i);
    PRINT (" - ");
    PRINT ($risultato["nome"]);
    PRINT ("
    - (Clicca ");
    PRINT ($risultato["url"]);
    PRINT (" per vedere la scheda dettagliata");
    $i = $i+1;
    }
    mysql_free_result($risultato);
    }
    }
    }
    ELSEIF ($ingredienti == NULL)
    {
    IF ($descrizione == NULL)
    {
    $query = "SELECT nome, url FROM cocktails WHERE nome LIKE "%$nome%" OR nome == "$nome"";
    $risultati = mysql_query($query) or die ("Errore durante la ricerca");
    $num_ris = "mysql_num_rows($query)";
    PRINT ("Sono stati trovati ");
    PRINT ($num_ris);
    PRINT (" risultati.

    <hr>

    ");
    $i = 1;
    WHILE ($risultato = mysql_fetch_assoc($risultati))
    {
    PRINT ($i);
    PRINT (" - ");
    PRINT ($risultato["nome"]);
    PRINT ("
    - (Clicca ");
    PRINT ($risultato["url"]);
    PRINT (" per vedere la scheda dettagliata");
    $i = $i+1;
    }
    mysql_free_result($risultato);
    }
    ELSE
    {
    $query = "SELECT nome, url FROM cocktails WHERE (nome LIKE "%$nome%" OR nome == "$nome") AND (descrizione LIKE "%$descrizione%" OR descrizione == "$descrizione"");
    $risultati = mysql_query($query) or die ("Errore durante la ricerca");
    $num_ris = "mysql_num_rows($query)";
    PRINT ("Sono stati trovati ");
    PRINT ($num_ris);
    PRINT (" risultati.

    <hr>

    ");
    $i = 1;
    WHILE ($risultato = mysql_fetch_assoc($risultati))
    {
    PRINT ($i);
    PRINT (" - ");
    PRINT ($risultato["nome"]);
    PRINT ("
    - (Clicca ");
    PRINT ($risultato["url"]);
    PRINT (" per vedere la scheda dettagliata");
    $i = $i+1;
    }
    mysql_free_result($risultato);
    }
    }
    ELSE
    {
    IF ($descrizione == NULL)
    {
    $query = "SELECT nome, url FROM cocktails WHERE (nome LIKE "%$nome%" OR nome == "$nome") AND (ingredienti LIKE "%$ingredienti%" OR ingredienti == "$ingredienti");
    $risultati = mysql_query($query) or die ("Errore durante la ricerca");
    $num_ris = "mysql_num_rows($query)";
    PRINT ("Sono stati trovati ");
    PRINT ($num_ris);
    PRINT (" risultati.

    <hr>

    ");
    $i = 1;
    WHILE ($risultato = mysql_fetch_assoc($risultati))
    {
    PRINT ($i);
    PRINT (" - ");
    PRINT ($risultato["nome"]);
    PRINT ("
    - (Clicca ");
    PRINT ($risultato["url"]);
    PRINT (" per vedere la scheda dettagliata");
    $i = $i+1;
    }
    mysql_free_result($risultato);
    }
    ELSE
    {
    $query = "SELECT nome, url FROM cocktails WHERE (nome LIKE "%$nome%" OR nome == "$nome") AND (ingredienti LIKE "%$ingredienti%" OR ingredienti == "$ingredienti") AND (descrizione LIKE "%$descrizione%" OR descrizione == "$descrizione");
    $risultati = mysql_query($query) or die ("Errore durante la ricerca");
    $num_ris = "mysql_num_rows($query)";
    PRINT ("Sono stati trovati ");
    PRINT ($num_ris);
    PRINT (" risultati.

    <hr>

    ");
    $i = 1;
    WHILE ($risultato = mysql_fetch_assoc($risultati))
    {
    PRINT ($i);
    PRINT (" - ");
    PRINT ($risultato["nome"]);
    PRINT ("
    - (Clicca ");
    PRINT ($risultato["url"]);
    PRINT (" per vedere la scheda dettagliata");
    $i = $i+1;
    }
    mysql_free_result($risultato);
    }
    }
    }
    ?>
    </font>
    </html>
    </body>

    GRAZIE 1000 A CHIUNQUE MI AIUTERA'

  2. #2
    Utente di HTML.it L'avatar di alegia76
    Registrato dal
    Mar 2003
    Messaggi
    1,179

    Re: Dov'è l'errore (o gli errori)?

    Originariamente inviato da tompase
    Ho un problema con uno script php o con un form. Ci deve essere qualcosa che non va. Qualcuno può aiutarmi?
    Ma esattamente che deve fare?

    Hai postato un codice lunghissimo..
    Sei l'eventualità di un'anomalia che nonostante i miei più onesti sforzi non sono stato in grado di eliminare da quella che altrimenti sarebbe un'armonia di precisione matematica..

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    5
    La mia intenzione era di creare una pagina con php che prende gli input dall'utente (nome, ingredienti e descrizione), li ricerca in un database ed espone i risultati.
    Il codice è così lungo perchè volevo permettere che anche se un utente lasciasse vuoto qualche campo la query non ne risentisse e selezionasse tutti i risultati senza alcun problema, quindi ho inserito tutte quelle condizioni, con i vari select a seconda delle occasioni.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.