Newsgroup: it.comp.www.php
Titolo: Novellino cerca aiuto

Ciao a tutto il NG
sto cominciando a sviluppare in PHP, grazie al NG ho già perfezionato
un po le mie conoscenze (premetto che sviluppo abbastanza bene in
ASP/VB/Javascript e mastico il C)
Ho un dubbio che non sono riuscito a risolvere e quindi chiedo a voi.
Se ho un db e voglio mettere a video i risultati in una tabella, ma ne
voglio 2 per riga come faccio ?
Esempio
<?
$db=mysql_connect("127.0.0.1", "aaa", "bbb");
$sql="SELECT * FROM link where idcat=".$categoria." and
idscat=".$sottocategoria." ORDER BY descrizione";
$result=mysql_db_query("pomiglianoweb",$sql,$db);
while ( $array = mysql_fetch_array($result)) {
print "<tr><td height='15'><font size='1' face='Arial, Helvetica,
sans-serif'>";
print "<a href='".$array[4]."' target='_blank'>".$array[3]."</A>";
print "</font></td></form></tr>";
}
mysql_close($db);
?>
Questo mi fa vedere 1 link alla volta con un solo <TD> per <TR>, io
vorrei mettere 2 <TD>, ma non ho capito come far avanzare il
puntatore.
Onestamente non ho nemmeno capito bene come fa il while a incrementare
la posizione dell'array che viene creato, ma penso che sia una
funzionalità implicita di mysql_fetch_array, una cosa simile al "for
each" del VB
Grazie per ogni chiarimento e suggerimento,
Ciao da Rocco

Rocco Di Maiolo wrote:
che ne dici?
<?
  $db=mysql_connect("127.0.0.1", "aaa", "bbb");
  $sql="SELECT * FROM link where idcat=".$categoria." and 
idscat=".$sottocategoria." ORDER BY descrizione";
  $result = mysql_query($sql) or die(mysql_error($sql));
  print("<table border='1'>");
  $DesSin=0;
  print ("<tr>");
  while ( $array = mysql_fetch_array($result)) {
    print ("<td height='15'><font size='1' face='Arial'>");
    print ("<a href='".$array[4]."' target='_blank'>".$array[3]."</A>");
    print ("</font></td>");
    if ($DesSin<1) {
       $DesSin++;
    } else {
       print("</tr><tr>");
       $DesSin=0;
    }
    }
  if ($DesSin==1)  print("<td></td>");
  print("</tr>");
  print("</table>");
  mysql_close($db);
  ?>
Ciao
A.

ho risolto, ma la soluzione mi sembra un po spartana
Questa è la mia soluzione,
		<?
		$db=mysql_connect("127.0.0.1", "aaa", "bbb");
		$sql="SELECT * FROM link where idcat=".$categoria." and
idscat=".$sottocategoria." ORDER BY descrizione";
		$result=mysql_db_query("pomiglianoweb",$sql,$db);
 
		$elementi=0;
		while ( $array = mysql_fetch_array($result)) {
			$Indirizzi[]=$array[4];
			$Descrizioni[]=$array[3];
			$elementi++;
		}
		$elementi--;
		for ($i=0; $i<=$elementi;$i++){
			print "<tr>";
				print "<td height='13' width='50%'>";
					print "<font size='1' face='Arial, Helvetica, sans-serif'>";
						print "<a href='".$Indirizzi[$i]."'
target='_blank'>".$Descrizioni[$i]."</a>";
					print "</font>";
				print "</td>";
			$i++;
			if ($i<=$elementi){
				print "<td height='13' width='50%' align='right'>";
					print "<font size='1' face='Arial, Helvetica, sans-serif'>";
						print "<a href='".$Indirizzi[$i]."'
target='_blank'>".$Descrizioni[$i]."</a>";
					print "</font>";
				print "</td>";
			} else {
				print "<td height='13' width='50%'>";
					print "<font size='1' face='Arial, Helvetica,
sans-serif'>&nbsp;</font>";
				print "</td>";
			}
			print "</tr>";
		}
		mysql_close($db);
		?>
secondo voi la posso migliorare ?
Io penso di si ... sto prendendo la mano con il PHP e lo vedo bellino
veramente, speriamo che non mi deluda come MySQL e le sottoquery ;)
Ciao da Rocco

 ...speriamo che non mi deluda come MySQL e le sottoquery ;)
oooh, non ho mai trovato un caso che non si potesse convertire in Join 
facilmente....
Andrea


    Ciao, Rocco

     Come faccio senza le sottoquery ?
Fa troppo schifo?
SELECT N1,N2,N3,Count(N2) as Num
FROM a
GROUP BY N1,((N2+100)*100+N3)
ORDER BY by Num DESC
Dopo cambi l'ordine dei campi ... e se é lotto e se vinci ... ricordati 
degli amici!
Andrea


Ciao da Rocco

 numeri, poi ognuno perde quanto vuole =P
Guarda al massimo la query, ma quello che volevi fare proprio non lo ho 
capito! O forse al lotto adesso girano anche numeri negativi! Il condono?
Andrea


Ciao, Rocco