2010-11-13 5 views
0

Eh bien, je montre une galerie dynamique en utilisant PHP ... ce que je veux, c'est au lieu de montrer beaucoup de vignettes sur une page, je préfère faire la pagination .. vous connaissez les pages de nombre et à côté et tout ..PHP Dynamic Gallery Pagination (avec une torsion)

bien son une vieille chose, mais je ne sais pas comment faire ..

  • cOMMENT fAIRE?

mais maintenez vos chevaux HERES LE TWIST

je montre les vignettes dans DIVS que je mets en ligne permet donc dire si quelqu'un ouvrir la page en 1024x768 je reçois 3 vignettes de suite et et il sont 6 lignes donc ils font 18 thumnails sur l'ensemble ..

mais si quelqu'un ouvre la page avec leur résolution permet de dire 1600 x 1200 je reçois 5 thumnails d'affilée donc 18 vignettes feraient 3 lignes .. disons je vouloir garder les lignes 6 et faire apparaître les vignettes à 30 ... COMMENT FAIRE UN CODE POUR FAIRE CELA

p.s. bonne chance avec mes thangs fous ....

+0

Cela ressemble à une question HTML/CSS, pas une question PHP ... –

+0

bien je ne savais pas que la pagination était possible avec HTML \ CSS ... o attendre HTML et CSS juste allé dynamique ... lire à travers la question d'abord bro – Moon

+1

J'ai lu la question. Il est possible d'avoir des images qui circulent automatiquement dans un DIV; J'oublie comment (ça fait longtemps que j'ai utilisé CSS). Si vous voulez faire quelque chose de plus compliqué que simplement faire couler vos images avec élégance, alors vous devez rendre votre question beaucoup plus claire. –

Répondre

1

La technique de base est la suivante: Vous savez, ou bien calculer, combien d'images vous affichez par page. Donc, lorsque vous faites votre requête, c'est votre limite. En outre, vous aurez besoin d'un décalage - combien de résultats vous devez passer. Si vous montriez 8 résultats par page et que vous vouliez afficher la 3ème page, votre décalage serait de (3 - 1) * 8 ou 16.

Maintenant, votre défi intéressant ressemble à votre affichage: Vous montrez différentes quantités de vignettes en fonction de l'affichage.Vous aurez donc besoin de calculer la taille d'un affichage que vous voulez, probablement avec javascript, et ensuite faire une requête ajax pour demander le nombre de résultats que vous voulez et le décalage, en fonction de la page que vous montrez.

0

vous pouvez trouver la résolution de l'écran par le script java

document.write (screen.width + 'x' + screen.height);

cette ligne imprimera la résolution de l'écran. peut donc aller plus loin que d'habitude par si la condition

si (écran $ = 1024x768) {exécuter la requête } else {exécuter query}

J'espère que cela vous aidera ..

1

La pagination peut être manipulée en PHP. Mais vous ne pouvez pas faire tout ce que vous avez mentionné en PHP pur. Certains AJAX/Javascript seront impliqués, en particulier dans l'auto-détection de la résolution du navigateur. Vous devez considérer les clients avec des navigateurs qui ont des dimensions de portrait et de paysage, y compris les petits écrans (téléphones mobiles 240x240 ou 320x320).

1

Attribuées que en quelque sorte vous parvenez à obtenir une emprise sur la résolution de l'utilisateur et que vous serez en mesure de calculer le nombre total de vignettes dans un DIV, alors il n'y a pas de magie pour dire PHP aller avec 30 vignettes au lieu.

define('ROW_TOTAL', 6); 
define('MIN_THUMBS', 3); 
define('THUMB_WIDTH', 320); 

// Get the clients resolution (i.e. via ECMA and a cookie) 
$thumbs = isset($_COOKIE['res_width']) ? 
    (int) (intval($_COOKIE['res_width'], 10)/THUMB_WIDTH) : MIN_THUMBS; 

// Get the page via the client's request 
$page = isset($_GET['page']) ? 
    intval($_GET['page'], 10) : 0; 

$query = sprintf(
    'SELECT thumb_url' . 
    ' FROM images' . 
    ' WHERE set_id = %u'. 
    ' LIMIT %u OFFSET %u', 
    $set_id, 
    $thumbs, 
    $thumbs * $page 
); 

// Feth the records and process them in a loop 
// I'll leave that up to you 

Bonne chance, aefxx

+0

wow ... ce code est un cran au-dessus de mon niveau ... mais ce que j'ai obtenu est génial ... – Moon