Ragazzi se potete per favore aiutarmi..
ho i dati di due tabelle
confmiele e miele
contengono i dati della confezionatura e produzione del miele
hanno campi simili come contenuto esempio :
tabella miele
campo nomemiele = ACACIA
tabella confmiele
campo nomeconfmiele = ACACIA
o il codice miele ma le tabelle sono diverse (hanno diverso numero di campi)
ora il mio cruccio è prelevare i dati delle due tabelle in base a un criterio esempio: nomemiele
e ordinarli per data indipendentemente da quale tabella arrivano..
quindi potrei trovare
1 miele
1confezionatura
2confezionatura
3 confezionatura
e via dicendo il risultato deve essere come se fosse una sola tabella che mostra i dati di quando il miele è "uscito" in ordine cronologico....
ho provato in diversi modi con mysql ma la union non si può applicare (le tabelle sono diverse)
ho provato anche con inner join ma non da il risultato voluto in quanto facendo la relazione tra le due tabelle la prima la fa da padrone .. mi spiego meglio... per ogni confezionatura sopra viene sempre riportata la produzione e di quella nella tabella miele ce ne una sola
invece a me
viene così
1miele id 1
1confezionatura id 30
1miele id1
2confezionatura id 31
1miele id1
3confeziontura id32
Uploaded with ImageShack.us
spero con questa premessa di essermi spiegato bene....
e spero che qualcuno mi possa aiutare...
ecco il codice ---
ovviamente vi ho postato tutto ma alcune parti fanno solo in modo di prelevare dati o traformarli nel formato corretto e quello funziona ....
<?php
include("connDBmiele.php");
$nomemiele = $_POST['nomemiele'];
$codmiele = $_POST['codmiele'];
$datamieleitaDA = $_POST['datamieleitaDA'];
$datamieleitaA = $_POST['datamieleitaA'];
//per visualizzare tutti in caso si selezioni % nel campo codice miele
if ($codmiele == "%" )
{
$codmiele1 == "TUTTI" ;
} else {
$codmiele1 == $_POST['codmiele'];
}
$result = mysql_query("SELECT * FROM dittmiele WHERE onoffdittmiele = 'SI' ") or die(mysql_error());
$row = mysql_fetch_array( $result );
$idditt = $row['idditt'];
$onoffdittmiele = $row['onoffdittmiele'];
$denodittmiele = $row['denodittmiele'];
$coddittmiele = $row['coddittmiele'];
?>
<div id="divButtons" name="divButtons" align="right">
<input type="image" src="../../honeyweb/miele/images/icon-print30.gif" alt="stampa" title="STAMPA" width="33" height="30" border="none" onclick="printPage()" >
<div align="center"><font color="#000000" size="+2" align="center" >--- X ----</font>
<div align="center"><font color="#000000" size="+2" align="center" ><?php echo $denodittmiele;?></font><font color="#000000" >___________________________________________</font><font color="#000000" size="+2" align="center" ><?php echo $coddittmiele;?></div>
<div align="center"><font color="#000000" size="+1" align="center" >REGISTRO CARICO SCARICO ANNO DI PRODUZIONE DAL <?php echo $datamieleitaDA; ?> AL<?php echo $datamieleitaA; ?> </font> </div>
<div align="center"><font color="#000000" size="+1" align="center" >PRODOTTO MIELE GREZZO <?php echo $nomemiele; ?> CODICE LOTTO <?php echo $codmiele1; ?> CONFEZIONE METURETORE FUSTO , UNITA' DI MISURA KG </font> </div>
</div>
</p>
<?php
//inverte la stringa data da italiano a inglese per la ricerca sul db
function convertiData2($data){
$rsl = explode ('-',$data);
$rsl = array_reverse($rsl);
return implode($rsl,'/');
}
//inverte la stringa data da italiano a inglese per la ricerca sul db
function convertiData($data){
$rsl = explode ('/',$data);
$rsl = array_reverse($rsl);
return implode($rsl,'-');
}
$datamieleusDA=convertiData($datamieleitaDA);
$datamieleusA=convertiData($datamieleitaA);
// funzione converte grammi in kg CON DECIMALI
function convertiGrammi($numero){
$numero = $numero / 1000 ;
$numero = number_format($numero, 3,",",",");
return $numero ;
}
$query="SELECT miele.*, confmiele.* FROM miele INNER JOIN confmiele ON codmiele = codconfmiele WHERE codmiele = ('".$codmiele."') AND codconfmiele = ('".$codmiele."') AND datamiele BETWEEN ('".$datamieleusDA."') AND ('".$datamieleusA."') AND dataconfmiele BETWEEN ('".$datamieleusDA."') AND ('".$datamieleusA."') ORDER BY 2 DESC ";
$res = mysql_query($query) or die ('Error updating database: ' . mysql_error());
{
}
?>
<table id=stat align="center" width="70%" border="4" bordercolor="#CCCCCC" bgcolor="#FFFFFF" cellpadding="1" cellspacing="1" >
<tr>
<td width='5%' align='center'><a style='text-decoration:none' title='Data confezionatura'>ID </a></td>
<td width='5%' align='center'><a style='text-decoration:none' title='Data confezionatura'>DATA </a></td>
<td width='5%' align='center'><a style='text-decoration:none' title='Nome univoco del lotto'>OPERAZIONE</a> </td>
<td width='10%' align='center'><a style='text-decoration:none' title='Nome confezione'>PROVENIENZA O DESTINAZIONE</a></td>
<td width='10%' align='center'><a style='text-decoration:none' title='Peso confezione'>POSTAZIONE</a></td>
<td width='5%' align='center'><a style='text-decoration:none' title='Numero confezioni'>LOTTO</a></td>
<td width='5%' align='center'><a style='text-decoration:none' title='Totale parziale confezionato'>CARICO</a></td>
<td width='5%' align='center'><a style='text-decoration:none' title='Totale parziale confezionato'>SCARICO</a></td>
<td width='5%' align='center'><a style='text-decoration:none' title='Totale globale lotto confezionato'>GIACENZA</a></td>
</tr>
<?php
while($row=mysql_fetch_assoc($res)){
///per smielature
//ho apreto il tag della tabella e inserito una riga di intestazione con i nomi dei campi.
//inverte la stringa data
//$row['dataconfmieleus'] = $row['dataconfmiele'];
$row['datamieleita']=convertiData2($row['datamiele']);
//converte i grammi del database in kg
$row['totmielegrammi'] = $row['totmiele'] ;
$row['totmielekg']=convertiGrammi($row['totmielegrammi']);
$row['resmielegrammi'] = $row['resmiele'] ;
$row['resmielekg']=convertiGrammi($row['resmielegrammi']);
$row['resmielegrammi'] = $row['resmiele'] ;
$row['resmielekg']=convertiGrammi($row['resmielegrammi']);
////per confezionature
$row['dataconfmieleita']=convertiData2($row['dataconfmiele']);
//converte i grammi del database in kg
$row['tottotconfmielegrammi'] = $row['tottotconfmiele'] ;
$row['tottotconfmielekg']=convertiGrammi($row['tottotconfmielegrammi']);
$row['resparzconfmielegrammi'] = $row['resparzconfmiele'] ;
$row['resparzconfmielekg']=convertiGrammi($row['resparzconfmielegrammi']);
$row['resconfmielegrammi'] = $row['resconfmiele'] ;
$row['resconfmielekg']=convertiGrammi($row['resconfmielegrammi']);
////fatt
//ho apreto il tag della tabella e inserito una riga di intestazione con i nomi dei campi.
//inverte la stringa data
//$row['dataconfmieleus'] = $row['dataconfmiele'];
$row['datamieleita']=convertiData2($row['datamiele']);
$row['dataconfmieleita']=convertiData2($row['dataconfmiele']);
$row['datafattmieleita']=convertiData2($row['datafattmiele']);
//per ogni "ciclata" del while produciamo una riga della tabella
//operazione per il resto miele
$row['resmiele'] = $row['totmiele'] ;
//converte i grammi del database in kg
$row['resparz18sfusofattmielegrammi'] = $row['resparz1sfusofattmiele'] ;
$row['resparz18sfusofattmielekg']=convertiGrammi($row['resparz18sfusofattmielegrammi']);
?>
<tr>
<td width="5%" align="center"><?php echo $row['id'] ?></td>
<td width="5%" align="center"><?php echo $row['datamieleita'] ?></td>
<td width="5%" align="center">SMIELATTURA</td>
<td width="10%" align="center"><?php echo $row['postazimiele'] ?></td>
<td width="10%" align="center"></td>
<td width="5%" align="center"><?php echo $row['codmiele'] ?></td>
<td width="5%" align="center"><?php echo $row['totmielekg']?></td>
<td width="5%" align="center"><?php echo $row['resparzmielekg'] ?></td>
<td width="5%" align="center"><?php echo $row['totmielekg']?></td>
</tr>
<tr>
<td width="5%" align="center"><?php echo $row['idconf'] ?></td>
<td width="5%" align="center"><?php echo $row['dataconfmieleita'] ?></td>
<td width="5%" align="center">CONFEZIONATURA</td>
<td width="10%" align="center"><?php $denodittmiele ?></td>
<td width="10%" align="center"></td>
<td width="5%" align="center"><?php echo $row['codconfmiele'] ?></td>
<td width="5%" align="center"></td>
<td width="5%" align="center"><?php echo $row['tottotconfmielekg'] ?></td>
<td width="5%" align="center"><?php echo $row['resparzconfmielekg']?></td>
</tr>
<?php
} //chiusura while
?>