une info svp, j'ai céer une table produit dans ma base de donnée, j'ai utilisé un foreach sur ma premiere page, si je veux créer une nouvelle page avec d'autre produits, avec la fonction foreach, je dois bien créer une nouvelle table pour celle-ci ? (car je pense si j'utilise la même table il va me reprendre les produits que j'ai utiliser dans ma 1ere page)

Merci

11 réponses


shishio
Auteur
Réponse acceptée

<?php $Produits = $DB->query('SELECT * FROM Produits LIMIT 2,4') ?>

voila nickel, merci à toi pour l'aide.

Je ne comprends pas ton problème.

si je veux créer une nouvelle page avec d'autre produits, avec la fonction foreach

Le foreach, c'est pour parcourir un tableau. Ca veut dire "pour chaque élement".
Ainsi, pour chaque élément d'un tableau, tu éxecutes quelque chose.
Je ne vois pas en quoi ça pose problème à la lecture de tes produits.

Une nouvelle page avec d'autres produits, ça veut dire que sur une page B, tu voudrais afficher les produits "2", "5" et "7" par exemple et sur la page 1 les produits "1", "3", "4" et "6" ?

Quel est l'intérêt ?

FOREACH c'est pour faire une boucle comme for ou while. Alors franchement,je ne comprends pas ton explication!

shishio
Auteur

ba il va me falloir plusieurs page de produit car je différencie les produits a partir d'un menu.
j'aurais un peu près 15 page de produits.
j'aime assez le style du foreach ou j'entre chaque produit a partir de phpmyadmin.
donc a part si il est possible de dire a un foreach de prendre l'ID 1 à 4 pour tel page et l'id 5 à 10 pour une autre page, je pense devoir créer plusieurs table.

Je crois shishio que tu dois fais ce qu'on appelle la " pagination".Qui te permettra d'aller d'une page à une autre ou à l'aide d'une variable

$_get'id']

qui pourra afficher les champs de la table"produit".Où bien on ne parle pas la même chose??

Ce n'est pas au foreach a qui tu vas dire "prends de 1 a 4" ou "prends de 5 a 8", c'est a ta bdd dans ta requete.

  • Mets tous tes produits dans la meme tables
  • Fait une requete avec comme instruction "LIMIT 1,4" sur une page, et LIMIT 5,4 sur une autre. Comme le dit muss, tu peux savoir ou tu en est en utilisant une variable $_GET qui précise la page (
    si $_GET = 1: alors LIMIT 1,4;
    si $_GET = 2: alors LIMIT 5,4;
    etc ...).

A en juger par ta question, tu as de grosses lacunes pour la conception de ton site (quand et pourquoi créer une table, comment récupérer les données, etc ...). Je te conseille vivement de regarder encore des tutos ici ou ailleurs pour te faire une idee plus précise de que tu dois faire pour monter un site ... On répondra avec plaisir a tes questions sur ce fofo, mais je pense que la tu risques d'avoir beaucoup de soucis en avancant sur ton site.

Bonne chance en tous cas

shishio
Auteur

c'est à cette ligne je pense a qui je dois dire de tout prendre *
<?php $Produits = $DB->query('SELECT * FROM Produits') ?>
le problème c'est que je veux prendre toute les colonnes donc * mais des ID 5 à 8.
j'ai tester plusieurs trucs sur la ligne mais rien ne fonctionne.

shishio
Auteur

<?php $Produits = $DB->query('SELECT * FROM Produits LIMIT 5 , 8') ?>

j'y suis presque je pense

Le premier param est bien le premier enregistrement dont tu as besoins, mais le second est le nb de lignes. Si tu en veux 4, il faut faire LIMIT 5,4

Cadeau.
Tutoriel vidéo PHP : Créer une pagination.
Tu apprendras comment faire comme ça.

shishio
Auteur

<?php $Produits = $DB->query('SELECT * FROM Produits LIMIT 2,4') ?>

voila c'est fait !
merci à toi !