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

    contare e addizionare elementi di array multidimensionale per ciclo for

    Ciao a tutti.. Eccomi qui il sabato sera alle 3.32 a sccervellarmi con php avrei bisogno di una mano con questo script che ho creato per una galleria di immagini.. so che al posto di quei valori bruttissimi negli array avrei dovuto usare le funzioni per le directory che php mette a disposizione e con un ciclo mi avrebbe creato in automatico l'array con i nomi dei file precisi, anche se vado a modificare la directory o se aggiungo files.. ma sarà presto completato anche questo...

    comunque il mio problema è: come sommo il valore di tutti i dati degli array contenuti in questo array multidimensionale per poi fare un ciclo che mi crei un id numerico (autoincrementabile ad ogni ciclo ovviamente)?

    codice:
    function image(){
    
    //immagini.
    $image = array(
    "1" => array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28"),
    "2" => array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20"),
    "3" => array("1", "2", "3"),
    "4" => array("1","2","3","4","5"),
    "5" => array("1"),
    "6" => array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34"),
    "7" => array("1","2","3","4","5","6","7","8","9","10","11","12","13"),
    "8" => array("1")
    );
    
    //conto le immagini
    $num_album = count($image);
    
    //creo ciclo per contare gli album
    for ($a=1; $a<=$num_album; $a++){
      
      //conto le immagini di ogni singolo album
      $num_image = count($image[$a]);
      
      echo"<p class='pagetitle'>";  
        
          //scrivo i nomi degli album
        switch ($a){
          case 1: echo "Artisti"; break;
          case 2: echo "Australia"; break;
          case 3: echo "Brasile"; break;
          case 4: echo "Canada"; break;
          case 5: echo "Il Mio Paese"; break;
          case 6: echo "Personali"; break;
          case 7: echo "Radio"; break;
          case 8: echo "Varie"; break;
          }
          
        //scrivo il numero delle foto di ogni singolo album
      echo" - "; echo $num_image; if ($num_image==1) {echo" Immagine";} else {echo" Immagini";} echo"</p><ul>";
      
      //linko le immagini creando le directory
      for ($c=0; $c<$num_image; $c++){
    
      echo"[*]";
    
      }
    echo"[/list]";
    }
    }
    Attendo risposte

  2. #2
    risolto sia per l'id che per il conteggio del valore dell'array.

    Per adesso è una soluzione grossolana e buttata lì. migliorerò il codice domani mattina appena mi alzo.

    codice:
    <?php
    
    $image = array(
    "1" => array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28"),
    "2" => array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20"),
    "3" => array("1", "2", "3"),
    "4" => array("1","2","3","4","5"),
    "5" => array("1"),
    "6" => array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34"),
    "7" => array("1","2","3","4","5","6","7","8","9","10","11","12","13"),
    "8" => array("1")
    );
    
    $album1 = count($image[1]);
    $album2 = count($image[2]);
    $album3 = count($image[3]);
    $album4 = count($image[4]);
    $album5 = count($image[5]);
    $album6 = count($image[6]);
    $album7 = count($image[7]);
    $album8 = count($image[8]);
    $album9 = count($image[9]);
    
    $tot=$album1+$album2+$album3+$album4+$album5+$album6+$album7+$album8+$album9;
      
    
    
    function image(){
    //immagini.
    $image = array(
    "1" => array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28"),
    "2" => array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20"),
    "3" => array("1", "2", "3"),
    "4" => array("1","2","3","4","5"),
    "5" => array("1"),
    "6" => array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34"),
    "7" => array("1","2","3","4","5","6","7","8","9","10","11","12","13"),
    "8" => array("1")
    );
    
    $album1 = count($image[1]);
    $album2 = count($image[2]);
    $album3 = count($image[3]);
    $album4 = count($image[4]);
    $album5 = count($image[5]);
    $album6 = count($image[6]);
    $album7 = count($image[7]);
    $album8 = count($image[8]);
    $album9 = count($image[9]);
    
    $tot=$album1+$album2+$album3+$album4+$album5+$album6+$album7+$album8+$album9;
    //conto le immagini
    $num_album = count($image);
    
    //creo ciclo per contare gli album
    for ($a=1; $a<=$num_album; $a++){
      
      //conto le immagini di ogni singolo album
      $num_image = count($image[$a]);
      
      echo"<p class='pagetitle'>";  
        
          //scrivo i nomi degli album
        switch ($a){
          case 1: echo "Artisti"; break;
          case 2: echo "Australia"; break;
          case 3: echo "Brasile"; break;
          case 4: echo "Canada"; break;
          case 5: echo "Il Mio Paese"; break;
          case 6: echo "Personali"; break;
          case 7: echo "Radio"; break;
          case 8: echo "Varie"; break;
          }
          
        //scrivo il numero delle foto di ogni singolo album
      echo" - "; echo $num_image; if ($num_image==1) {echo" Immagine";} else {echo" Immagini";} echo"</p><ul>";
      
      //linko le immagini creando le directory
      for ($c=0; $c<$num_image; $c++){
    
      echo"[*]";
    
      }
    echo"[/list]";
    }
    
    }
    
    $num_album = count($image);
    
    for ($a=1; $a<=$num_album; $a++){
      
      
      $num_image = count($image[$a]);
      
      for ($c=0; $c<$num_image; $c++){
        
        echo"
        
      <div id='"; if ($x==0) {$x=1;} elseif ($x==1 || $x<$tot){$x++;} echo $x; echo"' class='target_preview' style=\"background-image:url('../img/photos/preview/";
    
        switch ($a){
        case 1: echo "artisti"; break;
        case 2: echo "australia"; break;
        case 3: echo "brasile"; break;
        case 4: echo "canada"; break;
        case 5: echo "paese"; break;
        case 6: echo "personali"; break;
        case 7: echo "radio"; break;
        case 8: echo "varie"; break;
        }
        
      echo"/".$image[$a][$c].".jpg')\";/>
        x
      <table class='img_preview_nav'><tr>
      <td><</td>
      <td>></td>
      </tr></table>
      </div>
      ";
    
      }
      
    }
    ?>

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.