Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/11/2011, 14h35   #1
Membre du Club
 
Inscription : janvier 2010
Messages : 317
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 317
Points : 62
Points : 62
Par défaut Table html avec boucle test if dans un while

Bonjour.

Je suis incapable de placer mes résultat dans une table html.

Le but de ceci est d'indiquer en tête, la catégorie:
Code :
if($ligne['cat_name'] != $test) {
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php 
$result = mysqli_query($connexion,$resultat);
 
$test = "";
 
while (false != ($ligne = mysqli_fetch_assoc($result))){
 
		echo '<tabe>';
 
		if($ligne['cat_name'] != $test) {
 
        $test = $ligne['cat_name'];
 
				echo '<tr><td>'.$ligne['cat_name'].'</td></tr>';
 
		} 
 
				echo '<tr><td>'.$ligne['art_title'].'</td></tr>';
 
        echo '</table>';
 
}
?>
J'ai pensé aussi avec la clause WHERE séparer les catégories afin d'afficher qu'une seule fois le titre des catégories en entête. Mais faudrait que je m'arrange pour que toutes les catégories apparaisse avec leur contenu et ainsi éliminer les noms de catégories qui apparaissent à chaque contenu.

Categorie
- sujet
- sujet

categorie
- sujet
- sujet

De l'aide me serait utile. Merci.
__________________
dancom5 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 15h44   #2
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Bonjour,

Quelque chose comme ça :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$result = mysqli_query($connexion, $resultat);
 
$test = '';
$tableOuverte = false;
 
while($ligne = mysqli_fetch_assoc($result)) {
   if ($ligne['cat_name'] !== $test) {
      $test = $ligne['cat_name'];
      if ($tableOuverte) {
         echo '</table>';
         $tableOuverte = false;
      }
      echo '<table>', '<tr>', '<td>', $ligne['cat_name'], '</td>', '</tr>';
      $tableOuverte = true;
   }
   echo '<tr>', '<td>', $ligne['art_title'], '</td>', '</tr>';
}
if ($tableOuverte) {
   echo '</table>';
}
?>
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 16h03   #3
Membre du Club
 
Inscription : janvier 2010
Messages : 317
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 317
Points : 62
Points : 62
J'ai testé et ça fonctionne.

Pourquoi les virgules '','','' etc?

Citation:
Envoyé par rawsrc Voir le message
echo '<table>', '<tr>', '<td>', $ligne['cat_name'], '</td>', '</tr>';
$tableOuverte = true;
}
echo '<tr>', '<td>', $ligne['art_title'], '</td>', '</tr>';

?>[/code]
Merci pour la solution, c'est apprécié.
__________________
dancom5 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 16h09   #4
Membre du Club
 
Inscription : janvier 2010
Messages : 317
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 317
Points : 62
Points : 62
La première catégory s'inverses si je rafraichi la fenetre.
__________________
dancom5 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 18h27   #5
Membre du Club
 
Inscription : janvier 2010
Messages : 317
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 317
Points : 62
Points : 62
Par défaut solution en CSS

Remplacer les TABLE par du CSS :

Ca fonctionne parfaitement.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
$resultat = "
 
 
SELECT
  category.category_name,
  post.post_title
FROM
  category
INNER JOIN post ON post.category_id = category.category_id
WHERE
category.category_id = 1
ORDER BY
  category.category_name ASC
 
 
";
 
echo 'Nouveautés : <br><br>';
 
$result = mysqli_query($connexion,$resultat);
 
$cat = false;
 
while (false != ($ligne = mysqli_fetch_assoc($result))){
 
			if($ligne['category_name'] != $cat){
				$cat = $ligne['category_name'];
 
			echo '<div style="margin:3px;border:1px double red;clear:both;text-align:center;background-color:yellow;">'.$ligne['category_name'].'</div>';
 
			}
 
			echo '<div style="width:100px;margin-bottom:3px;float:left;"><div style="margin:3px;border:1px double red;clear:both;">'.$ligne['post_title'].'<br>test</div></div>';
 
}
__________________
dancom5 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h17.


 
 
 
 
Partenaires

Hébergement Web