Mi accodo al topic dato che purtroppo ancora una volta mi si ripresenta un problema simile, essendo il codice abbastanza lunghetto provo a spiegarmi con un esempio.
Eseguo più query su più tabelle e vorrei incolonnare i risultati di tutte le query, sono convinto che è foreach a crearmi sto problema cmq proseguo:
anzi provo ad incollare il codice incriminato
in sostanza le prime due nome e citta me le incolonna giuste mentre eta la incolonna sotto a nome e economia la incolonna sotto a eta mantenendo l'intestazione valida
in pratica
Nome ____Città____Eta media_____Economia
listanomi __lista città
Lista età media
lista economia
avrò fatto unc entinaio di prove dato che non ho capito il concetto dell'incolonnamento quindi può essere solo che apro o chiudo una riga dopo una parentesi sbagliata
HELP
Eseguo più query su più tabelle e vorrei incolonnare i risultati di tutte le query, sono convinto che è foreach a crearmi sto problema cmq proseguo:
anzi provo ad incollare il codice incriminato
PHP:
<table border="1">
<?php
include ('connect.php');
mysql_connect($DBhost,$DBuser,$DBpass) or die("Impossibile collegarsi al server");
@mysql_select_db("$DBName") or die("Impossibile connettersi al database $DBName");
/* Esecuzione di una query SQL */
$query = "SELECT * FROM tabella ORDER BY Nome";
$risultato = mysql_query($query) or die("Query fallita: " . mysql_error() );
/* Stampa dei risultati in HTML */
echo "<tr>";
echo "<td width=\"20\"bgcolor=\"DARKBLUE\" ><b><font face=\"Tahoma\" size=\"2\" color=\"WHITE\">Nome</td>
<td width=\"20\"bgcolor=\"DARKBLUE\" ><b><font face=\"Tahoma\" size=\"2\" color=\"WHITE\"> Città</td>
<td width=\"20\"bgcolor=\"DARKBLUE\" ><b><font face=\"Tahoma\" size=\"2\" color=\"WHITE\"> Etamedia</td>
<td width=\"20\"bgcolor=\"DARKBLUE\" ><b><font face=\"Tahoma\" size=\"2\" color=\"WHITE\"> Economia</td>
";
echo "\t</tr>";
$i=0;
while ($linea = mysql_fetch_array($risultato, MYSQL_ASSOC)) {
$i++;
$lin0=$linea['ID_Nome'];
$lin=$linea['Nome'];
$lin2=$linea['Città'];
echo "<tr>";
echo "<td height=\"22\" width=\"80\" align=\"center\" bgcolor=\"LIGHTCYAN\"><b><font face=\"Tahoma\" size=\"1\" color=\"Red \">$lin</td>\n";
echo "<td height=\"22\" width=\"80\" align=\"center\" bgcolor=\"LIGHTCYAN\"><b><font face=\"Tahoma\" size=\"1\" color=\"#292929 \">$lin2</td>";
}
//Età MEdia
$sql = "SELECT * FROM Nome";
$query = mysql_query($sql) or die(mysql_error());
$nomi=array();
$dati=array();
while($linea = mysql_fetch_array($query, MYSQL_ASSOC))
{
$dati[] = $linea['ID_Nome'];
$nomi[] = $linea['Nome'];
}
$avgs = array();
foreach($nomi as $user)
{
$sql = "SELECT * FROM Tabella2 WHERE Nome='{$user}'";
$query = mysql_query($sql) or die(mysql_error());
$total = 0;
while($row = mysql_fetch_assoc($query))
$total += $row['eta'];
$rows = mysql_num_rows($query);
$avgs[] = round((($rows > 0) ? ($total / $rows) : 0),2);
}
foreach($dati as $key=>$id)
{
echo "<tr>";
$value1 = $avgs[$key];
echo "<td height=\"22\" width=\"80\" align=\"center\" bgcolor=\"LIGHTCYAN\"><b><font face=\"Tahoma\" size=\"2\" color=\"#292929 \">$value1</td>\n";
}
//Budget
$bud=array();
$sql="SELECT * FROM tabella ORDER by Nome";
$pr=mysql_query($sql);
while ($res = mysql_fetch_array($pr, MYSQL_ASSOC)) {
$bud[] = $res['ID_Nome'];
}
foreach($bud as $user)
{
$sql="SELECT * FROM tabella1 WHERE ID_Nome ='{$user}' '";
$fr=mysql_query($sql);
while ($fuori = mysql_fetch_array($fr, MYSQL_ASSOC)) {
echo "<tr>";
$budget=$fuori['Attuale'];
}
echo "<td height=\"22\" width=\"20\"><font face=\"Tahoma\" size=\"2\" color=\"$col\"> $budget</td>\n";
}
echo "\t</tr>\n";
?>
</tr>
</table>
in sostanza le prime due nome e citta me le incolonna giuste mentre eta la incolonna sotto a nome e economia la incolonna sotto a eta mantenendo l'intestazione valida
in pratica
Nome ____Città____Eta media_____Economia
listanomi __lista città
Lista età media
lista economia
avrò fatto unc entinaio di prove dato che non ho capito il concetto dell'incolonnamento quindi può essere solo che apro o chiudo una riga dopo una parentesi sbagliata
HELP