ciao, devo ciclare all'interno di un array così, circa:
for ($i = 0; $i < $my_arr.count; $i++)
etc
il problema è che -count- o -lenght- non me li prende.
qual'è il metodo per ciclare all'interno dell'array?
grazie
ciao, devo ciclare all'interno di un array così, circa:
for ($i = 0; $i < $my_arr.count; $i++)
etc
il problema è che -count- o -lenght- non me li prende.
qual'è il metodo per ciclare all'interno dell'array?
grazie
o per rimanere sul for come volevi tu:
http://it.php.net/manual/it/function.count.php
No pvt per sollecitare risposte, grazie.
ok, grazie. il problema è che devo fare una sql query
select utente_nome, utente_cognome from ana
quando faccio
while ($row = mysql_fetch_array($result))
{
$count = count($row);
print $count; MI SCRIVE 4 e NON 2!!!! perchè?
mi serve sapere il numero di campiperchè è variabile, arriva da una selezione
}
perchè mi torna 4? i campi sono utente_nome e utente_cognome??????
da manuale:
http://se2.php.net/manual/it/functio...etch-array.php
ecco perchè ti restituisce il doppio dei valori che ti aspetti. svelato l'arcano.Usando MYSQL_BOTH, si ottiene un array con entrambe gli indici (associativo e numerico). Usando MYSQL_ASSOC, si ottengono solo gli indici associativi (stesso funzionamento di mysql_fetch_assoc()), usando MYSQL_NUM, si ottengono solo gli indici numerici (stesso funzionamento di mysql_fetch_row()).
dai un'occhiata al manuale.
Dalla documentazione ufficiale: http://it.php.net/manual/it/function...etch-array.php
mysql_fetch_array() è una versione estesa di mysql_fetch_row(). Oltre a memorizzare i dati del risultato in array con indice numerico, questa li memorizza anche con indici associativi usando i nomi dei campi come chiavi.
Significa che "mysql_fetch_array" restituisce un array di tipologia "mista" contenente sia i valori identificati da indici numerici, sia quelli identificati da indici associativi (che sono stringhe aventi il nome dei campi della query).
In parole povere, usando "mysql_fetch_array" sulla query che hai scritto prima ottieni un array così formato:
E cioè contenente 4 elementi, anzichè 2 come ti aspettavi. Per fare quello che ti serve, usa "mysql_fetch_row": http://it.php.net/manual/it/function...-fetch-row.phpcodice:Array ( [0] => valore_del_campo___utente_nome ['utente_nome'] => valore_del_campo___utente_nome [1] => valore_del_campo___utente_cognome ['utente_cognome'] => valore_del_campo___utente_cognome )
Per sapere il numero di campi puoi anche usare questa funzioneOriginariamente inviato da verardoelvis
ok, grazie. il problema è che devo fare una sql query
select utente_nome, utente_cognome from ana
quando faccio
while ($row = mysql_fetch_array($result))
{
$count = count($row);
print $count; MI SCRIVE 4 e NON 2!!!! perchè?
mi serve sapere il numero di campiperchè è variabile, arriva da una selezione
}
perchè mi torna 4? i campi sono utente_nome e utente_cognome??????
http://se.php.net/manual/it/function...num-fields.php
che ti consente di sapere il numero esatto sia nel caso che selezioni solo alcuni campi nella query, sia nel caso faccia una select *.
oppure con quest'altro metodo puoi sapere solo il numero complessivo di campi della tua tabella
$query = mysql_query("show columns from tabella");
echo mysql_num_rows($query);
spero di esserti stato utile.
fetch_array() è inutile, usa sempre fetch_assoc() o fetch_row()