CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Petit coup de main php svp

DangoDaikazoku
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://image.noelshack.com/fichiers/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://image.noelshack.com/fichiers/2018/27/6/1530973888-sans-titre.jpg

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

FrissonAnal
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>.

Message édité le 07 juillet 2018 à 17:44:54 par FrissonAnal
deepblue
deepblue
Niveau 16
09 juillet 2018 à 11:50:44

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

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment