Problema con mysqli_fetch_array()

Fabrizio Fiorita

Utente Attivo
Buonasera.
Nel mio database ho una tabella con 252 righe.
Per visualizzarle in una pagina php utilizzo un ciclo while con la funzione mysqli_fetch_array().
Vengono visualizzate soltanto le righe pari!

Ecco le istruzioni:
$query_str = "SELECT * FROM soci";
$result = mysqli_query($conn, $query_str) or die(mysql_error());
while($row_data = mysqli_fetch_array($result))
{ procedura di stampa riga }

Qualcuno sa dirmi che cosa succede e dove devo intervenire?
Grazie
Fabrizio
 

Fabrizio Fiorita

Utente Attivo
Riprendo per fare un'aggiunta:
se al posto di while uso do ... while vengono visualizzate solo le righe dispari!!!

$query_str = "SELECT * FROM soci";
$result = mysqli_query($conn, $query_str) or die(mysql_error());
do { procedura di stampa riga }
while($row_data = mysqli_fetch_array($result));
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prova a dargli
PHP:
$row_data = mysqli_fetch_array($result, MYSQLI_NUM);// oppure MYSQLI_ASSOC

anche se il tutto mi sembra un po' strano.
 

Fabrizio Fiorita

Utente Attivo
ciao
prova a dargli
PHP:
$row_data = mysqli_fetch_array($result, MYSQLI_NUM);// oppure MYSQLI_ASSOC

Provati ambedue, non cambia niente. Se non metti niente è sottinteso MYSQLI_BOTH.
Ho anche provato a leggere il numero delle righe (restituito correttamente) e a fare una FOR al posto della WHILE, il risultato visualizza ancora solo le linee pari.
Il problema si presenta identico sia in remoto (server unix) sia in locale (server microsoft).
Escluso quindi che sia colpa dei cicli while/do while/for; escluso che sia colpa della visualizzazione (una volgarissima tabella); escluso che sia colpa delle funzioni PHP, avendo provato sia con mysqli_fetch_array sia con $result->fetch_array con identico risultato, non mi resta che trovare l'errore nella tabella del database.
Che tu sappia, ci sono dei valori o dei settaggi che, se immessi da qualche parte nel database, ne condizionano il rendering?
Aggiungo che, se vado a visualizzare un solo elemento mediante il suo numero progressivo, pari o dispari che sia, la visualizzazione è perfetta e completa.

anche se il tutto mi sembra un po' strano.

A chi lo dici!!! Comunque grazie.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
di preciso non so, prova a postare il dump della tabella.
comunque fai anche una prova, fai la select su il solo campo dell'id (metti come lo chiami tu)
PHP:
$query_str = "SELECT id FROM soci ORDER BY id";
e prova a vedere col while cosa ti da
 

Fabrizio Fiorita

Utente Attivo
Provato, mi stampa soltanti i numeri pari.
Ho fatto il dump dei dati scaricati dalla tabella, ci sono tutti, con tutti i campi: quindi l'inghippo lo fa quando, con la while o altro ricorsivo va a leggere il contenuto riga per riga per stamparlo.
Lo strano è che, facendo il DO ... WHILE mi stampa i dispari e facendo il WHILE mi stampa i pari...
 

Fabrizio Fiorita

Utente Attivo
Non ci credo!
Ho "raddoppiato" la riga <tr> della tabella html e adesso me li mette tutti in ordine.
Praticamente è come se fetch_array leggesse due righe per volta: ma il comportamento non è normale...
Per ora mi accontento, perché il risultato è quello desiderato, ma appena avrò un po' di tempo voglio andare a fondo, perché devo capire come funziona.
Grazie per i suggerimenti.
Fabrizio :quote:
 

Fabrizio Fiorita

Utente Attivo
Non ci credo!
Ho "raddoppiato" la riga <tr> della tabella html e adesso me li mette tutti in ordine.
Praticamente è come se fetch_array leggesse due righe per volta: ma il comportamento non è normale...
Per ora mi accontento, perché il risultato è quello desiderato, ma appena avrò un po' di tempo voglio andare a fondo, perché devo capire come funziona.
Grazie per i suggerimenti.
Fabrizio :quote:
Sono andato a fondo... proprio a fondo! :dipser:
mysqli_fetch_array() funziona benissimo, almeno finché non trova uno distratto come me.
D'altra parte il momento dello stupido capita a (quasi) tutti...
Il problema stava nella tabella di visualizzazione: c'era un <tr> di troppo, aperto, senza <td> e non chiuso, che si "mangiava" le righe...
Borgo italia, ti chiedo scusa per il tempo che ti ho fatto perdere.
Fabrizio
 
Discussioni simili
Autore Titolo Forum Risposte Data
A PROBLEMA: insert mysqli con dati Tagsinput Presentati al Forum 0
M Problema con connessione MySqli e funzione PHP 2
P problema conessione dati con mysqli PHP 2
S Problema con mysqli PHP 2
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
N Problema con position absolute e overflow HTML e CSS 4
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
K [PHP] Problema con variabili concatenate. PHP 1
O problema con query PHP 4
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
G Problema con eccessiva nitidezza apertura Camera Raw Photoshop 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
T problema con select dinamica con jquery Javascript 0
S Problema con spazi bianchi HTML e CSS 5
Tommy03 Problema con z-index HTML e CSS 3
M Problema inserimento parole con apostrofo nel db PHP 5
C Problema con dati meteo xml XML 1
S Problema con infrarossi videocamera IP Cam e Videosorveglianza 1
V Problema con librerie allegro5 c++ C/C++ 1

Discussioni simili