Allora io ho un db chiamato ristorante con dentro due tabelle e sono divise così:
disponibilita:
giorno
mese
posti
prenotazioni:
nome
cognome
email
giorno
mese
posti
Io sono arrivato a questo codice che inserisce i dati nel db prenotazioni ma non modifica il numero di posti nel db disponibilita:
[PHP]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Prenotazione posti ristorante</title>
</head>
<body>
<?php
include('alcuneFunzioni.php');
include('funzioniConnessione.php');
function ControlloEmail($email){
$result = eregi("^[_a-z0-9+-]+(.[_a-z0-9+-]+)*@[a-z0-9-]+(.[a-z0-9-]+)+$",$email);
if($result == false){
return false;
}else{
return true;
}
}
?>
<?php
if(isset($_POST['giorno']))
{
$messaggio = "";
if(!soloCifre($_POST['giorno'], 2))
{
$messaggio = "Il giorno deve essere di due cifre";
echo " <strong>$messaggio</strong>\n";
}
else
{
$connessione = connetti();
$nome=$_POST['nome'];
$cognome=$_POST['cognome'];
$email=$_POST['email'];
$giorno=$_POST['giorno'];
$mese=$_POST['mese'];
$posti=$_POST['posti'];
//qui verifichi i dati immessi se sono giusti
var_dump($nome);
echo "<br>";
var_dump($cognome);
echo "<br>";
var_dump($email);
echo "<br>";
var_dump($giorno);
echo "<br>";
var_dump($mese);
echo "<br>";
var_dump($posti);
echo "<br>";
//fine verifica dati immessi
$query = "INSERT INTO prenotazioni (nome, cognome, email, giorno, mese, posti) VALUES ('".$nome."', '".$cognome."','".$email."', '".$giorno."', '".$mese."', '".$posti."')";
$risultato = mysqli_query($connessione, $query) //verifiva se va prima query o connessione secondo me query
or die("operazione di inserimento errata<br>\nErrore: ".mysqli_error($connessione));
var_dump($risultato); //se FALSE non inserito
echo "<br>";
$numInseriti = mysqli_affected_rows($risultato);
$query = "SELECT posti FROM disponibilita WHERE giorno = '12 Marzo'";
$risultato = mysql_query($connessione, $query);
var_dump($risultato); //se FALSE non letto
echo "<br>";
$row = mysql_fetch_array($risultato);
$posti_prima_di_prenotazione = $row['posti'];
var_dump($posti_prima_di_prenotazione); //verifica posti prima
echo "<br>";
$posti_dopo_prenotazione = (int)$posti_prima_di_prenotazione - (int)$posti;
var_dump($posti_dopo_prenotazione); //verifichi il cacolo dovrebbe darti tipo variabile = INT
echo "<br>";
$query = "UPDATE disponibilita SET posti = '$posti_dopo_prenotazione' WHERE giorno = '".$giorno."' AND mese = '".$mese."'";
var_dump($query);//vedi se la query è giusta
echo "<br>";
$uppa=mysql_query($connessione, $query);
var_dump($uppa);// se da FALSE ha un errrore e non uppa
echo "<br>";
if($numInseriti > 0 )
echo "sono stati inseriti $numInseriti record\n";
else
echo "NESSUN RECORD INSERITO\n";
}
echo "<hr><a href=\"$_SERVER[PHP_SELF]\">torna alla pagina inserimento</a>\n";
}
else
{
echo <<<MODULO__QUERY
<h2>Prenotazioni posti ristorante</h2>
<form action="$_SERVER[PHP_SELF]" method="POST">
<table border="0" cellpadding="5">
<tr>
<td>nome:</td>
<td><input type="text" size="30" name="nome"/></td>
</tr>
<tr>
<td>cognome:</td>
<td><input type="text" size="30" name="cognome"/></td>
</tr>
<tr>
<td>email:</td>
<td><input type="text" size="30" name="email"/></td>
</tr>
<tr>
<td>giorno (solo giorno):</td>
<td><input type="text" size="2" name="giorno"/></td>
</tr>
<tr>
<td>mese:</td>
<td><input type="text" size="10" name="mese"/></td>
</tr>
<tr>
<td>Posti:</td>
<td><input type="text" size="2" name="posti"/></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="inserisci"></td>
</tr>
</table>
</form>
MODULO__QUERY;
}
?>
<hr><a href="index.html">torna alla pagina di gestione tabella</a>
</body>
</html>
[/PHP]