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

    Ciclo per risultati da query

    Premetto che mi ero incartata già nello scrivere il titolo di questo post!
    Mi sa che mi sto annegando in un bicchier d'acqua.

    Ho una query e fin qui ci siamo:
    Codice PHP:
    $result_offerte = @mysql_query("SELECT * FROM offerte WHERE status='1' order by data"); 
    Il bello è che devo mostrare i risultati formattati in modo diverso, 3 a 3. Cioè: il primo col titolo verde e l'immagine a dx, il secondo blu e l'immagine a sx, il terzo arancio e l'immagine al centro... e poi da capo.
    Da dove comincio?!
    Grazie mille

  2. #2
    fai il classico ciclo per scorrere tutti i record

    crei un contatore chiamato $counter

    poi guardi il resto della divisione per 3

    if(($counter % 3) == 0)
    bla bla bla

    if(($counter % 3) == 1)
    bla bla bla

    if(($counter % 3) == 2)
    bla bla bla

  3. #3
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    metti un contatore al cilco :

    $i=0;
    while(...){
    $i++;
    if($i==1){
    //rosso ....
    }elseif($i==2){
    //blu... e cosi' via
    }


    if($i==3){
    $i=0;
    }
    }
    La vita e' uno switch();

  4. #4
    Codice PHP:
    $result_offerte = @mysql_query("SELECT * FROM offerte WHERE status='1' order by data");
    $nr_offerte = @mysql_num_rows($result_offerte);
    if (
    $nr_offerte != 0) {
      while (list(
    $id_offerta$titolo$testo$prezzo$immagine$data$status$home) = @mysql_fetch_row($result_offerte)) { 
            
    $i 0;
            while (
    $i <= 3) {
            
    $i++;
            if (
    $i==1) {
              echo 
    "<div class=\"entry_01\"></div>";
            } elseif (
    $i==2) {
              echo 
    "<div class=\"entry_02\"></div>  ";
            } elseif (
    $i==3) {
              
    $i=0;
              echo 
    "<div class=\"entry_03\"></div>";
            } 
            }
      }
    } else { echo 
    "<div class=\"entry\">

    [b]Nessuna offerta presente in archivio![/b]</p></div>"


    Dove sbaglio?

  5. #5
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    A occhio mi pare che sia giusto...

    Che errore hai di preciso?

  6. #6
    Scusate la domanda forse poco pertinente ma a che serve la @ davanti a mysql_query?

    Codice PHP:
    @mysql_query 

  7. #7
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    "@" anteposto ad una funzione o ad una variabile serve ad evitare che venga mostrato l'eventuale errore. Si usa anche per evitare problemi di sicurezza dato che nella segnalazione di errore possono comparire troppe informazioni...

  8. #8
    Mi va in ciclo continuo e mi impalla tutto. Dov'è l'inghippo?!?! Ufffffi...

  9. #9
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Va in loop...

    prova così, ma non posso testarlo adesso
    Codice PHP:
    if ($nr_offerte != 0) {
    $i 1;
      while (list(
    $id_offerta$titolo$testo$prezzo$immagine$data$status$home) = @mysql_fetch_row($result_offerte)) {
            
            if (
    $i==1) {
              echo 
    "<div class=\"entry_01\"></div>";
    $i++;

            } elseif (
    $i==2) {
              echo 
    "<div class=\"entry_02\"></div>  ";
    $i++;
            } elseif (
    $i==3) {
              
    $i=1;
              echo 
    "<div class=\"entry_03\"></div>";
            }
            } 

  10. #10
    Ottimo! Funziona alla grande, grazie 1000

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.