Giancarlo L.
Giancarlo L.

Reputation: 13

Loop to read array

sorry if that can be a simple question. I need to read the index value of an array. The code that I have and try to correct read only the index 0. I have try with a ciclebut continue to make mistakes.

<? if($entrata != ""){

              $nome_condomino = getCondominoByIdEntrata($entrata[0]['id']);
              $saldo += (float) $entrata[0]['importo_versato'];

             //echo '<pre>' . print_r( $entrata,true ) . '</pre>';
            ?>
              <tr class="gradeX">
                <td class="center"><?echo $giorno;?></td>
                <td class="center"><?echo $nome_condomino[0]['nome_cognome'];?></td>
                <td class="center"><b><?echo "&euro; ".$entrata[0]['importo_versato'];?></b></td>
                <td class="center"><?echo "&euro; ".$saldo;?></td>
                <td class="center"><?echo $giorno_ok;?></td>
                <td class="center"><?echo $entrata_id[0];?></td>
              </tr>
          <? } ?>

I need to show the other index value for the variables $nome_condominio and $entrata

That is print_r( $entrata,true )

  Array
  (
  [0] => Array
    (
        [0] => 41
        [id] => 41
        [1] => 35
        [id_condominio] => 35
        [2] => 38
        [id_condomino] => 38
        [3] => 12
        [importo_versato] => 12
        [4] => 2013-11-30
        [data] => 2013-11-30
        [5] => 
        [numero_ricevuta] => 
        [6] => 
        [allegato_ricevuta] => 
        [7] => 0
        [consumi_idrici_importo] => 0
        [8] => 0000-00-00
        [data2] => 0000-00-00
        [9] => 
        [allegato_consumi_idrici] => 
        [10] => 0
        [lavori_straordinari_importo] => 0
        [11] => 0000-00-00
        [data3] => 0000-00-00
        [12] => 
        [causale] => 
        [13] => 
        [causale_altro] => 
        [14] => 10_2013
        [causale_mese] => 10_2013
        [15] => Ottobre 2013
        [causale_mese_periodo_esteso] => Ottobre 2013
    )

[1] => Array
    (
        [0] => 40
        [id] => 40
        [1] => 35
        [id_condominio] => 35
        [2] => 52
        [id_condomino] => 52
        [3] => 18.2
        [importo_versato] => 18.2
        [4] => 2013-11-30
        [data] => 2013-11-30
        [5] => 
        [numero_ricevuta] => 
        [6] => 
        [allegato_ricevuta] => 
        [7] => 0
        [consumi_idrici_importo] => 0
        [8] => 0000-00-00
        [data2] => 0000-00-00
        [9] => 
        [allegato_consumi_idrici] => 
        [10] => 0
        [lavori_straordinari_importo] => 0
        [11] => 0000-00-00
        [data3] => 0000-00-00
        [12] => 2
        [causale] => 2
        [13] => 
        [causale_altro] => 
        [14] => 
        [causale_mese] => 
        [15] =>  
        [causale_mese_periodo_esteso] =>  
    )

    )
    Array
    (
    [0] => Array
    (
        [0] => 39
        [id] => 39
        [1] => 35
        [id_condominio] => 35
        [2] => 34
        [id_condomino] => 34
        [3] => 12.5
        [importo_versato] => 12.5
        [4] => 2013-12-01
        [data] => 2013-12-01
        [5] => 
        [numero_ricevuta] => 
        [6] => 
        [allegato_ricevuta] => 
        [7] => 0
        [consumi_idrici_importo] => 0
        [8] => 0000-00-00
        [data2] => 0000-00-00
        [9] => 
        [allegato_consumi_idrici] => 
        [10] => 0
        [lavori_straordinari_importo] => 0
        [11] => 0000-00-00
        [data3] => 0000-00-00
        [12] => 2
        [causale] => 2
        [13] => 
        [causale_altro] => 
        [14] => 
        [causale_mese] => 
        [15] =>  
        [causale_mese_periodo_esteso] =>  
    )

[1] => Array
    (
        [0] => 44
        [id] => 44
        [1] => 35
        [id_condominio] => 35
        [2] => 51
        [id_condomino] => 51
        [3] => 10
        [importo_versato] => 10
        [4] => 2013-12-01
        [data] => 2013-12-01
        [5] => 
        [numero_ricevuta] => 
        [6] => 
        [allegato_ricevuta] => 
        [7] => 0
        [consumi_idrici_importo] => 0
        [8] => 0000-00-00
        [data2] => 0000-00-00
        [9] => 
        [allegato_consumi_idrici] => 
        [10] => 0
        [lavori_straordinari_importo] => 0
        [11] => 0000-00-00
        [data3] => 0000-00-00
        [12] => 2
        [causale] => 2
        [13] => 
        [causale_altro] => 
        [14] => 
        [causale_mese] => 
        [15] =>  
        [causale_mese_periodo_esteso] =>  
    )

    )
    Array
     (
  [0] => Array
    (
        [0] => 42
        [id] => 42
        [1] => 35
        [id_condominio] => 35
        [2] => 39
        [id_condomino] => 39
        [3] => 10
        [importo_versato] => 10
        [4] => 2013-12-03
        [data] => 2013-12-03
        [5] => 
        [numero_ricevuta] => 
        [6] => 
        [allegato_ricevuta] => 
        [7] => 0
        [consumi_idrici_importo] => 0
        [8] => 0000-00-00
        [data2] => 0000-00-00
        [9] => 
        [allegato_consumi_idrici] => 
        [10] => 0
        [lavori_straordinari_importo] => 0
        [11] => 0000-00-00
        [data3] => 0000-00-00
        [12] => 3
        [causale] => 3
        [13] => 
        [causale_altro] => 
        [14] => 
        [causale_mese] => 
        [15] =>  
        [causale_mese_periodo_esteso] =>  
    )

     )
    Array
    (
    [0] => Array
    (
        [0] => 43
        [id] => 43
        [1] => 35
        [id_condominio] => 35
        [2] => 38
        [id_condomino] => 38
        [3] => 9
        [importo_versato] => 9
        [4] => 2013-12-05
        [data] => 2013-12-05
        [5] => 
        [numero_ricevuta] => 
        [6] => 
        [allegato_ricevuta] => 
        [7] => 0
        [consumi_idrici_importo] => 0
        [8] => 0000-00-00
        [data2] => 0000-00-00
        [9] => 
        [allegato_consumi_idrici] => 
        [10] => 0
        [lavori_straordinari_importo] => 0
        [11] => 0000-00-00
        [data3] => 0000-00-00
        [12] => 2
        [causale] => 2
        [13] => 
        [causale_altro] => 
        [14] => 
        [causale_mese] => 
        [15] =>  
        [causale_mese_periodo_esteso] =>  
    )

    )

