Newsgroup: it.comp.www.php
Titolo: Cos'è che sbaglio?

Estraggo da un database i nomi di 6 pizze,
con la prima query estraggo i primi 3, con la seconda
estraggo i secondi 3.
Li voglio mostrare in una tabella che contenga
nella prima colonna le prime tre pizze, nella seconda colonna le seconde tre 
pizze,
quindi secondo questo schema:
      Pizza 1
     Pizza 4
      Pizza 2
     Pizza 5
      Pizza 3
     Pizza 6
In realtà il mio script mi mostra questa tabella che in effetti mi mostra le 
prime 6 pizze del database,
però è diventata così:
      Pizza 1
      Pizza 2
      Pizza 3
     Pizza 4
      Pizza 5
      Pizza 6
Ecco il mio script: mi dite dov'è che sbaglio? (grazie mille ^_^)
<?
$db = mysql_connect("localhost", "root");
$sqlinterr = "SELECT * FROM Pizze LIMIT 0,3  ";
$res = mysql_db_query ("test", $sqlinterr);
$num = mysql_num_rows ($res);
$sqlinterr2 = "SELECT * FROM Pizze LIMIT 3,3  ";
$res2 = mysql_db_query ("test", $sqlinterr2);
$num2 = mysql_num_rows ($res2);
echo "<table border='1' >";
for ($i=0; $i < $num; $i++)
{
 $nome = mysql_result ($res, $i, "nome_pizza");
 echo "<tr><td>$nome</td>";
}
for ($a=0; $a < $num; $a++)
{
 $nome2 = mysql_result ($res2, $a, "nome_pizza");
 echo "<td>$nome2</td></tr>";
}
echo "</table>";
mysql_close ($db);
?>

Chiedo scusa per come è venuto male il messaggio in realtà guardate lo 
script e ditemi
per favore dove è che sbaglio, in ogni caso mi viene mostrata una tabella 
con i dati
messi in modo disordinato, non come vorrei ossia, le prime 3 pizze nella 
colonna di sinistra,
le seconde tre pizze nella colonna di destra.
^_^ 

 }
[..]
studia meglio come funziona HTML riguardo le tabelle..
l'output del tuo script dovrebbe assomigliare a questo..
<table border='1'>
 <tr>
  <td>Pizza 1</td>
  <td>Pizza 4</td>
 </tr>
 <tr>
  <td>Pizza 2</td>
  <td>Pizza 5</td>
 </tr>
 <tr>
  <td>Pizza 3</td>
  <td>Pizza 6</td>
 </tr>
</table>
oppure meglio gestibile (ma con tabelle superflue)..
<table border='1'>
 <tr>
  <td>
   <table border='0'>
    <tr>
     <td>Pizza 1</td>
     <td>Pizza 2</td>
     <td>Pizza 3</td>
    </tr>
   </table>
  </td>
  <td>
   <table border='0'>
    <tr>
     <td>Pizza 4</td>
     <td>Pizza 5</td>
     <td>Pizza 6</td>
    </tr>
   </table>
  </td>
 </tr>
</table>
-- 
www.iuz-lab.info

 l'output del tuo script dovrebbe assomigliare a questo..
Hai ragione, in effetti  era la struttura
della tabella che non corrispondeva a quello che volevo costruire.
Grazie per la dritta, ora funziona ;-) 

 }
Sbagli a fare due loop consecutivi.
In questo modo scrive le prime tre, poi scrive le altre tre.
Invece per la tabella che vuoi tu è necessario alternare i risultati 
delle due query in base alla tabella HTML che già ti hanno mostrato
Per ottenerla si dovrebbe fare più o meno così:
for ($i=0; $i < $num; $i++)
{
   $nome = mysql_result ($res, $i, "nome_pizza");
   $nome2 = mysql_result ($res2, $i, "nome_pizza"); // nota che uso $i
   echo "<tr><td>$nome</td>";
   echo "<td>$nome2</td></tr>";
}
Comunque mi pare anche superfluo fare due query. Se non ci sono altri 
motivi per farne due, ne potrebbe bastare una sola ricavando sei 
risultati invece di tre, e alternando poi le righe nella lettura.
Come principio dovrebbe essere più o meno così:
for ($i=0; $i < ($num/2); $i++)
{
   $nome = mysql_result ($res, $i, "nome_pizza");
   $nome2 = mysql_result ($res, $i+($num/2), "nome_pizza");
   echo "<tr><td>$nome</td>";
   echo "<td>$nome2</td></tr>";
}
Non l'ho testato però e credo proprio che serva qualche controllo in più 
nel caso i risultati siano dispari ;)

 nel caso i risultati siano dispari ;)
E' perfetto grazie, in effetti hai ragione, bastava una sola query, beh... 
sai...
sono un novellino, sbagliando si impara ;-)