Problema con ciclo foreach per chiusura apertura div in base al numero di record in database

migo80

Utente Attivo
25 Apr 2013
229
3
18
Buongiorno a tutti, come da titolo sono bloccato su un ciclo foreach che in base al numero di record estratti da db mi apre e chiude il div contenitore la struttura dovrebbe essere così se i record fossero 4:

HTML:
<div class="row-fluid"><!-- il ciclo apre il div-->

  <div class="span6></div>
  <div class="span6></div>

</div><!-- il ciclo chiude il div-->

<div class="row-fluid"><!-- il ciclo apre il div-->

  <div class="span6></div>
   <div class="span6></div>

</div><!-- il ciclo chiude il div-->

ma il risultato che ottengo è:


HTML:
<div class="row-fluid"><!-- il ciclo apre il div-->

  <div class="span6></div>
  <div class="span6></div>

</div><!-- il ciclo chiude il div-->

<div class="row-fluid"><!-- il ciclo apre il div-->

  <div class="span6></div>
  <div class="span6></div>

</div><!-- il ciclo chiude il div-->

</div><!-- il ciclo chiude il div una seconda volta-->

mentre se i record sono dispari ad esempio 5 il ciclo funziona perfettamente.

lo script è il seguente:

PHP:
<?php

$res_page = $mysqli->query("SELECT * FROM ".$prefix."ads c
LEFT JOIN category_lang cl
        ON (c.id_cat = cl.category_id) WHERE slug = '".$get_page."' ");
		
		
		$ads = array();
		
		while($row_page = $res_page->fetch_assoc()){
			$ads[] = $row_page;
			$name_cat = $row_page['name'];
			
		}
?>
 	<div class="row-fluid">
		 <div class="ctg-title">
        	<h3><?php echo $name_cat; ?></h3>
         </div>
    </div>    
		<?php
foreach( $ads as $key => $ads_rw):
			
			$res_pg = $mysqli->query("SELECT * FROM category_lang d
LEFT JOIN ".$prefix."ads dl
        ON (d.category_id = dl.id_cat) WHERE category_id = '".$ads_rw['id_parent_cat']."' ");
			
			$rw_pg = $res_pg->fetch_assoc();
			$sub_name = $rw_pg['name'];
			$slg = $rw_pg['slug'];
           
			if(($key)%(2)==0):
		?>
       <div class="row-fluid cont-cat">
			<?php endif; ?>
        <div class="span6">
        	<div class="bx-annunci">
            	<div class="thumbnail">
                	<a href="index.php?page=contact&ct=<?php echo $ads_rw['id_ads']; ?>"><img src="http://placehold.it/360x240" alt="<?php echo $ads_rw['titolo']; ?>"/></a>
                </div>
                <span class="spn-annunci"></span>
                <i class="fa fa-tag fa-lg"></i>
                <h5><?php echo $sub_name; ?></h5>
                <hr>
                <i class="fa fa-thumb-tack  fa-lg"></i>
                <h5><?php echo $ads_rw['titolo']; ?></h5>
                <hr>
                <a class="btn-p" href="#">Vedi Annuncio</a>
            </div>
       </div>
       
       
              	
            <?php
		if(($key +1)%(2)==0): 

           echo "</div>";
          
			 endif;
			
		endforeach; 
		
          echo "</div>";

?>
 
Ultima modifica:

migo80

Utente Attivo
25 Apr 2013
229
3
18
Ho risolto apportando le seguenti modifiche:

PHP:
<?php

$res_page = $mysqli->query("SELECT * FROM ".$prefix."ads c
LEFT JOIN category_lang cl
        ON (c.id_cat = cl.category_id) WHERE slug = '".$get_page."' ");
        
        
        $ads = array();
        
        while($row_page = $res_page->fetch_assoc()){
            $ads[] = $row_page;
            $name_cat = $row_page['name'];
            
        }
?>
     <div class="row-fluid">
         <div class="ctg-title">
            <h3><?php echo $name_cat; ?></h3>
         </div>
    </div>  

 <div class="row-fluid cont-cat"> <!-- ho spostato il div contenitore fuori il ciclo -->
        <?php
foreach( $ads as $key => $ads_rw):
            
            $res_pg = $mysqli->query("SELECT * FROM category_lang d
LEFT JOIN ".$prefix."ads dl
        ON (d.category_id = dl.id_cat) WHERE category_id = '".$ads_rw['id_parent_cat']."' ");
            
            $rw_pg = $res_pg->fetch_assoc();
            $sub_name = $rw_pg['name'];
            $slg = $rw_pg['slug'];
           
            if(($key)%(2)==0) //ho modificato l'if eliminando l' endif
        ?>
       
           
        <div class="span6">
            <div class="bx-annunci">
                <div class="thumbnail">
                    <a href="index.php?page=contact&ct=<?php echo $ads_rw['id_ads']; ?>"><img src="http://placehold.it/360x240" alt="<?php echo $ads_rw['titolo']; ?>"/></a>
                </div>
                <span class="spn-annunci"></span>
                <i class="fa fa-tag fa-lg"></i>
                <h5><?php echo $sub_name; ?></h5>
                <hr>
                <i class="fa fa-thumb-tack  fa-lg"></i>
                <h5><?php echo $ads_rw['titolo']; ?></h5>
                <hr>
                <a class="btn-p" href="#">Vedi Annuncio</a>
            </div>
       </div>
       
       
                  
            <?php
        if(($key +1)%(2)==0): 

           echo "</div>
		   <div class='row-fluid'>"; // aggiunto l'apertura del div contenitore nell' if di conteggio di quanti record sono rimasti
          
             endif;
            
        endforeach; 
        
          echo "</div>";

?>

Ora lo script funziona perfettamente.
 
Discussioni simili
Autore Titolo Forum Risposte Data
Monital Problema con un ciclo for. PHP 1
K Problema con update di un database in un ciclo Classic ASP 1
O Problema con ciclo FOR PHP 1
M problema con ciclo foreach per estrarre dati da un database PHP 22
M Problema con ciclo for e while PHP 2
neo996sps PHP: problema con ciclo for PHP 1
M Problema ciclo while con mysql_fetch_assoc PHP 6
W Problema con ciclo If.. PHP 27
D problema con ciclo if else query PHP 3
P Problema con ciclo for PHP 3
D problema con il ciclo while PHP 2
M Problema con join e ciclo while PHP 0
P Problema Con Il Ciclo Di Un Menu' Flash 6
B [HELP] Problema con ciclo if PHP 1
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
T problema con select dinamica con jquery Javascript 0
S Problema con spazi bianchi HTML e CSS 4
A PROBLEMA: insert mysqli con dati Tagsinput Presentati al Forum 0
Tommy03 Problema con z-index HTML e CSS 3
M Problema inserimento parole con apostrofo nel db PHP 5
C Problema con dati meteo xml XML 0
S Problema con infrarossi videocamera IP Cam e Videosorveglianza 1
V Problema con librerie allegro5 c++ C/C++ 1
M Problema con php per calcolo costo percentuale PHP 7
S Problema con mysqli_num_rows PHP 18
grgfede Problema javascript con aruba Javascript 1
M Problema con visibility e radio button Javascript 2
Marti1! Problema con casella mail cancellata Posta Elettronica 3
L [PHP] Problema con Telegram PHP 1
tomorc [HTML] Problema con scroll bar (risolto) HTML e CSS 0
S Strano problema con i title su Google SEO e Posizionamento 3
P [ASP.Net] Problema ERR_INCOMPLETE_CHUNKED_ENCODING 206 (Partial Content) con Font ASP.NET 4
P [HTML] Problema ERR_INCOMPLETE_CHUNKED_ENCODING 206 (Partial Content) con Font HTML e CSS 1
N [Apache] problema con estensione php Apache 0
C [PHP] Problema con download file PHP 0
M [PHP] Problema con preg_match PHP 1
gandalf1959 [PHP] problema con l'utilizzo di Header PHP 3

Discussioni simili