Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Retour PHP dans Tableau html

7 réponses
Avatar
abdulo
Bonjour,

je fais une requete dans un espace admin pour afficher toutes demandes envoyes par formulaire

je voudrais un affichage des données a l'aide d'un tableau or j'ai si j'ai bien un tableau j'ai un <th>
qui revient a chaque fois et les cellules ne pas harmonisées...

Je voudrais bien un petit coup de main ...

SVP

merci d'avance

voici le code :

<?php
$liaison = mysql_connect("localhost", "root", "root");
mysql_select_db("base");
$sql = "SELECT * FROM table";
$demandes = mysql_query($sql);
?>

<!doctype html>
<html lang=fr>
<head>
<meta charset=utf-8 />
<title>Demandes :</title>
<link href="../CSS/feuilleStyle.css" rel="stylesheet" type="text/css" />

</head>
<body>

<div id="listedemande">
<h1>Liste des demandes</h1>
<?php while (($demande = mysql_fetch_assoc($demandes)) !== false): ?>

<table>
<tr>
<th>ID</th>
<th>Nom</th>
<th>Prénom</th>
<th>Société</th>
<th>Adresse</th>
<th>Code Postal</th>
<th>Ville</th>
<th>Courriel</th>
<th>Tel</th>
<th>Choix</th>
<th>Message</th>
<th>Suppression</th>
</tr>

<tr>
<td><?php echo $demande["id"]; ?></td>
<td><a href="modification.php?id=<?php echo $demande["id"]; ?>"><?php echo $demande["nom"]; ?></a></td>
<td><?php echo $demande["prenom"]; ?></td>
<td><?php echo $demande["societe"]; ?></td>
<td><?php echo $demande["adresse"]; ?></td>
<td><?php echo $demande["cp"]; ?></td>
<td><?php echo $demande["ville"]; ?></td>
<td><?php echo $demande["courriel"]; ?></td>
<td><?php echo $demande["tel"]; ?></td>
<td><?php echo $demande["choix"]; ?></td>
<td><?php echo $demande["message"]; ?></td>
<td><a href="suppression.php?id=<?php echo $demande["id"]; ?>">
X</a></td>
</tr>
</table>


<?php endwhile; ?>

</div>
Inserer nouveau contact :
<a href="insertion.php">Insertion</a><br/>
<br/>
<p>Pour <b>modifier un contact</b>, cliquer sur le nom correspondant</p>
</body>
</html>

<?php
mysql_close($liaison);
?>

7 réponses

Avatar
Olivier Miakinen
Bonjour,

Le 14/10/2011 15:56, abdulo a écrit :

je fais une requete dans un espace admin pour afficher toutes demandes envoyes
par formulaire

je voudrais un affichage des données a l'aide d'un tableau or j'ai si j'ai bien
un tableau j'ai un <th>
qui revient a chaque fois et les cellules ne pas harmonisées...

Je voudrais bien un petit coup de main ...



Si j'ai bien compris la question, le problème est que toute ta table
est à l'intérieur de la boucle while alors qu'il faudrait n'y mettre
qu'un seul <tr>...</tr> avec les <td> dedans.

J'en profite pour te signaler d'autres problèmes potentiels.

<?php
$liaison = mysql_connect("localhost", "root", "root");



J'espère que ce n'est pas ton vrai mot de passe qui est indiqué ici. Si
c'est le vrai, il est temps de le changer maintenant que tu l'as publié
(d'autant plus qu'il est plutôt facile à trouver).

mysql_select_db("base");
$sql = "SELECT * FROM table";



Quoique ma remarque serait plus en charte sur f.c.a.sgbd (terme qui ne
te dit peut-être rien vu que tu passes par une passerelle web pour
accéder à f.c.m.php), il est généralement recommandé d'éviter le '*'
dans les requêtes autres que celles de test : mets plutôt la liste des
attributs cherchés.

$demandes = mysql_query($sql);
?>

<!doctype html>



C'est du HTML5 en syntaxe HTML. J'allais te conseiller d'écrire DOCTYPE
en majuscules, mais apparemment c'est correct quelle que soit la casse.

