Se connecter

Informatique

Création de sites web

Sujet : Petit coup de main php svp
1
DangoDaikazoku
Niveau 10
07 juillet 2018 à 16:38:11

Je veux faire un tableau de 1 à 5000 ou la colonne change tous les 10 chiffres :

1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 7 18 19 20
21 22 23 24 25 26 27 28 29 30 ...

J'ai dans ma base de donnée 2 éléments à prendre en compte :
afficher la valeur de "fileID" (c'est mon incrémenteur) le tableau doit aller de 1 à 5000
"paymentCnt" (smallint(5)) qui a une valeur de 0.

Ce que je veux de particulier, c'est que chaque case ait initialement une couleur de fond en #40FF00 (vert)
Mais que si un fileID dont le paymentCnt est >= 1 alors je veux que le fond devienne rouge #FF0000

https://www.noelshack.com/2018-27-6-1530954774-valeur.png
Pour illustrer, tous les fileID de 1 a 5000 sont vert parce que paymentCnt == 0 mais 6, 10, 14 et 23 ont paymentCnt >= 0 donc la case devient rouge.

<?php
try
{
	$bdd = new PDO('mysql:host=localhost;dbname=ma_base;charset=utf8', 'user', '');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}

$reponse = $bdd->query('SELECT fileID, paymentCnt FROM ma_base LIMIT 0, 100');
$dispo = '<td bgcolor="#40FF00">';
$prit = '<td bgcolor=#FF0000">';
?>

<table><tr>

<?
while ($donnees = $reponse->fetch()){
	echo $dispo, '<a href="https://monsite.com/billetno/' . $donnees['fileID'] . '">' . $donnees['fileID'] . '</a></td>';
}

 /* Actuellement il va me mettre toutes les cases en vert... ($dispo)
 Je voudrais qu'il vérifie la valeur de chaque entrée de "$donnees['paymentCnt']". Si c'est = 0 il met en vert,
 Mais si "$donnees['paymentCnt']" = 1 je voudrais que ce soit le fond de la case en rouge.
 Et je voudrais aussi qu'il me créé une nouvelle colonne tous les 10 chiffres parce qu'actuellement tous les chiffres sont collés*/

?>


</tr></table>

<?
$reponse->closeCursor();
?>

J'ai ça comme début mais mes connaissances sont vraiment pas suffisantes...
https://www.noelshack.com/2018-27-6-1530973888-sans-titre.jpg

Quelqu'un pour me donner un coup de main svp ?

FrissonAnal
Niveau 10
07 juillet 2018 à 17:44:06

Salut,

pour le changement de la couleur de cellule, il suffit de faire une condition dans ta boucle pour tester la valeur de paymentCnt.
Quelqu'un chose du style:
if($donnees['paymentCnt'] == 0) { // utiliser ta variable $dispo } else { // utiliser ta variable $prit }

Ensuite, pour le retour à la ligne après tes dix cases: dans tableau html, les balises <tr> et </tr> représentent respectivement le début et la fin d'une ligne (et <td></td> représentent le début et la fin d'une cellule)
Donc en gros, une idée pas trop complexe serait de créer un compteur initialisé à 1, et à chaque fois que tu affiches une cellule (donc à chaque tour de ta boucle) tu augments ce compteur de 1.
Quand ce compteur devient divisible par 10 (c'est a dire que le reste de la division de ce nombre par 10 vaut 0, via l'opérateur %, appelé "modulo"), tu fermes ta ligne via un </tr> et tu en ré-ouvre une nouvelle via un <tr>.

deepblue
Niveau 13
09 juillet 2018 à 11:50:44

Changement de colonne ou de ligne ? Ce n'es pas clair.
fileID prend une valeur de 1 à 5000 ?

1
Sujet : Petit coup de main php svp
   Retour haut de page
Consulter la version web de cette page