Aggiungere modulo ricerca PHP Mysql

In questa guida vediamo come aggiungere un semplice modulo di ricerca al nostro sito realizzato in PHP che interagisce con un database Mysql.

Inserimento del Form

Avendo generato una struttura box model ovvero formata da una header, un main, una siderbar e un footer da includere in ogni pagina html tramite il comando:

<?php include("header.php"); ?>

Andiamo a modificare il file header.php aggiungendo il modulo:

<?php
echo'<header><a href="index.php" title="Torna alla Pagina Iniziale">La mia Cineteca Virtuale</a></header>
<div class="box">
<a href="index.php" title="Home Page">Home</a> <a href="scheda.php" title="Inserisci Scheda">Inserisci</a> <a href="mostra.php" title="Mostra Risultati">Mostra</a> <form action="risultati.php" method="GET"><input type="text" name="cerca"><input type="submit" value="RICERCA"></form></div>';
?>

La pagina di esecuzione dello script è stata chiamata risultati.php mentre il metodo utilizzato è GET che permetterà di mostrare sull’indirizzo url finale ciò che è stato cercato.

Il modulo è composto da un campo testuale con nome trova e dal pulsante di invio submit.

Importante! Trattandosi di codice php non possiamo, come in una comune pagina html, inserire direttamente il codice ma dobbiamo necessariamente usare il comando echo inserendo il tutto tra apici poiché vanno interpretate come stringhe.

Script PHP

A questo punto bisogna realizzare la pagina di destinazione, nel nostro caso denominata risultati.php.

<html>
<head>
<title>Mostra Risulati</title>
<link href="stile.css" rel="stylesheet">
</head>
<body>
<?php include("header.php");?>
<main>
<?php
require("config.php");
$c=$_GET["cerca"];

$sql="Select * from attrici where cognome='$c'";
$result=$conn->query($sql);
if ($result->num_rows>0)
{
echo"<table border=\"1\"><th>Nome e Cognome</th><th>Data di Nascita</th>";
while ($row=$result->fetch_assoc())
{
echo"<tr><td>".$row["nome"]." ".$row["cognome"]."</td><td>".$row["data_nascita"]."</td></tr>";
}
echo"</table>";
}
else
{
echo"Nessun risultato";
}
$conn->close();
?>
</main>
<?php include("siderbar.php");?>
<?php include("footer.php");?>
</body>
</html>

Importante! Fare attenzione ad apici e/o doppi apici. Eventualmente usare lo slah.

Spiegazione dello script:

  • Dichiarazione iniziale del nome inviato tramite il modulo in una supervariabile globale associata per comodità a un’altra variabile.
  • Preparazione query con $sql.
  • Esecuzione query con variabile associata $result->query(sql).
  • Ciclo If-While.
  • IF pone la condizione ($result->num_rows>0) se i risultati contengono più di una riga mostra.
  • Con il ciclo while si pone l’associazione ($row=$result->fetch_assoc())
  • Con else poniamo la condizione altrimenti “Nessun risultato”.
  • Infine chiudiamo la connessione $conn->close().

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *