Gros problème de logique php
                                    
                        Flob23                    
                                    -
                                     
jeremy.s Messages postés 1248 Statut Membre -
        jeremy.s Messages postés 1248 Statut Membre -
        Bonjour, 
D'abord j'espère que vous serais indulgent j'ai pas une grosse xp en php
Je suis en train de construire un blog et je bute sur un problème que je n'arrive pas a résoudre. Je suis en train d'imaginer la pagination qu'aura mon site, j'aimerais qu'il y est 6 article par page et entre ces 6 articles j'aimerais qu'il y est 3 article au hasard tiré par sql. Sauf que j'ai n'ai aucune idée de la marche a suivre pour intégré ça dans ma code ?
Une illustration de ce que je souhaite : http://img841.imageshack.us/img841/2308/artba.jpg
Mes requête SQL ou j'ai déjà fait le rand
mon code php:
donc voila, comment je peux faire comprendre a php que je veux qu'il mette mes rand pile au milieu des 6 articles et non a la fin comme c'est le cas actuellement ? merci d'avance pour votre aide
                
            
                
    
    
    
        D'abord j'espère que vous serais indulgent j'ai pas une grosse xp en php
Je suis en train de construire un blog et je bute sur un problème que je n'arrive pas a résoudre. Je suis en train d'imaginer la pagination qu'aura mon site, j'aimerais qu'il y est 6 article par page et entre ces 6 articles j'aimerais qu'il y est 3 article au hasard tiré par sql. Sauf que j'ai n'ai aucune idée de la marche a suivre pour intégré ça dans ma code ?
Une illustration de ce que je souhaite : http://img841.imageshack.us/img841/2308/artba.jpg
Mes requête SQL ou j'ai déjà fait le rand
$sql ='SELECT * FROM articles DESC LIMIT 6 '; $posts = $DB->query($sql); $sql ='SELECT id,image FROM articles ORDER BY RAND() LIMIT 3'; $rand = $DB->query($sql);
mon code php:
			<?php foreach ($posts as $post): ?>
            <h2><?php echo $post->titre; ?> </h2>
			<img src="<?php echo $post->image ?>"/>
			<a href='article.php?r=<?php echo ($post->id); ?>'><button>Lire la suite</button></a>
			<?php endforeach ?>
			<?php foreach ($rand as $rand): ?>
			<a href='article.php?r=<?php echo $rand->id ?>'/> <img src="<?php echo $rand->image ?>"/></a>
			<?php endforeach ?>
donc voila, comment je peux faire comprendre a php que je veux qu'il mette mes rand pile au milieu des 6 articles et non a la fin comme c'est le cas actuellement ? merci d'avance pour votre aide
        A voir également:         
- Gros problème de logique php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Et logique excel - Guide
- Lecteur logique ✓ - Forum Windows
- Retour a la ligne php ✓ - Forum PHP
4 réponses
                        
                    Bonjour,
J'ai du mal à saisir l'intérêt d'avoir des articles disposés aléatoirement sur un blog.
Le but premier est bien d'afficher les articles du plus récent au plus ancien non ?
De plus, il faut s'assurer d'éviter les doublons d'une page à l'autre, chose qui n'est pas forcément aisée (Aussi bien pour le développeur que pour les potentiels visiteurs qui doivent voir d'un coup d'oeil s'il y a du nouveau contenu).
 
                
                
    
                J'ai du mal à saisir l'intérêt d'avoir des articles disposés aléatoirement sur un blog.
Le but premier est bien d'afficher les articles du plus récent au plus ancien non ?
De plus, il faut s'assurer d'éviter les doublons d'une page à l'autre, chose qui n'est pas forcément aisée (Aussi bien pour le développeur que pour les potentiels visiteurs qui doivent voir d'un coup d'oeil s'il y a du nouveau contenu).
                        
                    Salut !
Je suis d'accord avec Acid_ ! Ca n'a pas forcément de sens de les mettre en pleins milieu comme ca, mais tu peux très bien les mettre dans le footer ou dans le bas de ta sidebar, là ca a déjà plus de sens de mon point de vu ;-)
Après effectivement ca veut dire que les articles que tu tire pour le footer ne doivent pas déjà figuré sur la page que consulte l'utilisateur, et la ca "complique" la chose.
Donc à toi de nous dire ce que tu souhaites réellement après nos conseils, et on t'aideras :)
 
                
                
    
                Je suis d'accord avec Acid_ ! Ca n'a pas forcément de sens de les mettre en pleins milieu comme ca, mais tu peux très bien les mettre dans le footer ou dans le bas de ta sidebar, là ca a déjà plus de sens de mon point de vu ;-)
Après effectivement ca veut dire que les articles que tu tire pour le footer ne doivent pas déjà figuré sur la page que consulte l'utilisateur, et la ca "complique" la chose.
Donc à toi de nous dire ce que tu souhaites réellement après nos conseils, et on t'aideras :)
                        
                    Salut a vous 2 et merci de vos réponse !
En fait je ne compte pas faire un blog lambda... mes articles seront des images.
Je compte regrouper les meilleurs images d'internet donc mon blog pourra se trouver très vite avec des milliers d'articles et des centaines de page. D'ou l'intérêt de mettre un bloc d'images aléatoire au milieu pour celui qui n'a pas forcément envie de se faire toute les pages. Cependant je retiens l'idée du footer qui est sympa
Sinon pour mon bloc au milieu je crois avoir trouvé mais cela semble compliqué... et pas super opti
Créer deux table article1 , article 2 qui contiendrons mes articles
Prendre les trois premier articles de article 1 du plus récent au plus ancien
les afficher sur mon blog en foreach
mettre ensuite en dessous donc ce fameux bloc aléatoire avec un rand sur article 1 et article 2 en limit 3
et enfin troisieme foreach sur ma table article 2 cette fois qui contiendra les 3 derniers articles de ma page.
J'ai bon ou y a moyen de faire plus simple?
bonne soirée !
    
                En fait je ne compte pas faire un blog lambda... mes articles seront des images.
Je compte regrouper les meilleurs images d'internet donc mon blog pourra se trouver très vite avec des milliers d'articles et des centaines de page. D'ou l'intérêt de mettre un bloc d'images aléatoire au milieu pour celui qui n'a pas forcément envie de se faire toute les pages. Cependant je retiens l'idée du footer qui est sympa
Sinon pour mon bloc au milieu je crois avoir trouvé mais cela semble compliqué... et pas super opti
Créer deux table article1 , article 2 qui contiendrons mes articles
Prendre les trois premier articles de article 1 du plus récent au plus ancien
les afficher sur mon blog en foreach
mettre ensuite en dessous donc ce fameux bloc aléatoire avec un rand sur article 1 et article 2 en limit 3
et enfin troisieme foreach sur ma table article 2 cette fois qui contiendra les 3 derniers articles de ma page.
J'ai bon ou y a moyen de faire plus simple?
bonne soirée !
                        
                    Si c'est vraiment ce que tu veux faire ...
Tu fais deux requetes en BDD :
La première correspond à tes 6 articles, un order by te permettra de récupérer tes articles par la date
Ta deuxieme te cherche les 3 aléatoires en excluant les 6 id récupéré au dessus.
Ensuite soit tu fais ton foreach et tu affiches tes 6 articles, puis tes 3 articles et tu les places ensuite avec du css.
Soit tu boucles 3 fois sur ta première requete, ensuite un foreach sur ta deuxieme, et tu fini avec les trois derniers de la premiere requete
 
                
                
    
                Tu fais deux requetes en BDD :
La première correspond à tes 6 articles, un order by te permettra de récupérer tes articles par la date
Ta deuxieme te cherche les 3 aléatoires en excluant les 6 id récupéré au dessus.
Ensuite soit tu fais ton foreach et tu affiches tes 6 articles, puis tes 3 articles et tu les places ensuite avec du css.
Soit tu boucles 3 fois sur ta première requete, ensuite un foreach sur ta deuxieme, et tu fini avec les trois derniers de la premiere requete
