Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: più record per riga

  1. #1

    più record per riga

    Da una query, vorrei visualizzare 6 foto per riga di una tabella, ma non ci riesco:

    Codice PHP:
    <table border="0" align="center" cellspacing="1" cellpadding="0">
    <tr><th>Pictures</th></tr>
    <?php
        $pictures 
    = @mysql_query($select $from $where);
        if(!
    $pictures) {    //il testo di ricerca è specificato
            
    echo '</table>';
            exit(
    '<p align="center">Error retrieving pictures from databases!
    '
    .
                
    'Error: '.mysql_error().'</p>');

        }
    //if
        
        
    $count 0;
        while (
    $picture mysql_fetch_array($pictures)) {
              echo 
    "<tr valign='top'>";
              
    $id $picture['id'];
              
    $filename htmlspecialchars($picture['filename']);
              
    $extension htmlspecialchars($picture['extension']);
              
    $description htmlspecialchars($picture['description']);
              
    $miniatura 'foto/'.$filename.'_s'.$extension;
              echo 
    "<td>";
                  print 
    '[img]'.$miniatura.'[/img]';
              echo 
    "</td>";
              if(
    $count==6) {    //a capo ogni 6 foto        
                
    echo "</tr>";
                
    $count 0;

            }else{
                
    $count $count+1;

            }
    //else
          
    }//while
          
    ?>
    </table>
    Giuseppe SPECCHIO

  2. #2
    innanzitutto il controllo dovrebbe essere if ($count==5) perchè parti da 0 +6 fa 5...


    poi con il tuo codice cosa ti visualizza attualmente??

  3. #3
    le foto in colonna, mentre io le voglio disposte disposte in file da 6 foto. Grazie cmq.
    Giuseppe SPECCHIO

  4. #4
    prova così:

    $count = 1;
    echo "<tr valign='top'>";
    while ($picture = mysql_fetch_array($pictures)) {
    $id = $picture['id'];
    $filename = htmlspecialchars($picture['filename']);
    $extension = htmlspecialchars($picture['extension']);
    $description = htmlspecialchars($picture['description']);
    $miniatura = 'foto/'.$filename.'_s'.$extension;
    if ($count!=6) {
    echo "<td>";
    print '[img]'.$miniatura.'[/img]';
    echo "</td>";
    $count++;
    }
    else {
    echo "</tr>";
    echo "<tr>";
    echo "<td>";
    print '[img]'.$miniatura.'[/img]';
    echo "</td>";
    $count=2;
    }


    }//while

  5. #5
    putroppo niente, ancora le foto vengono visualizzate tutte su un'unica colonna!
    Giuseppe SPECCHIO

  6. #6
    fai una cosa:

    clicca sul browser in mostra html e posta il codice html della pagina...


  7. #7
    <table border="0" align="center" cellspacing="1" cellpadding="0">
    <tr><th>Pictures</th></tr>
    <tr valign='top'><td><a href="album.php?username=giuseppe&idfoto=2&index=1 ">
    [img]foto/1187367421151.38.218.185_s.jpg[/img]</a></td>
    <tr valign='top'><td><a href="album.php?username=giuseppe&idfoto=4&index=2 ">
    [img]foto/1187371271151.38.218.185_s.jpg[/img]</a></td>
    <tr valign='top'><td><a href="album.php?username=giuseppe&idfoto=5&index=3 ">
    [img]foto/1187371436151.38.218.185_s.jpg[/img]</a></td>
    <tr valign='top'><td><a href="album.php?username=giuseppe&idfoto=7&index=4 ">
    [img]foto/1187373090151.38.218.185_s.jpg[/img]</a></td>
    </table>
    <p align="center"> New search</p>

    Come vedi alla fine di ogni foto mi mette un </td>

    per ora ho risolto così:

    Codice PHP:
    $count 0;
        echo 
    "<tr valign='top'>";
        while (
    $picture mysql_fetch_array($pictures)) {
              
              
    $id $picture['id'];
              
    $index++;
              
    $filename htmlspecialchars($picture['filename']);
              
    $extension htmlspecialchars($picture['extension']);
              
    $description htmlspecialchars($picture['description']);
              
    $miniatura 'foto/'.$filename.'_s'.$extension;
              echo 
    "<td>";
                  print 
    '<a href="album.php?username='.$username.'&idfoto='.$id.'&index='.$index.' ">
                          [img]'
    .$miniatura.'[/img]
                      </a>'
    ;
              echo 
    "</td>";
              
              if(
    $count==6) {    //a capo ogni 6 foto        
                
    echo "</tr>";
                echo 
    "<tr valign='top'>";
                
    $count 0;

            }else{
                
    $count $count+1;

            }
    //else
            
          
    }//while 
    P.S. Se volessi inviare i parametri del link via POST invece che con il metodo GET, come dovrei fare?
    Giuseppe SPECCHIO

  8. #8
    come puoi notare tu stesso dal codice:

    ad ogni foto c'è sempre
    <tr valign='top'> che non fa altro che aprire una nuova riga...

    e come se le istruzioni dentro l'if venissero sempre eseguite... prova a fare così:

    if($count==6) { //a capo ogni 6 foto
    echo "</tr>";
    echo "ciao";
    echo "<tr valign='top'>";
    $count = 0;

    aggiungi la riga in rosso e riposta il codice html che genera...

  9. #9
    se non erro è la stessa mia soluzione! Cmq grazie della disponibilità! Ah! anzi ne approfitto della tua gentilezza per chiederti se un array di interi può essere passato come argomento di un link ad un'altra pagina php?
    Giuseppe SPECCHIO

  10. #10
    forse non hai capito

    ho inserito la riga

    echo "ciao";

    per vedere se la riga viene eseguita sempre...


    per la seconda domanda:

    un array non penso proprio possa essere passato come parametro di un link, però puoi settarlo come variabile di sessione e quindi lo puoi utilizzare anche nelle pagine successive

    $_SESSION['mioarray']=$mioarray;

    e nelle pagine successive

    echo $_SESSION['mioarray'][0]


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.