the function:

  function getCondominoByIdEntrata($idEntrata){
 $sql1 = "SELECT * FROM entrate WHERE id = '".$idEntrata."'";
  $r1 = executeQuery($sql1);

  $id_condomino = $r1[0]['id_condomino'];

  $sql2 = "SELECT * FROM anagrafe WHERE id = '".$id_condomino."'";
  $r2 = executeQuery($sql2);

   return $r2;
  }

The print_r( $nome_condomino):

    Array
   (
    [0] => Array
     (
        [0] => 38
        [id] => 38
        [1] => 35
        [id_condominio] => 35
        [2] => Carlo Vincenzo
        [nome_cognome] => Carlo Vincenzo
        [3] => 
        [codice_fiscale] => 
        [4] => 
        [dati_catastali_foglio] => 
        [5] => 
        [dati_catastali_particella] => 
        [6] => 
        [dati_catastali_subalterno] => 
        [7] => 
        [dati_catastali_piano] => 
        [8] => 
        [recapito] => 
        [9] => 2
        [civico] => 2
        [10] => 
        [citta] => 
        [11] => TA
        [provincia] => TA
        [12] => 
        [telefono] => 
        [13] => 
        [cellulare] => 
        [14] => 
        [fax] => 
        [15] => 
        [email] => 
        [16] => 
        [pec] => 
        [17] => si
        [occupante_uguale_titolare] => si
        [18] => 
        [occupante] => 
        [19] => 
        [occupante_rapporto] => 
        [20] => 
        [occupante_telefono] => 
        [21] => 
        [occupante_cellulare] => 
        [22] => 
        [occupante_email] => 
        [23] => 
        [occupante_pec] => 
        [24] => 
        [nome_utente] => 
    )

    )
     Array
     (
     [0] => Array
    (
        [0] => 52
        [id] => 52
        [1] => 35
        [id_condominio] => 35
        [2] => Mario Giancarlo
        [nome_cognome] => Mario Giancarlo
        [3] => 
        [codice_fiscale] => 
        [4] => 
        [dati_catastali_foglio] => 
        [5] => 
        [dati_catastali_particella] => 
        [6] => 
        [dati_catastali_subalterno] => 
        [7] => 
        [dati_catastali_piano] => 
        [8] => Via Rossi
        [recapito] => Via Rossi
        [9] => 5
        [civico] => 5
        [10] => 
        [citta] => 
        [11] => 
        [provincia] => 
        [12] => 
        [telefono] => 
        [13] => 
        [cellulare] => 
        [14] => 
        [fax] => 
        [15] =>
        [email] => 
        [16] => 
        [pec] => 
        [17] => si
        [occupante_uguale_titolare] => si
        [18] => 
        [occupante] => 
        [19] => 
        [occupante_rapporto] => 
        [20] => 
        [occupante_telefono] => 
        [21] => 
        [occupante_cellulare] => 
        [22] => 
        [occupante_email] => 
        [23] => 
        [occupante_pec] => 
        [24] => 
        [nome_utente] => 
    )

    )

Upvotes: 1

Views: 80

Answers (2)

Dimitris Bouzikas
Dimitris Bouzikas

Reputation: 4540

You want foreach statement to get all data from array $entrata & $nome_condominio. Something like this maybe work:

UPDATED:

 <?php if($entrata != ""){
                 //echo '<pre>' . print_r( $entrata,true ) . '</pre>';
                $i = 0;
                foreach($entrata as $entr){
                    $nome_condomino = getCondominoByIdEntrata($entr['id']);
                    $saldo += (float) $entr['importo_versato'];
                ?>
                  <tr class="gradeX">
                    <td class="center"><?echo $giorno;?></td>
                    <td class="center"><?echo $nome_condomino['nome_cognome'];?></td>
                    <td class="center"><b><?echo "&euro; ".$entr['importo_versato'];?></b></td>
                    <td class="center"><?echo "&euro; ".$saldo;?></td>
                    <td class="center"><?echo $giorno_ok;?></td>
                    <td class="center"><?echo $entr['id'];?></td>
                  </tr>
               <?php 
                   $i++;
                } ?>
         <? } ?>

Upvotes: 1

Chris Barrett
Chris Barrett

Reputation: 526

Seems like $entrata isn't an array or is empty? Try changing

if ($entrata != '') {

to

if (!empty($entrata) && is_array($entrata)) {

will ensure that you're getting a non empty array

Upvotes: 0

Related Questions