Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    13

    4 risultati per riga non funziona

    Ciao ragazzi sono nuovo, premetto che non faccio come lavoro il webmaster ma tutt'altro...ammetto comunque di conoscere il PHP abbastanza da creare un sito anche se a volte devo ricorrere all'aiuto di qualche "drago"

    Sto creando un sito web, in questo sito web voglio che vengono mostrati 4 annunci per riga e poi andando a capo inserendo "last_item" al "<div class="...ma il counter a quanto pare non funziona, o meglio...funziona in parte.

    Prendete in considerazione il seguente codice... mi restituisce bene i risultati ma con un problema....il codice non riconosce l'if e mi restituisce i risultati doppi eseguendo la query di nuovo...
    Ho provato anche a spostare l'if fuori dal while ma me ne mostra 3 e non 4....le sto provando tutte ma a quanto pare la soluzione non è venuta a galla...



    Codice PHP:
    <?php
    $counter
    =1;
    $query=mysql_query("SELECT * FROM annunci ORDER BY id DESC LIMIT 0,12");
    while(
    $row mysql_fetch_assoc($query)) {
    echo 
    "<div class=\"list_item\"> <a class=\"thumbnail\" href=\"index.php?pagina=vedi-annuncio&id=$row[id]\" title=\"\"> <img src=\"images/ex/prova1_small.jpg\" alt=\"\" width=\"209\" height=\"179\" /></a>
    <h3><a href=\"index.php?pagina=vedi-annuncio&id=
    $row[id]\" title=\"\">$row[nomeanimale]$row[tipologia]</a></h3>
    <p class=\"wrap_price\"> <span class=\"price\"><a href=\"index.php?pagina=categoria&regione=
    $row[regione]\">$row[regione]</span> </p>
    <p class=\"submit\"> <a class=\"add2cart medium_button\" href=\"index.php?pagina=categoria&provincia=
    $row[provincia]\" title=\"\">$row[provincia]</a> </p>
    </div>"
    ;
    if (
    $counter == 0) {
    echo 
    "<div class=\"list_item last_item\"> <a class=\"thumbnail\" href=\"index.php?pagina=vedi-annuncio&id=$row[id]\" title=\"\"> <img src=\"images/ex/prova1_small.jpg\" alt=\"\" width=\"209\" height=\"179\" /></a>
    <h3><a href=\"index.php?pagina=vedi-annuncio&id=
    $row[id]\" title=\"\">$row[nomeanimale]$row[tipologia]</a></h3>
    <p class=\"wrap_price\"> <span class=\"price\"><a href=\"index.php?pagina=categoria&regione=
    $row[regione]\">$row[regione]</span> </p>
    <p class=\"submit\"> <a class=\"add2cart medium_button\" href=\"index.php?pagina=categoria&provincia=
    $row[provincia]\" title=\"\">$row[provincia]</a> </p>
    </div>"
    ;

    $counter++;
    }
    ?>
    Grazie mille a chi parteciperà al mio post

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Se tu scrivi:
    Codice PHP:
    while(){
       echo 
    "...";
       if(
    $count == 0)
            echo 
    "..."

    Mi pare scontato che ti stampi due volte il %3 elemento, no ?
    Ma poi, hai riscritto tutto uguale, solo per aggiungere la classe last_item ?

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    13
    si

  4. #4
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    fai così:
    Codice PHP:
    while($row mysql_fetch_assoc($query)) {
       
    $class_last = ($count == 0) ? ' last_item' '';
       echo 
    "<div class=\"list_item$class_last\"> <a class=\"thumbnail\" ... ";
       
    $count ++; 

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    13
    Fatto, la query funziona e mi mostra i risultati bene..... ma ogni <div class= ha l'attributo last_item...

    EDIT: risolto....apperentemente per chi ha bisogno la soluzione, il $count++ va messo nel while...il codice funzionante di seguito...grazie 1milione boots:

    Codice PHP:
    <?php
    $count
    =1;
    $query=mysql_query("SELECT * FROM annunci ORDER BY id DESC LIMIT 0,12");
    while(
    $row mysql_fetch_assoc($query)) {
       
    $class_last = ($count %== 0) ? ' last_item' '';
       echo 
    "<div class=\"list_item$class_last\"> <a class=\"thumbnail\" href=\"index.php?pagina=vedi-annuncio&id=$row[id]\" title=\"\"> <img src=\"images/ex/prova1_small.jpg\" alt=\"\" width=\"209\" height=\"179\" /></a>
                  <h3><a href=\"index.php?pagina=vedi-annuncio&id=
    $row[id]\" title=\"\">$row[nomeanimale]$row[tipologia]</a></h3>
                  <p class=\"wrap_price\"> <span class=\"price\"><a href=\"index.php?pagina=categoria&regione=
    $row[regione]\">$row[regione]</span> </p>
                  <p class=\"submit\"> <a class=\"add2cart medium_button\" href=\"index.php?pagina=categoria&provincia=
    $row[provincia]\" title=\"\">$row[provincia]</a> </p>
                </div>"
    ;
    $count++;
    }
    ?>
    Ultima modifica di eno7; 24-11-2013 a 13:44

  6. #6
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Questo non è possibile...riposta il tuo codice.
    NB, nel mio script io ho messo $count...tu avevi $counter

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    13
    messo la soluzione grazie ancora....avrò bisogno ancora sicuramente per altre cose....

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    13
    uhm altro problemino che devo risolvere.... mettiamo caso che una query produce 3 risultati, perché mi va a capo dopo due?
    Come faccio a stabilire il posizionamento del last_item in base ai risultati?

  9. #9
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    proca così:
    Codice PHP:

    $count
    =1;
    $query=mysql_query("SELECT * FROM annunci ORDER BY id DESC LIMIT 0,12");
    $nrows mysql_num_rows($query);
    while(
    $row mysql_fetch_assoc($query)) {
       
    $class_last = ($count %== || count == $nrows) ? ' last_item' '';
       echo 
    "..." ;
       
    $count ++;
     } 
    Così dovresti avere last_item sull ultimo record indipendentemente dal numero di record...poi, però, dipende da come gestisce una riga con 1/2/3 elementi il css

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    13
    Ciao boots, gentilissimo grazie ma ho risolto in un altro modo... ho cambiato disposizione dei risultati...anzichè mostrare i risultati a forma di quadrato quattro per ogni riga, ho fatto in modo di visualizzare un risultato per riga sottoforma di box con vari dettagli...

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.