Ciao a tutti,
sto piano piano smanettando su un db "libreria" per farmi le ossa con MySQL e PHP.
La struttura del db è la seguente:
tabella editore: id(1,2...), nome
tabella libro: id,titolo,editore(1,2...)
ho creato una pagina che fa selezionare dal menu all'utente o il titolo di un libro o una ricerca libera:
file html:
<body>
<table width="770" border="1" align="center" cellpadding="10" cellspacing="3">
<tr align="center" valign="middle">
<td bgcolor="#CCCCCC" class="CellaIntest">Selezione dati</td>
</tr>
<form name="elab" method="post" action="select.php">
<tr>
<td align="center" valign="middle" class="CellaDati">
Seleziona un titolo:
<select name="tit" size="1" id="tit">
<option value="xx"> </option>
<option value="1">Di noi tre </option>
<option value="2">Due di due </option>
<option value="3">Il diario di Bolivia </option>
<option value="4">Il tropico del cancro </option>
<option value="5">HTML 4 tutto e oltre </option>
<option value="6">MySQL guida completa </option>
<option value="7">Imparare PHP in 24 ore </option>
<option value="8">Comunità sul web </option>
<option value="9">La Bibbia </option>
</select>
</p>
cerca_titolo
<input name="cerca" type="text" size="50">
</p></td>
</tr>
<tr align="center" valign="middle">
<td class="CellaIntest"> <input type="submit" value="Visualizza dati ">
</td>
</tr>
</form>
</table>
</body>
file php:
<body>
<?php
// richiamo il file di configurazione
require 'config.php';
// richiamo lo script responsabile della connessione a MySQL
require 'connect.php';
// recupero del dato inserito nella pagina select.html
$datoinserito = $_POST['tit'];
$datoinserito2 = $_POST['cerca'];
// preparo la query
if ($datoinserito == "xx") {
if ($datoinserito2 == "") {
$query = "SELECT * FROM libro";
}
else {
$query = "SELECT * FROM libro WHERE titolo LIKE '%$datoinserito2%'";
}
}
else {
$query = "SELECT * FROM libro WHERE id='$datoinserito'";
}
// invio la query
$result = mysql_query($query);
// controllo l'esito
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
echo "
$query </p>";
// preparo l'intestazione della tabella
echo '
<table border="1">
<tr>
<th>id</th>
<th>titolo</th>
<th>editore</th>
</tr>';
while ($row = mysql_fetch_assoc($result)) {
$id = htmlentities($row['id']);
$titolo = htmlentities($row['titolo']);
$editore = htmlentities($row['editore']);
echo "<tr>
<td>$id</td>
<td>$titolo</td>
<td>$editore</td>
</tr>";
}
echo '</table>';
// libero la memoria di PHP occupata dai record estratti con la SELECT
mysql_free_result($result);
// chiudo la connessione a MySQL
mysql_close();
?>
</body>
tutto funziona, ma vorrei che nella visualizzazione nella colonna editore, si leggesse il nome dell'editore invece che il suo id; bisogna quindi collegare il campo id della tabella libro con quello della tabella editore e far visualizzare il corrispondente nome. Credo serva la JOIN ma non conosco la sintassi..........aiuto!!!!!!
grazie