ciao
Ho letto adesso le vostre risposte, ma avevo già preparato
il mio post..in ogni caso,
Si adesso la query funziona,
ma ci sono altri problemi e faccio prima a postare tutta la
pagina anche se non è l'unica del progetto.
fatt1.php:
Codice PHP:
<?
$db = mysql_connect('localhost', 'root', '') or die(mysql_error());
@mysql_select_db('fattura', $db) or die(mysql_error());
$query = mysql_query("SELECT * FROM clientidb WHERE id_user = '".$_REQUEST['id_user']."'",$db);
$query2 = mysql_query("SELECT * FROM fatture",$db);
$totr=mysql_num_rows($query2);
if ($totr == 0)
{
$numero = 1;
}
else
{
$totr ++;
$numero = $totr;
}
while( $row = mysql_fetch_array($query) )
{
$usercliente =$row['id_user'];
global $usercliente;
echo "
<table border=\"1\" cellspacing=\"0\" cellpadding=\"5\"width=\"100%\" height=\"100\">
<tr>
<td width=\"50%\" height=\"100\" rowspan=\"2\">
<b>Ingrosso Alimentare </b>
<br> <b>Ciccio Scoppetta Srl</b>
<br> <b>Via Carlo Pisacane, 13</b>
<br> <b>84013 Cava dè Tirreni - SA</b>
<br><br><b> P.I.   0121555554212</b><br> </td>
<td width=\"20%\" height=\"10\" ><b>Fattura N° </b><input type=text name=num size=10 value=\"$numero\" align=\"right\"></td>
<td width=\"30%\" height=\"10\"><b>del </b><input type=text name=date size=20 value= ".date("d/m/Y")." ></td>
</tr>
<tr>
<td width=\"50%\" height=\"50\" colspan=\"2\"valign=\"top\">
<b>
$row[cognome] $row[nome]<br>
$row[indirizzo]<br>
$row[citta]<br>
P.I.   $row[iva]</b>
</td></tr></table>";
}
?>
<body onload="javascript:parent.articoli.document.art.reset(); javascript:parent.articoli.document.art.codice.focus();">
<?
echo $usercliente;
$imponibile = 0;
$iva4 = 0;
$iva10 = 0;
$tot_imp = 0;
$tot_fatt = 0;
if (isset($_REQUEST['codice'])){
$dati=" INSERT INTO carrello VALUES (NULL,
'".addslashes($_REQUEST['codice'])."',
'".addslashes($_REQUEST['descrizione'])."',
'".str_replace(",",".",$_REQUEST['quantita'])."',
'".str_replace(",",".",$_REQUEST['prezzo'])."',
'".addslashes($_REQUEST['iva'])."',
)";
mysql_query ($dati)
or die ("Non riesco ad eseguire la query $dati");
}
$query = "SELECT * FROM carrello ORDER BY id";
$esegui = mysql_query($query);
echo "
<HEAD>
<style type=\"text/css\"> .alternate0 { background-color: #99E4FF; } .alternate1 { background-color: #CCF2FF; } </style>
</HEAD>
<table border=\"1\" cellspacing=\"0\" cellpadding=\"5\"width=\"100%\" height=\"45\">
<tr>
<td width=\"12%\"><b>Annotazioni </b>
<input type=text name=annot size=50></td>
</tr></table>";
echo "
<table border= \"1\" cellspacing=\"0\" cellpadding=\"1\"width=\"100%\" >
<tr bgcolor=\"#F3F3F3\">
<td width=\"10%\" height=\"20\" align=\"center\"><b>Cod.</b></td>
<td width=\"30%\" height=\"20\" align=\"center\"><b>Descrizione</b></td>
<td width=\"10%\" height=\"20\" align=\"center\"><b>Quantità</b></td>
<td width=\"10%\" height=\"20\" align=\"center\"><b>IVA %</b></td>
<td width=\"15%\" height=\"20\" align=\"center\"><b>Prezzo U.</b></td>
<td width=\"20%\" height=\"20\" align=\"center\"><b>Imponibile</b></td>
<td width=\"5%\" height=\"20\" align=\"center\"><b> </b></td>
</tr>";
$i = 0;
while ($result = mysql_fetch_array($esegui)) {
$id = $result["id"];
$quan = $result["quantita"];
$prezzo_uni = $result["prezzo_un"];
$iva = $result["iva"];
$imponibile = $quan*$prezzo_uni;
$aliquota = ($imponibile*$iva)/100;
if ($iva == 4)
{
$iva4 += $aliquota;}
else
{
$iva10 += $aliquota;
}
$tot_imp += $imponibile;
$i = (++$i % 2);
echo"
<tr class=alternate".$i.">
<td width=\"10%\" height=\"5\" align=\"right\">$result[codice]</td>
<td width=\"30%\" height=\"5\" align=\"center\">$result[descrizione]</td>
<td width=\"10%\" height=\"5\" align=\"right\">$quan</td>
<td width=\"10%\" height=\"5\" align=\"right\">$iva</td>
<td width=\"15%\" height=\"5\" align=\"right\">".number_format($prezzo_uni, 2, ',', '.')."</td>
<td width=\"20%\" height=\"5\" align=\"right\" >".number_format($imponibile, 2, ',', '.')."</td>
<td width=\"5%\" height=\"5\"><a href=\"fatt1.php?task=delete&id=$id\">Canc</a></td>
</tr>";
}
$tot_fatt = $tot_imp+$iva4+$iva10;
echo "
</table>
<table border=\"0\" cellspacing=\"0\" cellpadding=\"5\"width=\"100%\" height=\"100\">
<tr>
<td width=\"60%\" height=\"31\"><b>Aspetto dei beni</b></td>
</center>
<td width=\"20%\" height=\"14\">
<p align=\"right\"><b>Tot. Imponibile</b></td>
<center>
<td width=\"20%\" height=\"34\"align=\"right\"><b>€</b> ".number_format($tot_imp, 2, ',', '.')."</td>
</tr>
<tr>
<td width=\"60%\" height=\"24\"><input type=text name=aspetto size=50></td>
<td width=\"20%\" height=\"21\" align=\"right\"><b>IVA 4%</b></td>
<td width=\"20%\" height=\"21\"align=\"right\"><b>€</b> ".number_format($iva4, 2, ',', '.')."</td>
</tr>
<tr>
<td width=\"60%\" height=\"62\" rowspan=\"2\"></td>
<td width=\"20%\" height=\"25\" align=\"right\"><b>IVA 10%</b></td>
<td width=\"20%\" height=\"25\"align=\"right\"><b>€</b> ".number_format($iva10, 2, ',', '.')."</td>
</tr>
</center>
<tr>
<td width=\"20%\" height=\"35\">
<p align=\"right\"><b>TOTALE FATTURA</b></td>
<center>
<td bgcolor=\"#F3F3F3\"width=\"20%\" height=\"35\"align=\"right\"><b>€</b> <b>".number_format($tot_fatt, 2, ',', '.')."</b></td>
</tr>
</table>";
echo"
<head>
<LINK REL=\"STYLESHEET\" HREF=\"invoice.css\">
</head>
<table border=\"0\" cellspacing=\"0\" cellpadding=\"5\"width=\"100%\" height=\"100\">
<tr>
<form action=\"" . $PHP_SELF . "\" method=\"\post\">
<td width=\"50%\" height=\"25\" align=\"right\"><input type=\"hidden\" name=\"task\" value=\"delete_all\">
<input type=\"submit\" class=\"btn\" Value=\"Reset\"
onmouseover=\"this.className='btn btnhov'\" onmouseout=\"this.className='btn'\"></td>
</form>
<form action=\"" . $PHP_SELF . "\" method=\"\post\">
<td width=\"50%\" height=\"25\" align=\"left\"><input type=\"hidden\" name=\"task\" value=\"conferma\">
<input type=\"submit\" class=\"btn\" Value=\"Conferma\"
onmouseover=\"this.className='btn btnhov'\" onmouseout=\"this.className='btn'\"></td>
</form>
</tr>
</table>";
function delete($id) {
mysql_query("delete from carrello WHERE id=$id");
Header("Location: fatt1.php");
}
function delete_all() {
mysql_query("TRUNCATE TABLE carrello");
Header("Location: fatt1.php");
}
function conferma() {
global $numero, $usercli, $tot_fatt;
$cod = $result['codice'];
$desc = $result['descrizione'];
$oggi = time();
$sql3 = mysql_query("INSERT INTO fatture (numero_fatt, id_cliente, totale, data)
VALUES ('$numero', '$usercli', '$tot_fatt', '$oggi');");
$id_fatt = mysql_insert_id();
$sql4 = mysql_query("INSERT INTO prodotti_acquistati (codice, descrizione, quantita, prezzo_un, iva, id_fattura)
VALUES ('$cod', '$desc', '$quan', '$prezzo_uni', '$iva', '$id_fatt' );");
}
switch($_REQUEST['task']) {
case 'delete':
delete($_REQUEST['id']);
break;
case 'delete_all':
delete_all();
break;
case 'conferma':
conferma();
break;
}
?>
In pratica ho una pagina html divisa in frame.
a sinistra ho un una frame in alto dove c'è un menu a discesa
dal quale seleziono il cliente (inviando così direttamente l'id_user
alla pagina fatt1.php)
In basso a sinistra un form che invia i dati degli articoli
della fattura che vengono inviati lo stesso alla pagina fatt1.php.
Ci sono vari problemi
Il primo è che ogni volta che invio un nuovo articolo dal form (del frame in basso
a sinistra)
la pagina si aggiorna e se ho selezionato il cliente per l'intestazione
della fattura i dati si perdono (parlo dell'id_user) e alla fattura
scompare l'intestazione. In definitiva non riesco a conservare
l'id_user del clientye che mi serve per varie query come
potete vedere dal codice sopra, nemmeno quando clicco sul tasto "conferma"
che fa la stessa cosa: aggiorna la pagina e perdo l'intestazione senza
inviare l'id_user/cliente.
Il secondo problema deriva dal fatto che ho modificato
questa query seguendo il tuo consiglio:
da così:
Codice PHP:
if (isset($_REQUEST['codice'])){
$dati=" INSERT INTO carrello VALUES (NULL,
'".addslashes($_REQUEST['codice'])."',
'".addslashes($_REQUEST['descrizione'])."',
'".str_replace(",",".",$_REQUEST['quantita'])."',
'".str_replace(",",".",$_REQUEST['prezzo'])."',
'".addslashes($_REQUEST['iva'])."',
)";
a così:
Codice PHP:
if (isset($_REQUEST['codice'])){
$dati = mysql_query("INSERT INTO carrello (codice, descrizione,
quantita, prezzo_un, iva, id_cliente)
VALUES ('".addslashes($_REQUEST['codice'])."',
'".addslashes($_REQUEST['descrizione'])."',
'".str_replace(",",".",$_REQUEST['quantita'])."',
'".str_replace(",",".",$_REQUEST['prezzo'])."',
'".addslashes($_REQUEST['iva'])."',
'$usercliente');");
In quest'ultimo caso vedo il messaggio: "Non riesco ad eseguire la query 1"
Dove sbaglio?
Per il momento la sql4 non la prendiamo in considerazione. ci devo lavorare.
Era solo una prova.
Scusate, ma non sono un esperto di php e penso che nel codice sopra ci
possano essere anche altri errori banali sui quali, se non vi dispiace,
potete darmi dei consigli. aiutatemi, per piacere, sto impazzendo su questa pagina da un bel po'
Grazie e buone feste.