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

    [MySQL] Problema visualizza campi di ricerca

    Salve a tutti,

    Devo creare + campi per ricercare dei dati nel presenti nel db.
    Volevo ovviare alla soluzione di piu campi input e inserire un select cosi l'utente seleziona il campo che intende ricercare inserisce il testo da ricercare e il gico è fatto

    Ho fatto una cosa del genere:

    codice:
    <form action="cerca_tit_2.php" method="post" style="float:left;">
    <select>
    <option value="autore" >autore</option>
    <option value="titolo" >titolo</option>
    </select>
    <input type="text" name="testo" value=""/>
    <input type="submit" name="invia" value="Vai" class="formbutton"/>
    </form>
    Questa invece è la pagina che mi dovrebbe visualizzare la ricerca:

    Codice PHP:
    <?php                
    $testo
    =$_POST['testo'];
    include(
    'connessione.php');
    $query="SELECT * FROM bachelet WHERE titolo LIKE '%$testo%' ORDER BY titolo ";
    if(
    mysql_query($query,$connection)){
    $risultato=mysql_query($query);
    echo
    "<table>";
    echo
    "<tr bgcolor=\"#d7e6ee\" align=\"center\">";
    echo
    "<td>[b]Titolo[/b]</td>";
    echo
    "<td>[b]Autore[/b]</td><td>[b]Luogo di pubblicazione[/b]</td>\n";
    echo
    "<td>[b]Casa Editrice[/b]</td><td>[b]Anno[/b]</td><td>[b]Pagine[/b]</td><td>[b]Isbn[/b]</td><td>[b]Collocazione[/b]</td><td>[b]Utente[/b]</td><td>[b]Data[/b]</td></tr>\n";
    while(
    $riga=mysql_fetch_array($risultato)){
    $id=$riga['id'];
    echo
    "<tr>";
    echo
    "<td>$riga[titolo]</td>\n";
    echo
    "<td>$riga[autore]</td>\n";
    echo
    "<td>$riga[luogo]</td>\n";
    echo
    "<td>$riga[casa_editrice]</td>\n";
    echo
    "<td>$riga[anni]</td>\n";
    echo
    "<td>$riga[pagine]</td>\n";
    echo
    "<td>$riga[isbn]</td>\n";
    echo
    "<td>$riga[collocazione]</td>\n";
    echo
    "<td>$riga[consultatore]</td>\n";
    echo
    "<td>$riga[anno]</td>\n";
    echo
    "</tr>";
    }
    echo 
    "</table>";
    }

    ?>
    <?php                
    $testo
    =$_POST['testo'];
    include(
    'connessione.php');
    $query1="SELECT * FROM bachelet WHERE autore LIKE '%$testo%' ORDER BY autore";
    if(
    mysql_query($query,$connection)){
    $risultato=mysql_query($query);
    echo
    "<table>";
    echo
    "<tr bgcolor=\"#d7e6ee\" align=\"center\">";
    echo
    "<td>[b]Titolo[/b]</td>";
    echo
    "<td>[b]Autore[/b]</td><td>[b]Luogo di pubblicazione[/b]</td>\n";
    echo
    "<td>[b]Casa Editrice[/b]</td><td>[b]Anno[/b]</td><td>[b]Pagine[/b]</td><td>[b]Isbn[/b]</td><td>[b]Collocazione[/b]</td><td>[b]Utente[/b]</td><td>[b]Data[/b]</td></tr>\n";
    while(
    $riga=mysql_fetch_array($risultato)){
    $id=$riga['id'];
    echo
    "<tr>";
    echo
    "<td>$riga[titolo]</td>\n";
    echo
    "<td>$riga[autore]</td>\n";
    echo
    "<td>$riga[luogo]</td>\n";
    echo
    "<td>$riga[casa_editrice]</td>\n";
    echo
    "<td>$riga[anni]</td>\n";
    echo
    "<td>$riga[pagine]</td>\n";
    echo
    "<td>$riga[isbn]</td>\n";
    echo
    "<td>$riga[collocazione]</td>\n";
    echo
    "<td>$riga[consultatore]</td>\n";
    echo
    "<td>$riga[anno]</td>\n";
    echo
    "</tr>";
    }
    echo 
    "</table>";
    }

    ?>
    Il Problema che ho e che se cerco di visualizzare i risultati non mi stampa nulla!

    Dove sbaglio

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    cosi al volo vedo che nel secondo caso componi $query1, ma poi a mysql_query passi $query.

    In ogni caso la soluzione è sempre stampare con un echo la query e vedere se è quello che ti aspetti.

    ciao

  3. #3
    Ho apportato la modifica ma non credo sia quello il problema...

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    hai provato a stampare la query e a eseguirla in phpmyadmin?

    Comunque vedo un altro errore (anche se non credo abbia a che fare con i problemi di visualizzazione).

    codice:
    if(mysql_query($query,$connection)){
    $risultato=mysql_query($query);
    esegui 2 volte la query, dovrebbe essere invece cosi:

    codice:
    $risultato = mysql_query($query,$connection);
    if($risultato) {
    
    }

  5. #5
    esatto hai ragione ora ho fatto così dai un occhiata e dimmi se va bene:

    Codice PHP:
    <!--
    $testo=$_POST['testo'];
    include(
    'connessione.php');
    if(
    $_POST['nomeselect'] == 1){
        
    $sql "SELECT * FROM bachelet WHERE titolo LIKE '%$testo%'";
    }
    elseif(
    $_POST['nomeselect'] == 2){
        
    $sql "SELECT * FROM bachelet WHERE autore LIKE '%$testo%'";
    }
    else{
        
    $sql "SELECT * FROM bachelet WHERE collocazione LIKE '%$testo%'";
    }
    if(
    mysql_query($query,$connection)){
    $risultato=mysql_query($query);
    echo
    "<table>";
    echo
    "<tr bgcolor=\"#d7e6ee\" align=\"center\">";
    echo
    "<td>[b]Titolo[/b]</td>";
    echo
    "<td>[b]Autore[/b]</td><td>[b]Luogo di pubblicazione[/b]</td>\n";
    echo
    "<td>[b]Casa Editrice[/b]</td><td>[b]Anno[/b]</td><td>[b]Pagine[/b]</td><td>[b]Isbn[/b]</td><td>[b]Collocazione[/b]</td><td>[b]Utente[/b]</td><td>[b]Data[/b]</td></tr>\n";
    while(
    $riga=mysql_fetch_array($risultato)){
    $id=$riga['id'];
    echo
    "<tr>";
    echo
    "<td>$riga[titolo]</td>\n";
    echo
    "<td>$riga[autore]</td>\n";
    echo
    "<td>$riga[luogo]</td>\n";
    echo
    "<td>$riga[casa_editrice]</td>\n";
    echo
    "<td>$riga[anni]</td>\n";
    echo
    "<td>$riga[pagine]</td>\n";
    echo
    "<td>$riga[isbn]</td>\n";
    echo
    "<td>$riga[collocazione]</td>\n";
    echo
    "<td>$riga[consultatore]</td>\n";
    echo
    "<td>$riga[anno]</td>\n";
    echo
    "</tr>";
    }
    echo 
    "</table>";
    }
    --> 

    Grazie anora per l'aiuto...

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.