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

    Incremento nome variabile + selezione automatica array

    salve a tutti avrei bisogno di incrementare il nome di una variabile php tramite ciclo for.

    questi sono i passaggi:

    1. creo manualmente un numero definito di array con tot dati ciascuno;
    2. creo ciclo for;
    3. conto dati dell'array;
    4. verifico che il valore sia inferiore al numero di dati dell'array per scrivermi i i suoi dati;
    5. se il valore è maggiore del numero di dati dell'array incrementa il nome variabile per andare a prendermi i dati dell'array successivo;
    6. se non esistono altri array o se raggiunge un limite di array che gli dico io, lo script si ferma.

    non ne sono arrivato a capo... soluzioni?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Creati un array di array (array multidimensionale), così devi solo incrementare l'indice dell'array più esterno senza creare nuove variabili.

  3. #3
    Grazie, provo e ti faccio sapere l'esito!

  4. #4
    Perfetto, funziona tutto, posto il mio script, con parole a caso e numeri a caso che ho usato per provare lo script e verificarne la correttezza... se dovesse servire eccolo:

    codice:
    <?php
    echo"
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
    <link rel='stylesheet' href='style.css' type='text/css'/>
    <title>Prove</title>
    </head>
    <body>";
    
    //creo l'array madre e dentro gli array figli. (nome tracce audio)
    
    $cd = array(
    "1" => array("giallo", "ciao","ciaaao", "cd","1"),
    "2" => array("questo", "è","il", "cd","2"),
    "3" => array("questo", "è","il", "cd","3", "rospo"),
    "4" => array("questo", "è","il", "cd","4"),
    "5" => array("questo", "è","il", "cd","5"),
    "6" => array("questo", "è","il", "cd","6"),
    "7" => array("questo", "è","il", "cd","7"),
    "8" => array("questo", "è","il", "cd","8"),
    "9" => array("questo", "è","il", "cd", "9", "ma", "ci", "sono", "più", "dati")
    );
    
    //creo un altro array madre e dentro gli array figli (durata tracce audio)
    
    $duration = array(
    "1" => array("2:10","2:30","1:10","10:10","6:10"),
    "2" => array("2:10","2:30","1:10","10:10","7:10"),
    "3" => array("2:10","2:30","1:10","10:10","8:10","25:20"),
    "4" => array("2:10","2:30","1:10","10:10","9:10","25:20"),
    "5" => array("2:10","2:30","1:10","10:10","00:10","25:20"),
    "6" => array("2:10","2:30","1:10","10:10","1:10","25:20"),
    "7" => array("2:10","2:30","1:10","10:10","2:10","25:20"),
    "8" => array("2:10","2:30","1:10","10:10","3:10","25:20"),
    "9" => array("1:10","2:30","1:10","10:10","4:10","25:20", "2", "6", "5", "66")
    );
    
    //conto quanti dati ci sono per creare le righe della tabella.
    $num_cd = count($cd); 
    
    //creo i link che richiamano ogni div grazie alla pseudo classe :target.
    echo"<div class='nav'>";
        for ($b=1; $b<=$num_cd; $b++){echo"disco $b | ";}
    echo"</div>";
    
    
    //comincio a creare i div che verranno chiamati e che contengono le tracce con l'immagine di ogni album.
    
    for ($a=1; $a<=$num_cd; $a++){
      
    //immagine album
    echo"
    <div id='$a' class='preview'>
      <div class='image'>
      [img]../img/covers/$a.jpg[/img] 
      </div>";
    
    //apro la tabella per la lista tracce
    echo"
    <table class='tracks'>
        <tr>
          <td>Numero Traccia</td>
          <td>Nome</td>
          <td>Artista</td>
          <td>Durata</td>
        </tr>";
    
    $num_tracks = count($cd[$a]); //conto i dati presenti in ogni array "figlio" del primo array. (nome tracce)
    
    //creo un ciclo apposito che mi permette di trovare i dati degli array "figlio". (nome e durata)
    for ($c=0; $c<$num_tracks; $c++){
    
    echo"<tr>";      //apro la riga
      echo"<td>".($c+1)."</td>";      //numero traccia
      echo"<td>".$cd[$a][$c]."</td>";      //nome traccia
      echo"<td>NOME ARTISTA</td>";      //nome artista da manualmente
      echo"<td>".$duration[$a][$c]."</td>";      //durata traccia
    echo"</tr>";      //chiudo la riga
    }
    
    echo"</table>";      //chiudo la tabella
    
    
    echo"<ul>";      //apro la lista per navigare tra i div
    echo"[*]";if ($a!=1) {echo"indietro";} echo""; //pulsante per richiamare il div precedente
    
    echo"[*]chiudi";      //pulsante per chiudere il div aperto
    
    
    echo"[*]";if ($a!=$num_cd) {echo"avanti";} echo"";      //pulsante per richiamare il div successivo
    echo"[/list]";      //chiudo la lista
    
    echo"</div>";      //chiudo il div e finisce il ciclo
    
    }
    
    //chiudo la pagina
    echo"
    </body>
    </html>";
    
    ?>

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.