ad esempio ho questo codice in cui eseguo una join tra due tabelle quella soggetti e quella libri e in cui il campo codice_libro_posseduto della tabella soggetti punta il campo codicelibri della tabella libri e le mette in relazione.
la select visualizza il campo codice_libro_posseduto il titolo del libro e la casa editrice e la stampa in una tabella html:
codice:
<html>
<head>
<style type="text/css">
.icone {
border:none;
}
</style>
</head>
<body>
<?php
$host = 'localhost';
$user = 'root';
$password='';//stringa vuota
$database = 'provephp';
$db = mysql_connect($host,$user,$password) or die("non si connette al server");// mi connetto al server
mysql_select_db($database, $db) or die("non si connette al database");// mi connetto al database
$query = 'SELECT soggetti.codice_libro_posseduto, libri.titolo,libri.casa_editrice FROM soggetti,libri WHERE soggetti.codice_libro_posseduto = libri.codicelibri ' ;
$risultato = mysql_query($query,$db);//eseguo la query
$affectedrows = mysql_affected_rows($db);//verifico quanti record sono interessati alla query
print("<table border =\"1\" >\n");
for($index = 0;$index < $affectedrows; $index++)
{
$row = mysql_fetch_row($risultato);
if($index == 0)
{
print("<tr>\n");
foreach($row as $k => $v)
{
$myfield = mysql_fetch_field($risultato,$k);
print(" <td>".$myfield ->name . "</td>");
}
print "</tr>\n";
}
foreach($row as $k => $v)
{
print("<td>$v");
if($k == 0)
{
print "
";
print "<a href=\"cancellajoin.php? codice_libro_posseduto=$v \">[img]iconaelimina.gif[/img]</a>";
print "
";
print "<a href=\"modificadb.php? codice=$v \">[img]iconamodifica.gif[/img]</a>";
}
print("</td>");
}
print "</tr>\n";
}
print("</table>");
mysql_close($db); ?>
</body>
</html>
...
questa riga lancia lo script cancellajoin :
codice:
print "<a href=\"cancellajoin.php? codice_libro_posseduto=$v \">[img]iconaelimina.gif[/img]</a>";
che dovrebbe cancellarmi il record selezionato ma non riesco ad impostare l'istruzione delete che faccio in questo modo ma che non mi funziona per nulla se gli passo il codice_libro_posseduto:
codice:
$query = "DELETE * FROM soggetti,libri WHERE codice_libro_posseduto = $codice_libro_posseduto";
dandomi quest'errore:
Query non valida: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM soggetti,libri WHERE codice_libro_posseduto = 2' at line 1