Newsgroup: it.comp.www.php
Titolo: Problemi con array da db

Ciao,
ho scritto questo codice:
// eseguo l'SQL di interrogazione
$qry_prono = @mysql_query("SELECT * FROM pronostici WHERE
iduser='$iduser'");
//Conto i records prodotti dalla query
$num=@mysql_num_rows($qry_prono);
//Controllo che il pronostico dell'utente x sia univoco
//e se vero carico nell'array $prono le coppie campo-valore
if ($num==1)
{
//Questo è l'array
$pronostico = @mysql_fetch_array($qry_prono);
}
print_r ($pronostico);
echo "<br>";
Questo è quello che mi stampa a video. Sembra che ci siano dati doppi per
ogni cosa.
Array ( [0] => 1 [idpronostico] => 1 [1] => 0 [iduser] => 0 [2] => 1-0 [R1T]
=> 1-0 [3] => 2-1 [RF] => 2-1 [4] => pippo[goal1] => pippo[5] => pluto
[goal2] => pluto [6] => paperino [goal3] => paperino [7] => // [goal4] => //
[8] => // [goal5] => // [9] => // [goal6] => // [10] => 12 [min1] => 12 [11]
=> 60 [min2] => 60 [12] => 0 [min3] => 0 [13] => 0 [min4] => 0 [14] => 0
[min5] => 0 [15] => 0 [min6] => 0 [16] => tizio [amm1] => tizio [17] => caio
[amm2] => caio [18] => // [amm3] => // [19] => sempronio [sub1] => sempronio
[20] => orazio [sub2] => orazio [21] => etabeta [sub3] => etabeta )
Scusate l'ignoranza ma potete spiegarmi perchè?
Michele
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Inviato via 
http://arianna.libero.it/usenet/
nessun problema..
http://www.php.net/mysql_fetch_array
$pronostico = @mysql_fetch_array($qry_prono, MYSQL_ASSOC);
oppure..
$pronostico = @mysql_fetch_assoc($qry_prono);
-- 
www.iuz-lab.info

grazie


Scrivendo come mi hai suggerito l'array è giusto. Adesso io ho due array
simili, possono cambiare dei valori. Io devo confrontare gli elementi dei
due array e dare dei punteggi in caso siano uguali. Ho usato questo codice
(che con due array scritti da me funziona bene):
$punti = 0;
//controllo gli elementi dell'array da 0 a 1 - controllo risultati del primo
e secondo tempo
if ($pronostico[2]==$risultato[2]) {
   $punti = $punti + 3;
}
	$punteggio[0] = $punti;
    $punti=0;
 
if ($pronostico[3]==$risultato[3]) {
   $punti = $punti + 3;
}
   $punteggio[1] = $punti;
   $punti=0;
//controllo gli elementi dell'array da 2 a 7 - controllo i marcatori
for ($j=4; $j<=9; $j++) { //$risultato
   for ($i=4; $i<=9; $i++) { //$pronostico
       if ($pronostico[$i]==$risultato[$j]) {
 
	 if ($i == $j) { //marcatore nel giusto ordine
             $pronostico[$i] = $pronostico[$i]."*";
             $punti = $punti + 6;
	         break;
          }
 
	  if ($i <> $j) { //marcatore non nel giusto ordine
             $pronostico[$i] = $pronostico[$i]."*";
             $punti = $punti + 4;
		     break;
          }
       }
   }
   $punteggio[$j] = $punti;
   $punti=0;
}
Ma ogni volta che arriva a questo punto a confrontare due elementi (come in
questo esempio $pronostico[3]==$risultato[3]) ho questo errore (e poi entra
nel ciclo o nell'if) dal debug:
array.php(59): Undefined offset: 2
: Undefined offset: 2 in load_array.php line 59
io non lo capisco!


 Inviato via 
http://arianna.libero.it/usenet/
non ho letto il tuo codice.. ma (2).. 
http://www.php.net/mysql_fetch_array
$pronostico = @mysql_fetch_array($qry_prono, MYSQL_NUM);
oppure..
$pronostico = @mysql_fetch_row($qry_prono);
-- 
www.iuz-lab.info