Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    154

    stampare un array e impaginarlo in div con float

    Ciao a tutti, ho un problema un complicato da spiegare:
    devo stampare un array che nell'html verrà impaginato in div con float.
    Mi spiego: di solito stampo gli array nelle liste di definizione e nei div normali, tipo così:
    codice:
    while ($row=mysql_fetch_array($query)) {
    	echo ("<div>$row</div>");
    	}
    Ora invece avrei bisogno di fare una cosa del genere:
    codice:
    <div>
          <div style="float="left";>Contenuto ciclico dell'array</div>
          <div style="float="right";>Contenuto ciclico dell'array</div>
          <div style="float="right";>Contenuto ciclico dell'array</div>
    </div>
    In pratica dovrei stampare ciclicamente l'array in 3 div(con float) per volta contenuti a loro volta in un
    div che li racchiude. Spero di essermi fatto capire e scusate lo pseudo-codice di sopra.

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    154
    Grazie del consiglio, gli dò subito un'occhiata

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    154
    Grazie alla pagina che mi hai suggerito ho risolto così
    codice:
    $records_per_row = 3;
    
    $i = 0;
    
    while ($row=mysql_fetch_array($query)) {
     // Start a new row    
        if ($i % $records_per_row == 0) {
            print("<div style=\"clear:both;\">\n");
        }
     
        // Print current record 
        print("<div style=\"float:left;\">".$row['nome']."</div>\n");
     
        // End the row    
        if (($i + 1) % $records_per_row == 0) {
            print("</div>\n");
        }
     
        $i++;
    }
    Ho sostituito il ciclo foreach con un ciclo di while perchè col primo metodo non riuscivo a stampare il contenuto dell'array. Sicuramente non sarà il metodo migliore ma sembra che funzioni. Ti ringrazio ancora per il suggerimento.

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Secondo me ti conviene usare un approccio diverso.

    Molto piu' comodo.

    Io quando devo fare cose similari prima carico i dati e li metto su variabile e poi li stampo dove serve.

    per cui io procederei cosi'

    1-Query
    2-Controllo ris query
    2.1-se ho dati carico i dati e li converto nelle oppurtune stringhe che salvo su varibili distinte

    3- controllo di avere caricato i dati
    4- stampo i dati precedentemente caricati.

    Secondo me e' l'approccio migliore che puoi adottare quando hai problematiche similari.

    Codice PHP:

    $records_per_row 
    3;
    $i 0;

    $testi =array();

    while (
    $row=mysql_fetch_array($query)) {

      
    // inserisci i controlli e popoli di dati le celle dell'array
      
    if([controllo1]) 
        
    $testi[0] .= ".....";
      else if([
    controllo2])
        
    $testi[1] .= ".....";
      else
        
    $testi[2] .= ".....";
    }

    // a questo punto crei i 3 box e li riempi di dati
    echo "
    <div id=\"box1\">"
    .$testi[0]."</div>
    <div id=\"box2\">"
    .$testi[1]."</div>
    <div id=\"box3\">"
    .$testi[2]."</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.