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

    elementi diversi dentro ciclo while

    buona sera, per un sito devo realizzare un sistema di notizie in cui compaiono delle foto sotto al titolo, ho sempre fatto con ciclo while ma questa volta devo fare qualcosa di più particolare... praticamente devo fare una condizione dentro il ciclo while che mi faccia apparire diversi elementi a seconda del numero di foto inserite, comunque posto il codice e capirete...

    codice:
     while ($notizie= mysql_fetch_array ($result))  
    echo ( '<div class="contenutonotizia">
    
    <div class="boxdata"><span style="font-size: xx-large; line-height:48px;">'.$notizie['giorno'].' </span>
    <span class="nota" style="font-weight:bold; color:white;" > '.$notizie['mese'].' '.$notizie['anno'].'</span></div>
    <div class="boxtitolo"><h2 class="titolo">'.$notizie['titolo'].'</h2></div>
    
    
    
    
    
    
    ----- DEVO INSERIRE QUI ----
    
    
    <div class="boxtesto"><p class="testo">'.$notizie['testo'].'</p></div>
    
    
    </div>
    ');
    dove ho scritto -----DEVO INSERIRE QUI------ premettendo che ho già un campo $notizie['conteggio_foto'], che conta quante foto sono inserite, devo far apparire questi codici a seconda del numero delle foto inserite, ad esempio se la foto è una mi deve apparire:

    codice:
    [img]foto_news/'.$notizie['foto'].'[/img]
    e cioè la foto singola, se invece le foto sono più di una, mi deve apparire una fotogallery in javascript che ha questo codice:

    codice:
    <div class="carousel" id="carousel">
    <ul>
    '.controllo_foto($notizie['foto']).controllo_foto($notizie['foto1']).controllo_foto($notizie['foto2']).controllo_foto($notizie['foto3']).controllo_foto($notizie['foto4']).controllo_foto($notizie['foto5']).controllo_foto($notizie['foto6']).controllo_foto($notizie['foto7']).controllo_foto($notizie['foto8']).controllo_foto($notizie['foto9']).'
    [/list]</div>
    la funzione controllo_foto controlla se la foto è esistente nel database e se non esiste non mostra l'elemento nella gallery che è un punto dell'elenco.

    poi ovviamente se non è inserito nulla non dovrebbe apparire nulla... so che sono stato lungo ma non so davvero come fare... mi potete dare una mano? grazie!

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,452
    Codice PHP:
    while ($notiziemysql_fetch_array ($result))  
        echo ( 
    '<div class="contenutonotizia">
        <div class="boxdata"><span style="font-size: xx-large; line-height:48px;">'
    .$notizie['giorno'].' </span>
    <span class="nota" style="font-weight:bold; color:white;" > '
    .$notizie['mese'].' '.$notizie['anno'].'</span></div>
        <div class="boxtitolo"><h2 class="titolo">'
    .$notizie['titolo'].'</h2></div>
        



    '
    );

    if(
    $notizie['conteggio_foto'] > 1
        echo (
    '<div class="carousel" id="carousel"><ul>'.controllo_foto($notizie['foto']).controllo_foto($notizie['foto1']).controllo_foto($notizie['foto2']).controllo_foto($notizie['foto3']).controllo_foto($notizie['foto4']).controllo_foto($notizie['foto5']).controllo_foto($notizie['foto6']).controllo_foto($notizie['foto7']).controllo_foto($notizie['foto8']).controllo_foto($notizie['foto9']).'[/list]</div>');
    else
        echo (
    '[img]foto_news/'.$notizie['foto'].'[/img] ');

    echo (
    '
    <div class="boxtesto"><p class="testo">'
    .$notizie['testo'].'</p></div>
    </div>'
    ); 
    Potrebbe esserci qualche errore con gli apici, non sono stato a controllare, ma ildice dovrebbe essere questo.

  3. #3
    avevo già provato una cosa simile a quello che mi hai postato, ma non funziona... cioè. interrompe il ciclo while non appena c'è l'if, questo codice mostra solo fino a:

    codice:
     while ($notizie= mysql_fetch_array ($result))  
        echo ( '<div class="contenutonotizia">
        <div class="boxdata"><span style="font-size: xx-large; line-height:48px;">'.$notizie['giorno'].' </span>
    <span class="nota" style="font-weight:bold; color:white;" > '.$notizie['mese'].' '.$notizie['anno'].'</span></div>
        <div class="boxtitolo"><h2 class="titolo">'.$notizie['titolo'].'</h2></div>
        
    
    
    
    ');
    per quanti elementi ci sono, ma sotto a questo niente...

    quindi vedendo il sorgente esce fuori:

    codice:
        <div class="boxdata"><span style="font-size: xx-large; line-height:48px;">19 </span>
    <span class="nota" style="font-weight:bold; color:white;" > Gennaio 2010</span></div>
        <div class="boxtitolo"><h2 class="titolo">dffdfgdffg</h2></div>
    
        
    
    
    
    <div class="contenutonotizia">
        <div class="boxdata"><span style="font-size: xx-large; line-height:48px;">19 </span>
    <span class="nota" style="font-weight:bold; color:white;" > Gennaio 2010</span></div>
        <div class="boxtitolo"><h2 class="titolo">dfffgfdfgfg</h2></div>
        
    
    
    
    <div class="contenutonotizia">
        <div class="boxdata"><span style="font-size: xx-large; line-height:48px;">19 </span>
    <span class="nota" style="font-weight:bold; color:white;" > Gennaio 2010</span></div>
    
        <div class="boxtitolo"><h2 class="titolo">fdfsgdffg</h2></div>
        
    
    
    
    
     
    
    <div class="boxtesto"><p class="testo"></p></div>

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,452
    Certo... mancano la { subito dopo il while e la } dopo l'ultimo echo.
    Aggiungile e vedrai che le istruzioni verranno eseguite tutte ad ogni ciclo.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.