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

    Paginazione con risultato su 2 colonne

    Ciao a tutti, ho un piccolo problema di paginazione su 2 colonne.

    Allora, preciso che tutto il codice che sto cercando di adattare proviene dalle pillole prese da qui.

    Ho la mia bella paginazione che funziona perfettamente:

    Codice PHP:

    // DA QUI PARTE LA PAGINAZIONE
    // RECORD PER PAGINA

    $recordxpag 3
    $query "SELECT * FROM prodotti ORDER BY id DESC";
                            
    //INTERROGAZIONE DEL DATABASE:
    $res mysql_query($query);   
    $righe mysql_num_rows($res);
    $numpag ceil($righe/$recordxpag);
            
    if (
    $righe<1) {

         
    // GESTITE L'EVENTO COME MEGLIO CREDETE            
         
    echo "non ci sono schede prodotto";

    } else {

         include(
    'webtest/include/paginazione.php');

         
    $da = (($pag-1) * $recordxpag);                    
         
    $a $da $recordxpag;                            

         if (
    $a $righe){$a=$righe;}                       
              
               for (
    $i $da$i $a$i++) {     // TABELLA DATI                             
               
    $idmysql_result($res,$i,'id');

                
    // QUI LA TABELLA CON LE SCHEDE PRODOTTO
                // PUNTO 1 DEVO INCLUDERE QUI LA MIA TABELLA DEL PRODOTTO SU 2 COLONNE


    E la paginazione funziona correttamente, cioe' esegue la query e restituisce il numero di pagine in base ai risultati.

    Non riesco pero' a sviluppare la tabella dati su 2 colonne.

    Codice PHP:

    // QUESTO E' IL CODICE PER LA SUDDIVISIONE DA INSERIRE NEL PUNTO 1

    // ESEGUO LA QUERY CON L'ID RECUPERATO PRIMA DALLA PAGINAZIONE
    $query = @mysql_query("SELECT * FROM prodotti WHERE id = $id");
    $num_record mysql_num_rows($query); 
    $colonne 2;
    $tot_righe $num_record/$colonne

    //DICHIARO TRE INDICI CHE MI SERVIRANNO 
    $i_x 0
    $x_x 0
    $k_x 0;

    $cell_width floor(100/$colonne);

    //ADESSO SCRIVO IL CODICE DI INIZIO TABELLA 

    echo '<table border="0" cellspacing="4" cellpadding="0" width="100%" bgcolor="#FAFAFA"><tr>';

    //ADESSO SCORRIAMO I RISULTATI OTTENUTI CON UN CICLO WHILE 
    while($array mysql_fetch_array($query)){ 
         
         
    //INCREMENTO GLI INDICI PERCHÈ MI SERVIRANNO DOPO 
         
    $i_x++; 
         
    $k_x++;
         
    $x_x++; 

         echo 
    "<td>$array[titolo_prodotto]</td>";

         if(
    $i_x == $colonne) { 
         
              echo
    '</tr>';  
              
              if (
    $i_x == $colonne && (($x_x/$colonne) != $tot_righe)) { 
                   
                   echo
    '<tr>';

              } 

              
    $i_x 0
         
         } 
    // FINE $I_X == $COLONNE 

    //FINE DEL CICLO 

    if ($colonne <= $x_x){ 
                          
         if ((
    $k_x%$colonne) != 0){ 
              
              
    $indice $k_x
              while ((
    $indice%$colonne) != ){ 

                   echo
    '<td>[img]spacer.gif[/img]</td>'
          
    $indice++; 

              } 
    //FINE CICLO WHILE 
       
         
    if(($indice%$colonne) == ){ 
              
              echo
    '</tr>'

         } 

    //FINE ($K%$COLONNE)!= 0 
                                  
    } else { //FINE IF $COLONNE <= $X 
         
         
    echo '</tr>'



    //ADESSO POSSO FINALMENTE CHIUDERE LA TABELLA 
    echo '</table>'
    Non riesco a mettere 2 risultati per riga, in pratica, ora come ora, mi visualizza si la corretta paginazione ed anche le schede vengono visualizzate, solo che vengono visualizzate una sola per riga, mentre io vorrei che venissero visualizzate 2 schede prodotto per ogni riga.


    Qualche suggerimento ?

    Ciaoo
    Micky

  2. #2
    uppo

  3. #3
    Io ho fatto sempre così e ha funzionato:

    Codice PHP:
    $query = @mysql_query("SELECT * FROM prodotti WHERE id = $id"); 
    $totRecord mysql_num_rows($query);
    $xRiga 2;

    $i 0;
    $y 0;

    echo 
    '<table border="0" cellspacing="4" cellpadding="0" width="100%" bgcolor="#FAFAFA">
    <tr>'
    ;

    while(
    $array mysql_fetch_array($query))
    {
       
       
    $i++;
       
    $y++;

       echo 
    "<td>$array[titolo_prodotto]</td>\n";

       if(
    $i == $xRiga)
       {
          echo 
    "</tr>\n";
        
          if(
    $i == $xRiga && (($y/$xRiga) != $xRiga))
          {
             echo 
    "<tr>\n";
          }

          
    $i 0;
       }

    //fineWhile

    if($xRiga <= $y)
    {
       if((
    $totRecord%$xRiga) != 0)
       {
          
    $indice $totRecord;
            
          while((
    $indice%$xRiga) != 0)
          {
             echo 
    "<td><img src=\"spacer.gif\" width=\"1\" height=\"1\"></td>\n";
             
    $indice++;
          }
            
          if((
    $indice%$xRiga) == 0)
          {
             echo 
    "</tr>\n";
          }
       }

    else
    {
       echo 
    "</tr>\n";
    }

    echo 
    "\n</table>"

  4. #4
    Originariamente inviato da Toxik
    Io ho fatto sempre così e ha funzionato:

    Codice PHP:
    $query = @mysql_query("SELECT * FROM prodotti WHERE id = $id"); 
    $totRecord mysql_num_rows($query);
    $xRiga 2;

    $i 0;
    $y 0;

    echo 
    '<table border="0" cellspacing="4" cellpadding="0" width="100%" bgcolor="#FAFAFA">
    <tr>'
    ;

    while(
    $array mysql_fetch_array($query))
    {
       
       
    $i++;
       
    $y++;

       echo 
    "<td>$array[titolo_prodotto]</td>\n";

       if(
    $i == $xRiga)
       {
          echo 
    "</tr>\n";
        
          if(
    $i == $xRiga && (($y/$xRiga) != $xRiga))
          {
             echo 
    "<tr>\n";
          }

          
    $i 0;
       }

    //fineWhile

    if($xRiga <= $y)
    {
       if((
    $totRecord%$xRiga) != 0)
       {
          
    $indice $totRecord;
            
          while((
    $indice%$xRiga) != 0)
          {
             echo 
    "<td><img src=\"spacer.gif\" width=\"1\" height=\"1\"></td>\n";
             
    $indice++;
          }
            
          if((
    $indice%$xRiga) == 0)
          {
             echo 
    "</tr>\n";
          }
       }

    else
    {
       echo 
    "</tr>\n";
    }

    echo 
    "\n</table>"

    Ciaooo !

    Grazie per la dritta.....Io pero' devo dividere in due colonne....Cosi' funziona pero' a me serve che se per esempio ho 8 schede venga in pratica 4 righe da 2 colonne ciascuna.

    In pratica 2 schede prodotto per riga.

    Io e' tutto il pome che provo...Ho letto penso tutti i post del furum riguardo a paginazione...paginazione su due colonne..paginazione colonne...ecc..ecc....Ma non sono ancora riuscito a risolvere sto problema...

    Grazie cmq
    Micky

  5. #5
    riuppo

  6. #6
    Ho fatto un po' di esperimenti...

    Purtroppo non sono arrivato alla soluzione...

    Possibile che nessuno abbia mai impaginato dei dati 2 per riga con sopra e sotto la classica paginazione a numerini ?....

    Io cmq ho fatto un po' di ordine, visto che prima era un po' incomprensibile.

    Codice PHP:

    /////////////////////
    /////////////////////
    // QUI SOTTOCATEGORIE LA PAGINA CON LA LISTA E LA PAGINAZIONE

            // TAB GENERALE
            
    echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\">";
            echo 
    "<tr>";
            echo 
    "<td>";
            
            
    // DA QUI PARTE LA PAGINAZIONE
            
            // RECORD PER PAGINA
            
    $recordxpag 3
            
    $query "SELECT * FROM prodotti WHERE attiva = 1 AND categoria_p = $_GET[categoria] AND sottocategoria_p = $_GET[sottocategoria] ORDER BY id DESC";

            
    //INTERROGAZIONE DEL DATABASE:
            
    $res mysql_query($query);   
            
    $righe mysql_num_rows($res);

            
    $numpag ceil($righe/$recordxpag);

            if (
    $righe<1) {
                
            
    // GESTITE L'EVENTO COME MEGLIO CREDETE            

                
    echo "non ci sono schede prodotto";
            
            } else {
                
                echo 
    "<font face=\"Verdana,Arial,Helvetica\" size=\"1\" color=\"#000000\">Pagina: </font>";

                include(
    'include/funzione_paginazione_pubb.php');    
                
                
    $da = (($pag-1) * $recordxpag);                    
                                             
                
    $a $da $recordxpag;                            
                                             
                if (
    $a $righe){$a=$righe;}                       
                                             
                for (
    $i $da$i $a$i++) {     // TABELLA DATI                             

                
    $idmysql_result($res,$i,'id');
                    
                    
    // QUI LA TABELLA CON I DATI SCHEDA PRODOTTO
            // COME FARE PER VISUALIZZARE 2 SCHEDE PER RIGA INVECE CHE UNA SOLA SCHEDA PER OGNI RIGA ??

                
    }  // FINE GESTIONE DATI                        
                

                
            
    }   

            echo 
    "</td>";
            echo 
    "</tr>";
            
    // E QUI FINISCE LA PAGINAZIONE

            
    echo "</table>";



    Nessuno che mi puo' aiutare ?

  7. #7
    up

  8. #8
    up...

  9. #9
    up..prima o poi....uff...

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.