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

    Problema popolamento pagina con risultati di query al db

    Salve a tutti!
    Sono un pò alle prime armi con php e mysql e avrei bisogno di un piccolo consulto.

    In sostanza quello che dovrei fare è popolare una pagina tramite i risultati di una query sul db...
    ho creato il db e mi sembra faccia bene il suo lavoro, inoltre ho già scritto la/le query che mi servono per popolare la suddetta pagina...

    Il problema è il seguente...io ho un codice di questo tipo

    codice:
    <div class="contenitorone-cases">
    	<div class="boxes-content">		
    <?php 
    				$result = mysql_query("SELECT id_case, titolo, categorie.cat, file_cases.percorso,
    FROM cases 
    LEFT JOIN categorie 
    ON cases.id_categoria = categorie.id_cat 
    left join file_cases
    on cases.id_case = file_cases.id_caso
    left join clienti
    on cases.id_cliente = clienti.id
    where file_cases.copertina = 1
    ORDER BY data_caso desc", $conn);
    				while ($rs = mysql_fetch_array($result)) {
    				
    				
    				?>
    				
    					<div class="column">
    					
    					
    			<div class="box-sopra">
    		
    				<div class="box-img-alta">
    					
    					<div class="view view-first"> 
    						[img]img/cases/<?php echo $rs['percorso']?>[/img]
    						<div class="mask"></div>
    					</div>	
    				</div>
    				<div class="box-testi-alto">
    					<h3><?php echo $rs ['titolo']?></h3>
    					
    
    <?php echo $rs ['cat']?></p>
    					<?php __("View project ➡") ?>
    				</div>
    			</div>
    			
    									
    						<div class="box-sotto">
    				<div class="box-img-bassa">
    					
    					<div class="view view-first"> 
    						[img]img/cases/<?php echo $rs['percorso']?>[/img]
    						<div class="mask"></div>
    					</div>	
    				</div>
    				<div class="box-testi-basso">
    					<h3><?php echo $rs ['titolo']?></h3>
    					
    
    <?php echo $rs ['cat']?></p>
    					<?php __("View project ➡") ?>
    				</div>
    			</div>
    								</div> 
    								
    													<div class="column">
    
    
    			<div class="box-sotto">
    				<div class="box-img-bassa">
    					
    					<div class="view view-first"> 
    						[img]img/cases/<?php echo $rs['percorso']?>[/img]
    						<div class="mask"></div>
    					</div>	
    				</div>
    				<div class="box-testi-basso">
    					<h3><?php echo $rs ['titolo']?></h3>
    					
    
    <?php echo $rs ['cat']?></p>
    					<?php __("View project ➡") ?>
    				</div>
    			</div>
    
    	<div class="box-sopra">
    		
    				<div class="box-img-alta">
    					
    					<div class="view view-first"> 
    						[img]img/cases/<?php echo $rs['percorso']?>[/img]
    						<div class="mask"></div>
    					</div>	
    				</div>
    				<div class="box-testi-alto">
    					<h3><?php echo $rs ['titolo']?></h3>
    					
    
    <?php echo $rs ['cat']?></p>
    					<?php __("View project ➡") ?>
    				</div>
    			</div>
    			
    
    				
    					</div> 
    
    				<?php 
    				
    				}
    				?>
    Naturalmente scorrere tutti i risultati in fila non presenta un particolare problema, ma qui quello che ho bisogno di fare è ripetere queste due 'colonne' (contraddistinte dalla div 'column') esattamente in quest'ordine ed ognuna con un record diverso per ogni 'box' (chiamati 'sopra' e sotto') proveniente dal db...non so se mi sono spiegato..

    chiaramente il codice così non è corretto, poichè ogniqualvolta che chiamo la $rs[nomecampo] mi viene ridato lo stesso record finchè il ciclo while non ricomincia...

    qualcuno mi può aiutare? vi ringrazio

  2. #2
    Sinceramente non ho compreso il problema ma, guardando il codice posso dirti questo:

    - Il LEFT JOIN va bene, ma ti incasina la query. In un DB relazionale puoi unire le tabelle tramite le chiavi primarie (molto più snello);

    - Nel ciclo while hai usato mysql_fetch_array che ti restituisce due tipi di array (associativo e numerico) dunque ti duplica i risultati, meglio usare mysql_fetch_assoc;

    - Nel codice, quando stampi con la funzione echo, scrivilo terminando con il punto e virgola, così: <?php echo $rs['titolo']; ?>

  3. #3
    Intanto grazie molte per la risposta e per i suggerimenti sul codice, molto ben apprezzati.

    Cerco di spiegare un pò meglio il mio problema : il 'pattern' che si dovrebbe ripetere dentro il while è formato da 2 div colonna chiamate con una classe 'column' che al loro interno contengono rispettivamente 2 div ciascuno ma 'alternati' (nella prima colonna abbiamo 'box sopra' e 'box sotto') mentre nella seconda abbiamo 'box sotto' e 'box sopra')...

    Quello di cui avrei bisogno è che in ognuno dei 4 div venissero stampati 4 'righe' diverse e progressive del db (diciamo le prime quattro) e poi le due colonne si ripetessero con scritti al loro interno altre quattro righe del db...

    sono riuscito a spiegarmi almeno un po??

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.