PROGRAMMIAMO
PHP - DB: connessione con un form
Inserimento dei dati attraverso un form

Consideriamo ancora a titolo di esempio il DB contenente la rubrica. Supponiamo di voler inserire un nuovo record in rubrica e di voler usare un form html per l'inserimento nel DB:

Nome:
Cognome:
Indirizzo:
Telefono:

Il codice HTML corrispondente è

<form action="inserisci.php" method="post">

Nome: <input type="text" name="nome" /> <br />
Cognome: <input type="text" name="cognome" /> <br />
Indirizzo: <input type="text" name="indirizzo" /> <br />
Telefono: <input type="text" name="telefono" /> <br />

<input type="submit" name="Submit" value="Invia" /> <br />

</form>

La pagina "inserisci.php" contiene la connessione al DB, come spiegato nella lezione precedente, e l'inserimento dei dati nel DB con la query:

$nome = $_REQUEST['nome'];
$cognome = $_REQUEST['cognome'];
$indirizzo = $_REQUEST['indirizzo'];
$telefono = $_REQUEST['telefono'];

$query = "INSERT INTO Rubrica (Nome, Cognome, Indirizzo, Telefono) VALUES ('".
$nome."', '".$cognome."', '".$indirizzo."','".$telefono."')";

Si osservi che la stringa di query è ottenuta concatenando nell'istruzione SQL i valori delle variabili importate dal form.

 

Ricerca di dati attraverso un form

Sempre con la nostra rubrica, consideriamo adesso un form HTML per la ricerca nel DB dell'indirizzo e del numero di telefono di una persona attraverso l'inserimento del nome e del cognome:

Nome:
Cognome:

Il codice HTML corrispondente è il seguente:

<form action="cerca.php" method="post">

Nome:<input type="text" name="nome" /> <br />
Cognome:<input type="text" name="cognome" /> <br />
<input type="submit" name="Submit" value="Cerca" /> <br />

</form>

La pagina "cerca.php", dopo aver effettuato la connessione al DB, realizza la ricerca nel seguente modo:

$nome = $_REQUEST['nome'];
$cognome = $_REQUEST['cognome'];

$query = "SELECT Nome, Cognome, Indirizzo, Telefono FROM Rubrica WHERE Nome='"
.$nome."' AND Cognome ='".$cognome."'";

$result = mysql_query($query);
$num = mysql_num_rows($result);

if ($num == 0)
echo "Nome e Cognome non presenti in rubrica!";

while ($row = mysql_fetch_array($result))
 {
 echo $row['Nome']."-";
 echo $row['Cognome']."-";
 echo $row['Indirizzo']."-";
 echo $row['Telefono']."<br>";
 }

Si noti la funzione mysql_num_rows, la quale torna il numero di riga di cui è composto il risultato della query. Se tale valore è zero, significa che il dato cercato non è stato trovato nel DB.

Nell'esempio precedente si fa uso di una query del tipo "SELECT... FROM... WHERE..." per effettuare la ricerca nel DB. Una possibilità alternativa, che fa uso di una semplice query "SELECT... FROM...", è la seguente:

$nome = $_REQUEST['nome'];
$cognome = $_REQUEST['cognome'];

$query = "SELECT Nome, Cognome, Indirizzo, Telefono FROM Rubrica";

$result = mysql_query($query);

while ($row = mysql_fetch_array($result))
 {
 if ($row['Nome']==$nome && $row['Cognome'] == $cognome)
  {
  echo $row['Nome']."-";
  echo $row['Cognome']."-";
  echo $row['Indirizzo']."-";
  echo $row['Telefono']."<br>";
  }
 }

Si osservi la differenza fra l'and logico realizzato in SQL (AND) e l'and logico in PHP (&&).

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it