Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    problema con while e strcmp

    Ciao a tutti,
    ancora una volta sono qui a chiedervi aiuto!!! :master:

    Il problema dovrebbe essere banale ma non capisco come saltarci fuori.

    Ho un ciclo while in cui la condizione è

    while(strcmp("Clienti","$data->sheets[0]['cells'][$i][1]"))

    dove $data->sheets[0]['cells'][$i][1] è una casella di un file excel

    Io vorrei che nel momento in cui lui trova scritto Clienti nella prima colonna di ogni riga non
    entri nel ciclo while....il tutto però non funziona, facendo qualche stampa ho visto che la
    lettura dal file excel è corretta,però quando trova la scritta Clienti se ne strafega della condizione ed entra comunque nel ciclo....
    ..in realtà strcmp dovrebbe restituirmi 0 e non entrare....
    ...la domanda è quindi....Perchè????
    Grazie ragazzi
    ciao a tutti

  2. #2
    Che cosa restituisce questo codice?

    Codice PHP:
    error_reporting(E_ALL);
    ini_set('display_errors'1);
    var_dump("$data->sheets[0]['cells'][$i][1]"); 

  3. #3
    mi restituisce

    string(39)
    Array[0]['cells'][5][1]

    però è strano, perchè tutti i dati che trovo prima della scritta clienti me li legge ed inserisce correttamente nel db.

  4. #4

  5. #5
    ho provato anche senza doppi apici, ma non funziona.
    In realtà per la disperazione ho provato un po tutte le combinazioni possibile, apici doppi,singoli, ho provato anche a memorizzare la stringa 'Clienti' dentro un'altra variabile.

    Il file è formato da una 50ina di righe, le prime 30 le legge senza problemi e me le inserisce,
    poi arriva la riga del file dove c'è scritto solo Clienti, e da questo momento in poi i dati che leggo
    dovranno essere inseriti dentro un'altra tabella.
    Il problema senza proprio il while che è sempre passante...non ci sono errori li?

  6. #6
    Guarda CON ATTENZIONE ciò che viene restituito da var_dump(). C'è scritto Array, significa che avviene un typecast implicito.

    Se scrivi:

    Codice PHP:
    var_dump($data->sheets[0]['cells'][$i][1]); 
    Cosa ottieni invece?

    P.S.
    Provare codice a caso è inutile. Le modifiche le devi fare seguendo una logica e per un buon motivo, altrimenti è solo tempo perso.

  7. #7
    si hai ragione!!!
    cmq ho trovato l'errore...il ciclo while era giusto, facevo l'inserimento nella tabella sbagliata.
    Grazie delle dritte.
    Ciaooo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.