Ciao a Tutti,
Ho un problema per quanto riguarda la SELECT in sql.
Vorrei sapere come fare delle select con dentro una scelta tra 2 possibili valori.
Mi spiego meglio.
Io tramite html mi importo i valori dei vari form e ne faccio una select come segue:
[PHP]mysql_select_db("biblioteca") or exit ("Errore nell'apertura del database");
$mate=$_POST['materia'];
$classe=$_POST['class'];
$codice=$_POST['codisbn'];
$titolo=$_POST['titolo'];
$autori=$_POST['autori'];
$editore=$_POST['editore'];
$sqlcmd="SELECT * FROM libro WHERE ((Materia_Disciplina LIKE '%$mate%') and (Classe_Sezione LIKE '%$classe%') and (codice_volume LIKE '%$codice%') and (Titolo_Sottotitolo LIKE '%$titolo%') and (Autore1_Autore2_Autore3 LIKE '%$autori%') and (Editore LIKE '%$editore%'))";
$risultato=mysql_query($sqlcmd) or die (mysql_error());
if (! $risultato) exit ("Erorre nel comando SELECT");
$riga=mysql_fetch_array($risultato);
while ($riga)
{
$id=$riga['IDLibro'];
$mate=$riga['Materia_Disciplina'];
$classe=$riga['Classe_Sezione'];
$codice=$riga['codice_volume'];
$titolo=$riga['Titolo_Sottotitolo'];
$autori=$riga['Autore1_Autore2_Autore3'];
$editore=$riga['Editore'];
$volume=$riga['Volume'];
$prezzo=$riga['Prezzo'];
echo "$id, $classe, $mate, $codice, $autori ,$titolo, $volume, $editore, $prezzo <br>";
echo "<br>";
$riga = mysql_fetch_array($risultato);
}
?>[/PHP]
Nella stessa pagina creo un altra tabella dove inserire i NUOVI dati---
[HTML]<P><CENTER>INSERIRE L'ID LIBRO E I RELATIVI NUOVI CAMPI</CENTER></P>
<FORM ACTION=PERCORSO.php METHOD=POST>
<TABLE BORDER=3>
<tr>
<td>MATERIA </td><td COLSPAN=1><INPUT TYPE=text NAME="materia" MAXLENGTH=20 SIZE=21></td>
<td>CLASSE E SEZIONE </td><td COLSPAN=1><INPUT TYPE=text NAME="class" MAXLENGTH=20 SIZE=21></td>
<TR>
<td>CODICE ISBN </td><td><INPUT TYPE=text NAME="codisbn" MAXLENGTH=13 SIZE=14></td>
<td>TITOLO </td><td><INPUT TYPE=text NAME="titolo" MAXLENGTH=50 SIZE=21></td>
<tr>
<TD>AUTORI </td><TD><INPUT TYPE=text NAME="autori" MAXLENGTH=250 SIZE=51></td>
<td>PREZZO UNITARIO</td><td><INPUT TYPE=text NAME="prezzoun" MAXLEGHT=4 SIZE=5></td>
<tr>
<td>EDITORE </td><td><INPUT TYPE=text NAME="editore" MAXLENGTH=20 SIZE=21></td>
<td>NUMERO DI COPIE </td><td><INPUT TYPE=text NAME="dispon" MAXLENGTH=2 SIZE=3></td>
<TR>
<td>VOLUME </td><td><INPUT TYPE=text NAME="volu" MAXLENGTH=1 SIZE=1></td>
<td>IDLIBRO (obbligatorio) </td><td COLSPAN=1><INPUT TYPE=text NAME="id" MAXLENGTH=3 SIZE=3></td>
<TD COLSPAN=4>
<CENTER>
<INPUT TYPE=submit VALUE="modifica"> <INPUT type="reset">
</CENTER>[/HTML]
Con questo creo un form dove inserito l'id della chiave primaria e i vari campi, si connette al DB e va a MODIFICARE i campi tramite questo codice:
[PHP]$id=$_POST['id'];
$mate=$_POST['materia'];
$classe=$_POST['class'];
$codice=$_POST['codisbn'];
$titolo=$_POST['titolo'];
$autori=$_POST['autori'];
$editore=$_POST['editore'];
$sqlcmd="UPDATE libro SET ((Classe_Sezione = '$classe') (Materia_Disciplina = '$mate') WHERE id = '$id')";
$risultato=mysql_query($sqlcmd) or die (mysql_error());
if (! $risultato) exit ("Erorre nel comando SELECT");[/PHP]
Il problema è che se NON tutti i campi sono pieni mi va a inserire nel DB spazi vuoti, per questo nel comando UPDATE vorrei mettere una condizione dove: nel caso l'utente ha lasciato un campo vuoto, non modifica quel campo nel DB!
Spero che qualcuno possa aiutarmi in fretta.
Grazie a Tutti