<html lang=fr>
<head>
<meta charset=utf-8 />



Attention : le « / » de fin est une syntaxe XML. À éviter en HTML.

<title>Demandes :</title>
<link href="../CSS/feuilleStyle.css" rel="stylesheet" type="text/css" />



Idem.


</head>
<body>

<div id="listedemande">
<h1>Liste des demandes</h1>
<?php while (($demande = mysql_fetch_assoc($demandes)) !== false): ?>



C'est cette ligne qu'il faudrait déplacer à l'endroit du (*) plus loin.

Note qu'en outre tu aurais dû tester que $demandes est correct (c'est-
à-dire que mysql_query a fonctionné) avant les mysql_fetch_assoc.

<table>
<tr>
<th>ID</th>
<th>Nom</th>
<th>Prénom</th>
<th>Société</th>
<th>Adresse</th>
<th>Code Postal</th>
<th>Ville</th>
<th>Courriel</th>
<th>Tel</th>
<th>Choix</th>
<th>Message</th>
<th>Suppression</th>
</tr>



(*)

<tr>
<td><?php echo $demande["id"]; ?></td>
<td><a href="modification.php?id=<?php echo $demande["id"]; ?>"><?php echo
$demande["nom"]; ?></a></td>
<td><?php echo $demande["prenom"]; ?></td>
<td><?php echo $demande["societe"]; ?></td>
<td><?php echo $demande["adresse"]; ?></td>
<td><?php echo $demande["cp"]; ?></td>
<td><?php echo $demande["ville"]; ?></td>
<td><?php echo $demande["courriel"]; ?></td>
<td><?php echo $demande["tel"]; ?></td>
<td><?php echo $demande["choix"]; ?></td>
<td><?php echo $demande["message"]; ?></td>
<td><a href="suppression.php?id=<?php echo $demande["id"]; ?>">
X</a></td>
</tr>



(**)

</table>


<?php endwhile; ?>



La ligne ci-dessus doit être déplacée à l'endroit des (**)

</div>



Ok.

Inserer nouveau contact :
<a href="insertion.php">Insertion</a><br/>
<br/>



Tiens ? On dirait que c'est encore un changement en HTML5 par rapport
aux précédentes versions : avant tu n'aurais pas eu le droit d'insérer
du texte directement sans le mettre dans un élément de type bloc. Bon,
rien à dire ici, donc.

<p>Pour <b>modifier un contact</b>, cliquer sur le nom correspondant</p>
</body>
</html>

<?php
mysql_close($liaison);
?>



Cordialement,
--
Olivier Miakinen
Avatar
Y a personne
Le 14/10/2011 15:56, abdulo a écrit :
Bonjour,

je fais une requete dans un espace admin pour afficher toutes demandes envoyes
par formulaire

je voudrais un affichage des données a l'aide d'un tableau or j'ai si j'ai bien
un tableau j'ai un<th>
qui revient a chaque fois et les cellules ne pas harmonisées...

Je voudrais bien un petit coup de main ...

SVP

merci d'avance

voici le code :

<?php
$liaison = mysql_connect("localhost", "root", "root");
mysql_select_db("base");
$sql = "SELECT * FROM table";
$demandes = mysql_query($sql);
?>

<!doctype html>
<html lang=fr>
<head>
<meta charset=utf-8 />
<title>Demandes :</title>
<link href="../CSS/feuilleStyle.css" rel="stylesheet" type="text/css" />

</head>
<body>

<div id="listedemande">
<h1>Liste des demandes</h1>
<?php while (($demande = mysql_fetch_assoc($demandes)) !== false): ?>

<table>
<tr>
<th>ID</th>
<th>Nom</th>
<th>Prénom</th>
<th>Société</th>
<th>Adresse</th>
<th>Code Postal</th>
<th>Ville</th>
<th>Courriel</th>
<th>Tel</th>
<th>Choix</th>
<th>Message</th>
<th>Suppression</th>
</tr>

