Bonjour,
Merci tout d'abord pour cette mine d'informations qui m'a souvent permis de me tirer d'affaire.
J'ai un problème pour récupérer mes enregistrements dans mes tables avec 'SELECT * FROM table', mon but étant de disposer d'un script qui me permette d'afficher le contenu d'une table sans la connaitre. Je souhaite afficher le couple nom du champ et valeur dans un tableau. J'ai résolu une bonne parti du problème, sauf qu'il me manque systématiquement toujours le premier enregistrement de chaque table interrogée. Voici mon script si quelqu'un voit mon erreur (peut-être qu'il n'y en a qu'une )
J'ai retiré les parties gestion d'erreur qui me paraissent pas concernées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
36
37
38
39
40
41 $connexion = connexion(SERVEUR, NOM, PASSE); $requete = "SELECT * FROM " . $_GET['table'] .""; $resultat = mysql_query($requete,$connexion); // controle la présence d'enregistrement dans la table if (!mysql_fetch_assoc($resultat)) { echo '<font size="+1"><br>IL n\'y a pas d\'enregistrements dans la table'.$_GET['table'].'</font>'; exit; } else { echo '<h2>La table '.$_GET['table'].' contient les enregistrements suivants :</h2>'; } // Création d'un tableau des méta données de la colonne $i = 0; while ($i < mysql_num_fields($resultat)) { $meta = mysql_fetch_field($resultat, $i); $nomChamp[$i] = $meta->name; $i++; } // traitement de la requete, récupération des valeurs enregistrées // et affichage des couples NOM de CHAMP/VALEURS $i=0; echo '<table width="90%" border="1" cellpadding="2" cellspacing="1"><col width="220" valign="top">'; while ($ligne = mysql_fetch_assoc($resultat)) { foreach ($nomChamp as $value) { echo '<tr><td>'.$nomChamp[$i].'</td><td>'.$ligne[$value].'</td></tr>'; $i++; if (mysql_num_fields($resultat)==$i) { $i = 0; echo '</table><br><hr align="left" size="3" color="b50000"><br>'; echo '<table width="90%" border="1" cellpadding="2" cellspacing="1"><col width="250" valign="top">'; } } } echo '</table>';
Je suis débutant donc vous avez le droit de rigoler pour mon usine à gaz . J'utilise PHP4.4.2/MySQL4.1 le tout sous XP Pro avec Apache 1.3.34 et c'est destiné à être hébergé dans les pages persos de Free.
Merci d'avance pour vos coneils éclairés.
Phil "Vecine"
Partager