Masquer/Afficher balise DIV apres verification de l état d'u

Petit nouveau ! | 3 Messages

01 mars 2013, 02:56

Bonjour, je suis debutant PHP et CSS. Je suis en train de faire un site dans lequel j ai besoin d afficher des petites "fiches produits", 8 par page, chacune étant dans une balise DIV que j ai nomée <div id="1"> ...... </div> pour le produit 1 et ainsi de suite jusqu'à <div id="8"> ...... </div>. J ai des bases SQL pour la gestion des données correspondantes a chaque categories de produits. Voilà mon problème : il n y a pas toujours 8 produits dans les bases, des fois seulement 2, 5 etc .... J ai fait un modele avec Dreamweaver CS6 (en .dwt donc), où il y a TOUJOURS mes 8 DIV (portant les "id" 1 ... 2 ... 3 etc). Je veux juste afficher les DIV où il existe un produit à "voir", et donc masquer les suivantes puisque dans la base de données il n'y a plus d'article, donc la valeur est NULLE.

VOIR la capture d écran pour mieux comprendre mon probleme ...

On voit bien qu'il n'y a que 4 produits, et qu'en dessous il y a mes 4 DIV ... je voudrais qu'elles ne s'affichent pas, en testant mes variables $id[1], $id[2], $id[3], $id[4], $id[5], $id[6], $id[7], $id[8], récupérées après avoir lu les index de ma base de données.

Je suis sûr que ça doit être enfantin pour des pros comme vous mais là je cale lol ! merci pour votre aide !
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Avatar du membre
Mammouth du PHP | 1564 Messages

01 mars 2013, 04:02

Salut,

les variables $id[1], $id[2], $id[3],... $id[8] te donne quoi comme résultat ?

je te propose de vérifier leur résultat et si il est vide, tu fait en sorte de ne pas afficher la div, tout simplement.


Une condition du genre te serait peut être utile:
if(trim($id[numero]) != "") { trim enlève les espace html
    // tu affiche la div qui n'est pas vide
}

Petit nouveau ! | 3 Messages

01 mars 2013, 19:19

Bjr two3d, merci pour votre réponse. En fait par exemple, après avoir lu ma base de donnée, je crée une variable de "transfert" (pour eviter les $GET et $POST) que je place dans $id[1] jusqu à $id[8]. Les valeurs contenues dans ces 8 variables correspondent à des ENTIERS (définis dans ma tables sql), c est en fait le numéro de l article en question, par ex $id[1] sera egal à 53 (suivant la table que j ai appelée evidemment), et 53 est le numero de l article "plancha XXXX". Tout va bien pour l affichage, pour mes references, les prix etc ... Mais comme je prévois toujours au maximum 8 produits par page et que certaines fois il n y en a que 2 ou n'importe, il me faut pouvoir "dire" en php : si la valeur de $id[1] est superieure à ZERO (donc y a bien un numero de fiche puisque la premiere c est la 1) ... alors il faut afficher la DIV n° 1 ... et idem pour les 7 autres. Ou bien faire l inverse, si la valeur de $id[1]= "" (rien car dans la BDD y a rien de prévu) alors ne pas afficher la DIV n°1.
Je veux proceder comme ça pour eviter de reprendre chaque page du site et de supprimer a la main les DIV qui ne "servent pas" en laissant celles des produits a afficher.
Je suis sûr que ça doit être super simple voire risible mais je ne connais pas assez le PHP pour le materialiser ... En plus j enrage car j ai fais pas mal de programmation en divers langages ... donc au niveau algorythmie c est pas un souci, mais c est juste une histoire de "langage" lol !
Apparement pour "dire" d afficher ou non la DIV il faut agir sur son DISPLAY (none ou block suivant que la DIV soit ou pas affichée), ça je le comprend, mais j arrive pas a l écrire en fait. C est pourtant simple : un condition qui teste une variable et une action en fonction, le tout dans une boucle si besoin ... la base quoi !!!! lol

Merci pour vos lumières qui brillent sûrement plus que les miennes ! Amicalement, Chrys.