<tr>
<td><?php echo $demande["id"]; ?></td>
<td><a href="modification.php?id=<?php echo $demande["id"]; ?>"><?php echo
$demande["nom"]; ?></a></td>
<td><?php echo $demande["prenom"]; ?></td>
<td><?php echo $demande["societe"]; ?></td>
<td><?php echo $demande["adresse"]; ?></td>
<td><?php echo $demande["cp"]; ?></td>
<td><?php echo $demande["ville"]; ?></td>
<td><?php echo $demande["courriel"]; ?></td>
<td><?php echo $demande["tel"]; ?></td>
<td><?php echo $demande["choix"]; ?></td>
<td><?php echo $demande["message"]; ?></td>
<td><a href="suppression.php?id=<?php echo $demande["id"]; ?>">
X</a></td>
</tr>
</table>


<?php endwhile; ?>

</div>
Inserer nouveau contact :
<a href="insertion.php">Insertion</a><br/>
<br/>
<p>Pour<b>modifier un contact</b>, cliquer sur le nom correspondant</p>
</body>
</html>

<?php
mysql_close($liaison);
?>



et si tu descendais la ligne <?php while (($demande =... en dessous du
premier </tr>
et que tu remontais ton <?php endwhile; ?> au dessus du </table>
Avatar
Olivier Miakinen
Bonjour,

Le 15/10/2011 21:18, abdulo a écrit :

[citation intégrale, très très longue, signature comprise]





:-(

Voilà ce que je vais regretter le plus de la démodération de ce forum.

merci pour ton aide simplement j'aurais besoin de precisions : quand tu dis
mettre a la place des (*) et des (**) c'est a dire a la fin de ces sections ?



Si tu avais lu ce que j'écrivais au lieu de le porcinographier, tu
aurais vu que je répondais à ta question dès le tout début de ma
réponse, et que mes explications détaillées avec (*) et (**) n'étaient
que censées l'illustrer (tout en signalant d'autres problèmes).

Cordialement,
--
Olivier Miakinen
Avatar
Olivier Miakinen
Le 15/10/2011 13:52, Y a personne a écrit :

[citation intégrale]





:-(

Pour toi et pour abdulo :
<http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html&gt;
Merci.

et si tu descendais la ligne <?php while (($demande =... en dessous du
premier </tr>
et que tu remontais ton <?php endwhile; ?> au dessus du </table>



Oui, voilà, c'est exactement la réponse que je faisais avant-hier.

Cordialement,
--
Olivier Miakinen
Avatar
Pascal Poncet
Le 15/10/2011 21:18, abdulo a écrit :
Olivier Miakinen a écrit le 14/10/2011 à 17h43 :



@Olivier: curieux, je n'ai pas ton message dans le fil ???

--
Cordialement,
Pascal
Avatar
Olivier Miakinen
Le 16/10/2011 10:34, Pascal Poncet a écrit :
Le 15/10/2011 21:18, abdulo a écrit :
Olivier Miakinen a écrit le 14/10/2011 à 17h43 :



@Olivier: curieux, je n'ai pas ton message dans le fil ???



<news:j79lak$1sov$
<http://al.howardknight.net/msgid.cgi?ID1879736400&gt;

Cordialement,
--
Olivier Miakinen
Avatar
abdulo
Olivier Miakinen a écrit le 14/10/2011 à 17h43 :
Bonjour,

Le 14/10/2011 15:56, abdulo a écrit :

je fais une requete dans un espace admin pour afficher toutes demandes envoyes
par formulaire

je voudrais un affichage des données a l'aide d'un tableau or j'ai si
j'ai bien
un tableau j'ai un <th>
qui revient a chaque fois et les cellules ne pas harmonisées...

Je voudrais bien un petit coup de main ...




Si j'ai bien compris la question, le problème est que toute ta table
est à l'intérieur de la boucle while alors qu'il faudrait n'y
mettre
qu'un seul <tr>...</tr> avec les <td> dedans.

J'en profite pour te signaler d'autres problèmes potentiels.

<?php
$liaison = mysql_connect("localhost", "root",
"root");




J'espère que ce n'est pas ton vrai mot de passe qui est indiqué
ici. Si
c'est le vrai, il est temps de le changer maintenant que tu l'as publié
(d'autant plus qu'il est plutôt facile à trouver).

mysql_select_db("base");
$sql = "SELECT * FROM table";




Quoique ma remarque serait plus en charte sur f.c.a.sgbd (terme qui ne
te dit peut-être rien vu que tu passes par une passerelle web pour
accéder à f.c.m.php), il est généralement
recommandé d'éviter le '*'
dans les requêtes autres que celles de test : mets plutôt la liste
des
attributs cherchés.

$demandes = mysql_query($sql);
?>

<!doctype html>




C'est du HTML5 en syntaxe HTML. J'allais te conseiller d'écrire DOCTYPE
en majuscules, mais apparemment c'est correct quelle que soit la casse.

<html lang=fr>
<head>
<meta charset=utf-8 />




Attention : le « / » de fin est une syntaxe XML. À
éviter en HTML.

<title>Demandes :</title>
<link href="../CSS/feuilleStyle.css" rel="stylesheet"
type="text/css" />




Idem.


</head>
<body>

<div id="listedemande">
<h1>Liste des demandes</h1>
<?php while (($demande = mysql_fetch_assoc($demandes)) !== false): ?>




C'est cette ligne qu'il faudrait déplacer à l'endroit du (*) plus
loin.

Note qu'en outre tu aurais dû tester que $demandes est correct (c'est-
à-dire que mysql_query a fonctionné) avant les mysql_fetch_assoc.

<table>
<tr>
<th>ID</th>
<th>Nom</th>
<th>Prénom</th>
<th>Société</th>
<th>Adresse</th>
<th>Code Postal</th>
<th>Ville</th>
<th>Courriel</th>
<th>Tel</th>
<th>Choix</th>
<th>Message</th>
<th>Suppression</th>
</tr>




(*)

<tr>
<td><?php echo $demande["id"]; ?></td>
<td><a href="modification.php?id=<?php echo
$demande["id"]; ?>"><?php echo
$demande["nom"]; ?></a></td>
<td><?php echo $demande["prenom"]; ?></td>
<td><?php echo $demande["societe"]; ?></td>
<td><?php echo $demande["adresse"]; ?></td>
<td><?php echo $demande["cp"]; ?></td>
<td><?php echo $demande["ville"]; ?></td>
<td><?php echo $demande["courriel"]; ?></td>
<td><?php echo $demande["tel"]; ?></td>
<td><?php echo $demande["choix"]; ?></td>
<td><?php echo $demande["message"]; ?></td>
<td><a href="suppression.php?id=<?php echo
$demande["id"]; ?>">
X</a></td>
</tr>




(**)

</table>


<?php endwhile; ?>




La ligne ci-dessus doit être déplacée à l'endroit
des (**)

</div>




Ok.

Inserer nouveau contact :
<a href="insertion.php">Insertion</a><br/>
<br/>




Tiens ? On dirait que c'est encore un changement en HTML5 par rapport
aux précédentes versions : avant tu n'aurais pas eu le droit
d'insérer
du texte directement sans le mettre dans un élément de type bloc.
Bon,
rien à dire ici, donc.

<p>Pour <b>modifier un contact</b>, cliquer sur le nom
correspondant</p>
</body>
</html>

<?php
mysql_close($liaison);
?>




Cordialement,
--
Olivier Miakinen


Merci pour ton aide j'ai réussi à avoir un tableau lisible pour mon espace admin' !
Pour les noms de la base et de la table ne t'inquiete pas c'etait pour l'exemple !
Par contre pour vérifier mysql query il faudrait faire une autre boucle ou une condition suffit ?

En tout cas merci pour le tuyau, j'avais pas tout pigé la premiere fois vu que j'etais rentré tard et que j'etais tombé sur ton message avant d'aller au lit...

PS je suis debutant sur PHP ...

longue vie à GNT