[PHP] Ricerca nel database

titano

Nuovo Utente
29 Ago 2018
2
0
1
Salve,
Ho un piccolo problema con la mia ricerca nel database per i miei libri.
Dopo aver creato e inserito i dati, il database non crea problemi.
Adesso ho creato le pagine html. Attualmente ho un problema con la seguente pagina html/php:
non vedo i dati del primo record, mentre se faccio la richiesta con il nome dell'autore e sono presenti diversi libri, alla fine mi manca sempre 1, cioè il primo. Lo so, perché la ricerca conta i record trovati e mi da il risultato. Quando poi conto nella tabella i libri presenti, mi manca sempre uno.
Vi ringrazio dell'aiuto.
Antonio

Codice html/php:
PHP:
<form method="post" action="cerca.php">
    <input type="text" name="testo" /><br  />
    <input type="submit" value="CERCA"  />
    </form>

<!DOCTYPE html><html>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<head>
<title>Recuperare i dati da un DB MySQL</title>
</head>
<body>
 
<h2 class="intestazione">Risultati della tua ricerca</h2>
<?php include('gestione/config.php'); ?>
<?php

    $hostname="localhost";
   $username="--";
   $password="--";
   $dbname="Libri";
   $usertable="Lista_Libri";
 
   mysql_connect($hostname,$username, $password) or die ("html>script language='JavaScript'>alert('Unable to connect to database! Please try again later.'),history.go(-1)/script>/html>");
   mysql_select_db($dbname);

//recupero quello che hanno scritto
$testo = $_POST['testo'];


//query mysql
$sql_cerca = mysql_query("SELECT * FROM Lista_Libri WHERE (Titolo LIKE '%" . $testo . "%') OR (Sottotitolo LIKE '%" . $testo . "%') OR (Autore LIKE '%" . $testo . "%') OR (ISBN LIKE '%" . $testo . "%')");

//trovati
$trovati = mysql_num_rows($sql_cerca);

//se ci sono risultati
if($trovati >= 0)
{

 echo "<p class='desc' style='margin-left:25px;'>Trovate $trovati voci per il termine <b>".stripslashes($testo)."</b></p>\n";

//inizio il loop
while($row = mysql_fetch_array($sql_cerca)) {

echo "<table border='1'>";
echo "<tr> <th>Titolo</th> <th>Sottotitolo</th> <th>Autore</th> <th>ISBN</th></tr>";
// keeps getting the next row until there are no more to get
while($row = mysql_fetch_array( $sql_cerca )) {
   // Print out the contents of each row into a table
   echo "<tr><td>";
   echo $row['Titolo'];
   echo "</td><td>";
   echo $row['Sottotitolo'];
   echo "</td><td>";
   echo $row['Autore'];
   echo "</td><td>";
   echo $row['ISBN'];
   echo "</td></tr>";
}

echo "</table>";

  } //fine LOOP valori trovati

  } //fine risultati if

  else{ //se non ci sono risultati

  // notifica in caso di mancanza di risultati
  echo "Al momento non sono stati pubblicati post/articoli che contengano i termini cercati.";

  }//fine else
mysql_close();
?>

</body>
</html>
Struttura:
Database Libri
Tabella Lista_Libri
Campi titolo, sottotitolo, autore, isbn
 
Ultima modifica di un moderatore:

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.449
338
83
@titano
Da regolamento del forum, come tutti noi sei tenuto ad usare il tag
code.gif
quando posti del codice, oppure la funzione codice dalla barra degli strumenti
box inserisci 2.png.JPG

Inoltre ti prego di leggere attentamente il regolamento generale del forum e quello di sezione dove posti
Grazie
Per questa volta te lo sistemo io ma mi raccomando per il futuro
 

titano

Nuovo Utente
29 Ago 2018
2
0
1
Salve,
In allegato vi mando il codice senza i comandi per creare la tabella nella pagina.

PHP:
<form method="post" action="cerca.php">
    <input type="text" name="testo" /><br  />
    <input type="submit" value="CERCA"  />
    </form>

<h2 class="intestazione">Risultati della tua ricerca</h2>
<?php include('gestione/config.php'); ?>
<?php

    $hostname="localhost";
    $username="---";
    $password="---";
    $dbname="Libri";
    $usertable="Lista_Libri";
    
    mysql_connect($hostname,$username, $password) or die ("html>script language='JavaScript'>alert('Unable to connect to database! Please try again later.'),history.go(-1)/script>/html>");
    mysql_select_db($dbname);

//recupero quello che hanno scritto
$testo = $_POST['testo'];


//query mysql
$sql_cerca = mysql_query("SELECT * FROM Lista_Libri  WHERE (Titolo LIKE '%" . $testo . "%') OR (Sottotitolo LIKE '%" . $testo . "%') OR (Autore LIKE '%" . $testo . "%')");

//trovati
$trovati = mysql_num_rows($sql_cerca);

