Comparaison 2 champs d'un array
Arceus
-
Arceus -
Arceus -
Bonjour,
Je bloque depuis plusieurs heures sur mon tableau. Je cherche à mettre dynamiquement une ligne de ths entre les catégories d'un tableau récupéré d'une BDD
Mieux qu'un long discours, voici la partie incriminée :
Le tableau est bien récuperé, mais je n'arrive pas sur ma condition, du coup il y a plus de 100 lignes à la suite.
Si quelqu'un a une idée, cela me serait d'une aide très précieuse. Merci d'avance.
Je bloque depuis plusieurs heures sur mon tableau. Je cherche à mettre dynamiquement une ligne de ths entre les catégories d'un tableau récupéré d'une BDD
Mieux qu'un long discours, voici la partie incriminée :
<table class="recap"> <?php do { if ($a['ID_categorie'] != ++$a['ID_categorie'] ) { echo '<tr><th>Catégorie</th><th>Module</th><th>Je maitrise</th><th>Ancienneté</th></tr>';} ?> <tr> <td><?php $ID_categorie = $a['ID_categorie']; $cherch_cat = mysql_query(" SELECT * FROM categorie WHERE ID_categorie = '$ID_categorie' ") or die(mysql_error()); $found_cat = mysql_fetch_assoc($cherch_cat); $categorie = $found_cat['Nom']; $ID_section= $found_cat['ID_section']; echo '<b>'.$categorie.'</b>'; ?></td> <td><?php echo $a['Nom']; ?></td> <td><input type="radio" name="ok"></td> <td><input type="text" name="ancienneté"></td> </form> </tr> <? } while ($a = mysql_fetch_assoc($cherch_formation)); ?> </table>
Le tableau est bien récuperé, mais je n'arrive pas sur ma condition, du coup il y a plus de 100 lignes à la suite.
Si quelqu'un a une idée, cela me serait d'une aide très précieuse. Merci d'avance.
A voir également:
- Comparaison 2 champs d'un array
- Supercopier 2 - Télécharger - Gestion de fichiers
- 2 ecran pc - Guide
- Faire 2 colonnes sur word - Guide
- Whatsapp 2 - Guide
- Word numéro de page 1/2 - Guide
3 réponses
Salut,
J'ai rien pour tester mon script, mais je te laisse tenter ça:
Pour être sur d'avoir bien compris, tu as des entrées comportant un module et une catégorie, et tu veux insérer un th dès que la catégorie change ?
J'ai rien pour tester mon script, mais je te laisse tenter ça:
<table class="recap"> <?php $last_row = false; while($a = mysql_fetch_assoc($cherch_formation)){ if(!$last_row){ $last_row = $a; continue; } if($last_row['ID_categorie'] != $a['ID_categorie']){ echo '<tr><th>Catégorie</th><th>Module</th><th>Je maitrise</th><th>Ancienneté</th></tr>'; } ?> <tr> <td><?php echo $a['Nom']; ?></td> <td><input type="radio" name="ok"></td> <td><input type="text" name="ancienneté"></td> </form> </tr> <?php } ?> </table>
Pour être sur d'avoir bien compris, tu as des entrées comportant un module et une catégorie, et tu veux insérer un th dès que la catégorie change ?
Précision : il ne trie correctement que la premiere partie, et ensuite les compte tous comme differents. (Horreur un double post)
Pour éviter le double post je vais écrire en commentaire : Ton script a bien compris ce qu'on lui demandais seulement il ne l'a fait que pour la premiere partie. Par contre j'ai changé ton if en while parceque le if faisait sauter la premiere ligne. Je patauge, j'ai essayé des modifications à l'instinct mais rien ne marche. Problèmatique.
J'ai changer d'approche et utiliser plusieurs requetes. Ca sera beaucoup plus lourd mais ca marche :
Merci d'avoir essayé en tout cas.
$cherch_section = mysql_query( " SELECT * FROM sections ORDER BY ID ") or die (mysql_error()); $ID_sect= 1; $ID_cat= 1; while($s = mysql_fetch_assoc($cherch_section)){ $cherch_categorie = mysql_query(" SELECT * FROM categorie WHERE ID_section = '$ID_sect' ORDER BY ID_section ") or die (mysql_error()); $ID_sect++; ?> <div class="paragraphes"> <h3><?php echo $s['Nom']; ?></h3> <table class="recap"> <tr><th>Catégorie</th><th>Module</th><th>Je maitrise</th><th>Ancienneté</th></tr> <?php while($s = mysql_fetch_assoc($cherch_categorie)){ $cherch_formation = mysql_query(" SELECT * FROM module WHERE ID_categorie = '$ID_cat' ORDER BY ID_categorie ") or die(mysql_error()); $ID_cat++; while($a = mysql_fetch_assoc($cherch_formation)){ ?> <tr><td><?php $ID_categorie= $a['ID_categorie']; $cherch_cat = mysql_query(" SELECT * FROM categorie WHERE ID_categorie = '$ID_categorie' ") or die(mysql_error()); $found_cat = mysql_fetch_assoc($cherch_cat); $categorie = $found_cat['Nom']; $ID_section= $found_cat['ID_section']; echo '<b>'.$categorie.'</b>'; ?></td> <td><?php echo $a['Nom']; ?></td> <td><input type="radio" name="ok" ></td> <td><input type="text" name="ancienneté"></td> </form> </tr> <? ;}?> <tr><th colspan="4"><hr /></th></tr> <?php;} ?> </table></div><p/> <?php;} mysql_close();
Merci d'avoir essayé en tout cas.