devo usare un join? E come?

Allora, allora

finalmente riesco ad inviare una varibile contenente l'id_fattura alla pagina

che dovrà essere stampata (grazie ancora Lonely!!). Con l'id_fattura conto di riuscire a richiamare

dalle tabelle del db tutti i dati della fattura da stampare.

Le tabelle interessate dall'operazione sono queste:

tabella fatture:

`id_fattura` int(5) NOT NULL auto_increment,

`numero_fatt` int(5) NOT NULL default '0',

`id_cliente` int(5) NOT NULL default '0',

`totale` float NOT NULL default '0',

`data` int(11) default NULL,

PRIMARY KEY (`id_fattura`)

tabella clientidb:

`id_user` int(5) NOT NULL auto_increment,

`cognome` varchar(30) NOT NULL default '',

`nome` varchar(30) NOT NULL default '',

`indirizzo` text NOT NULL,

`citta` text NOT NULL,

PRIMARY KEY (`id_user`),

tabella prodotti_acquistati:

`id_acquisto` int(5) NOT NULL auto_increment,

`codice` varchar(30) NOT NULL default '',

`descrizione` text NOT NULL,

`quantita` int(11) NOT NULL default '0',

`prezzo_un` int(11) NOT NULL default '0',

`iva` int(5) NOT NULL default '0',

`id_fattura` int(5) NOT NULL default '0',

PRIMARY KEY (`id_acquisto`)

ok, adesso avendo l'id_fatt dovrei richiamare:

i dati della tabella fatture relativa a quell'id ovviamente;

i dati del cliente (visto che nel record della tabella fatture c'è un id_cliente associato alla fattura) e infine i prodotti acquistati 8utilizzando sempre l'id_fatt disponibile a quanto pare.

So che dovrebbe essere usata una query (o forse 2) con l'istruzione JOIN

ma non ho mai avuto modo di usarla.

Mi aiutate nell'impresa?

Grazie

inviato 10 anni fa
frankphp
X 0 X

esempio semplice di utilizzo delle JOIN:

tabella squada_calcio:

id_squadra, nome_squadra

tabella giocatori:

id_giocatore, id_squadra, nome_giocatore

Per sapere tutti i giocatori che giocano nell'inter:

SELECT nome_giocatore

FROM squada_calcio

JOIN  giocatori ON squada_calcio.id_squadra = giocatori.id_squadra

WHERE nome_squadra = "inter"

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

esempio semplice di utilizzo delle JOIN:

tabella squada_calcio:

id_squadra, nome_squadra

tabella giocatori:

id_giocatore, id_squadra, nome_giocatore

Per sapere tutti i giocatori che giocano nell'inter:

SELECT nome_giocatore

FROM squada_calcio

JOIN  giocatori ON squada_calcio.id_squadra = giocatori.id_squadra

WHERE nome_squadra = "inter"

 :bye:

 ???..vabbè, proviamo un po'.

Grazie

risposto 10 anni fa
frankphp
X 0 X

Se ti è chiaro l'esempio che ti ho fatto allora vedrai che non avrai problemi ad applicarlo al tuo caso, altrimenti dimmi dove trovi problemi.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Se ti è chiaro l'esempio che ti ho fatto allora vedrai che non avrai problemi ad applicarlo al tuo caso, altrimenti dimmi dove trovi problemi.

 :bye:

Risolto! Era più semplice del previsto.

Ecco l'intero codice della pagina stampa.php che riceve l'id_fatt inviato dalla pagina

fatt1.php (che conosciamo bene..vero?)

 ;) ;D

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<!-- Creation Date: <?=Date("d/m/Y")?> -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Dev-PHP 1.9.4">
<title>Document Title</title>
</head>
<body onload="javascript: window.print();">
<?php
$db = mysql_connect('localhost', 'root', '') or die(mysql_error());
@mysql_select_db('fattura', $db) or die(mysql_error());

$nuovavariabile=$_REQUEST['variabile'];

$query = mysql_query("SELECT * FROM clientidb JOIN fatture ON clientidb.id_user=fatture.id_cliente
WHERE fatture.id_fattura = $nuovavariabile",$db);
while( $row = mysql_fetch_array($query) )
{
 echo"<b>DATI DEL CLIENTE:</b> <br>
   $row[cognome] $row[nome]<br>
   $row[indirizzo]<br>
   $row[citta]<br>
   P.I.&nbsp&nbsp $row[iva]</b><br>";
 }
 
$query2 = mysql_query("SELECT * FROM fatture WHERE id_fattura = $nuovavariabile",$db);
while( $row2 = mysql_fetch_array($query2) )
{
$anno = date("d/m/y", $row2["data"]);
 echo"<p></p><b>DATI DELLA FATTURA:</b> <br>
   $row2[numero_fatt]<br>
   $row2[annotazioni]<br>
   $row2[aspetto]<br>
   $anno
   ";
 }
 
echo"<p></p><b>DATI ARTICOLI:</b> <br>";
$query3 = mysql_query("SELECT * FROM prodotti_acquistati WHERE id_fattura = $nuovavariabile",$db);
while( $row3 = mysql_fetch_array($query3) )
{
 echo"
   $row3[codice]<br>
   $row3[descrizione]<br>
   $row3[quantita]<br>
   $row3[prezzo_un]<br>
   $row3[iva]<br><br>
   ";
 }
?>
</body>
</html>

Beh c'è l'output da mettere a posto (devo ridisegnare la fattura, avevo pensato

di usare flash;giusto per complicarmi la vita) ma l'essenziale funziona.

Che ne dite?

Ci sono troppe query?

Grazie e ciao

risposto 10 anni fa
frankphp
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda
 

[pagina costruita in 0.010s]