//se ci sono risultati
if($trovati > 0)
{

echo "<p class='desc' style='margin-left:25px;'>Trovate $trovati voci per il termine <b>".stripslashes($testo)."</b></p>\n";


//inizio il loop
while($row = mysql_fetch_array($sql_cerca)) {

echo '<p>' . $row['Titolo'] . '</p>';
echo '<p>' . $row['Sottotitolo'] . '</p>';
echo '<p>' . $row['Autore'] . '</p>';
echo '<p>' . $row['Editore'] . '</p>';
echo '<p>' . $row['ISBN'] . '</p>';


  } //fine LOOP valori trovati

  } //fine risultati if

  else{ //se non ci sono risultati

  // notifica in caso di mancanza di risultati
  echo "Al momento non sono stati pubblicati post/articoli che contengano i termini cercati.";

  }//fine else

?>

Funziona correttamente.
Grazie.
Antonio
 
Discussioni simili
Autore Titolo Forum Risposte Data
U PHP creare un file excel dopo ricerca nel DB PHP 0
L PHP motore di ricerca nel sito PHP 1
ANDREA20 [PHP] motore di ricerca nel sito PHP 11
G Colorare menu select attraverso ricerca php PHP 0
L Ricerca sviluppatori PHP tempo indeterminato Milano Offerte e Richieste di Lavoro e/o Collaborazione 0
S [PHP] Creare collegamento filtri di ricerca al database PHP 6
L [PHP] Ricerca su search bar esterna PHP 1
Alex_70 [PHP] Ricerca con risultati cliccabili PHP 21
O [PHP] Ricerca record tramite post PHP 7
C [PHP] Ricerca multipla, evitare if PHP 4
M [OFFRO][RETRIBUITO] Milano IT Consulting SRL - Ricerca 1 Consulente PHP Offerte e Richieste di Lavoro e/o Collaborazione 0
andreas88 Da .htm a .php, perdo le mie posizioni su Google ricerca? SEO e Posizionamento 9
Emix [PHP] Ricerca e modifica su due tabelle PHP 26
G [PHP] FORM DI RICERCA ESTESA PHP 2
borgo italia [PHP] ricerca caratteri accentati PHP 4
P [PHP] ricerca dati PHP 1
Emix [PHP][MYSQL] Ricerca avanzata tramite form PHP 6
T4MAR4 [PHP] Problema ricerca con apostrofo PHP 2
R [PHP] Prendere dati da moduli di ricerca esterni PHP 4
T4MAR4 [PHP] piu select in ricerca PHP 1
T4MAR4 [PHP] Inserire piu campi di ricerca PHP 2
A [PHP] Problema paginazione motore di ricerca PHP 48
TheWhiteRabbit Perfezionare ricerca in PHP - NO DATABASE - (Website X5) PHP 5
sandropochi [PHP] Form per creare filtro di ricerca su DB PHP 8
U [PHP] form per ricerca multipla: Unknown column 'undefined' in 'where clause' PHP 2
giuseppe_123 [PHP] ricerca in una tabella con my sql PHP 0
L [PHP] ricerca per un campo o per più campi PHP 5
M [PHP] Ricerca con data timestamp PHP 45
B Ricerca PHP e Prenotazione PHP PHP 2
M [PHP] Evidenziare le parole cercate nei risultati di una ricerca PHP 1
MarcoGrazia [PDO][PHP[MySQL] Piccolo modulo di ricerca in un sito tramite l'operatore LIKE Snippet PHP 1
Y [Retribuito][Offro] RICERCA PROGRAMMATORI iOS e PHP/DB Offerte e Richieste di Lavoro e/o Collaborazione 0
S Un aiuto su uno script di ricerca avanzata in php che sto verificando. PHP 1
I Motore di ricerca php PHP 2
C [Offro][Retribuito] Cloudworks srl ricerca un junior PHP developer Offerte e Richieste di Lavoro e/o Collaborazione 0
N PHP Ricerca utente, Tabella con più elementi PHP 8
M motore di ricerca complesso php PHP 2
R Barra ricerca php e mysql PHP 0
R Ricerca Email in database mysql con php PHP 2
S [RISOLTO]aiuto, non riesco afar funzionare il camp odi ricerca per un DB con PHP PHP 5
M Box di ricerca in php PHP 3
P PHP modulo ricerca e ordine alfabetico PHP 5
G Visualizzazion modulo di ricerca in PHP e MySql PHP 0
A Ricerca full text mysq ed estrazione con php PHP 8
G Php problema con risultato di ricerca PHP 2
I Facile.it Spa ricerca Senior PHP Developer forti ed ambiziosi! Offerte e Richieste di Lavoro e/o Collaborazione 0
K Problema ricerca con piu campi in php PHP 3
Sargon Php / My sql motore di ricerca PHP 21
F Ricerca avanzata PHP & MySQL PHP 4
P PHP Workgroup Livorno, RICERCA giovani programmatori! Offerte e Richieste di Lavoro e/o Collaborazione 1

Discussioni simili