Afficher table entiere

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Afficher table entiere

par Invité » 28 mars 2006, 10:22

c'est absolument ce que je voulais.

Merci beaucoup !!!
ca va m simplifier la vie et gagner du temps pour la mise en place.

par jpaul » 28 mars 2006, 10:12

Oups !!!
excuses, il faut remplacer mysql_num_fields par mysql_field_name :
echo mysql_num_fields($result,$j); 
par
echo mysql_field_name($result,$j); 
C'est une fonction qui m'avait servi a de la mise au point et il y a du y avoir une modif (erreur de copier coller probablement) et depuis je n'ai pas réutilisé... :oops:

He mais je viens de voir que j'avais bien mis mysql_field_name, c'est pas moi qui ai fait l'erreur de copier coller :lol: : ça me rassure ;)

par Cyrano » 28 mars 2006, 10:07

En d'autres termes, le paramètre que tu envoies à ta fonction est une requête SQL qui n'a pas été exécutée. Donc mysql_num_field() reçoit un paramètre qui n'est pas la ressource attendue, c'est à dire un retour de MySQL mais la requête SQL diretement dont elle ne peut rien faire :arrow: erreur.

par Invité » 28 mars 2006, 10:06

ok je modifie donc et je l avis fait car je me disais bien qu'il manquait qqch .

donc voici mon code de visubdd.php

Code : Tout sélectionner

<?php //on protege la page avce le script de securite $cfgProgDir = 'phpSecurePages/'; include($cfgProgDir . "secure.php"); // on inclut les variables pour lees pages sécurisées include ('variable.php'); //on inclut les fonctiosn require('fonctions.php'); $table=$_GET['table']; //affichetable($table); $req="SELECT * FROM ".$table; $result =mysql_query($req); dump_result($result); ?>
et voila fonctions.php

Code : Tout sélectionner

function dump_result($result) { echo "<TABLE BORDER=1>"; echo "<TR>"; $j=0; // Affichage des titres de colonnes while ($j < mysql_num_fields($result)) { echo "<TD>"; echo mysql_num_fields($result,$j); echo "</TD>"; $j++; } echo "</TR>"; // Affichage du contenu while($tableau=mysql_fetch_row($result)) { echo "<TR>"; while (list($key, $val) = each($tableau)) { echo "<TD>"; echo $val; echo "</TD>"; } echo "</TR>"; } echo "</TABLE>"; }

voila l'erreur qu'il me sort
Warning: Wrong parameter count for mysql_num_fields() in d:\wwwroot\1024\fonctions.php on line 57
et ca seulmeent pour les entetes et pas les valeurs de la table .

je cherche mais si vous avez une idee elle m'interresses.


Merci

par jpaul » 28 mars 2006, 09:47

Tu n'a pas fai une requête mysql !!!
$result="SELECT * FROM ".$table; 
ca affecte la variable result !!!

A ta place je ferais :
$req="SELECT * FROM ".$table; 
$result=mysql_query ($req) ; 
Pour ne pas s'y perdre, vaut mieux appeler une requête req et un resultat result, autrement c'est le meilleurs moyen pour s'y perdre ;)

par skyangel » 28 mars 2006, 09:45

sinon j'ai modifie la fonction tel que la suite
function dump_result($result) 
         { 
		 $req=mysql_query ($result) ;
         echo "<TABLE BORDER=1>"; 
         echo "<TR>"; 
         $j=0; 
         // Affichage des titres de colonnes 
         while ($j < mysql_num_fields($req)) 
                { 
                echo "<TD>"; 
                echo mysql_num_fields($req,$j); 
                echo "</TD>"; 
                $j++; 
                } 
         echo "</TR>"; 
         // Affichage du contenu 
         while($tableau=mysql_fetch_row($req)) 
               { 
               echo "<TR>"; 
               while (list($key, $val) = each($tableau)) 
                      { 
                      echo "<TD>"; 
                      echo $val; 
                      echo "</TD>"; 
                      } 
               echo "</TR>"; 
               } 
         echo "</TABLE>"; 
         }

la le contenu des table s'affiche mais pas les entetes.
si ca peut vousq aidert

par skyangel » 28 mars 2006, 09:43

ok

code de la page de la requete (visubdd.php )
<?php 
//on protege la page avce le script de securite
		$cfgProgDir =  'phpSecurePages/';
		include($cfgProgDir . "secure.php");
// on inclut les variables pour lees pages sécurisées

include ('variable.php');
//on inclut les fonctiosn 
require('fonctions.php');
$table=$_GET['table'];
//affichetable($table);
$result="SELECT * FROM ".$table;
dump_result($result);
?>
code de la fonctions (fonctions.php)
function dump_result($result) 
         { 
         echo "<TABLE BORDER=1>"; 
         echo "<TR>"; 
         $j=0; 
         // Affichage des titres de colonnes 
         while ($j < mysql_NumFields($result)) 
                { 
                echo "<TD>"; 
                echo mysql_FieldName($result,$j); 
                echo "</TD>"; 
                $j++; 
                } 
         echo "</TR>"; 
         // Affichage du contenu 
         while($tableau=mysql_fetch_row($result)) 
               { 
               echo "<TR>"; 
               while (list($key, $val) = each($tableau)) 
                      { 
                      echo "<TD>"; 
                      echo $val; 
                      echo "</TD>"; 
                      } 
               echo "</TR>"; 
               } 
         echo "</TABLE>"; 
         } 
merci de votre aide en tout cas

par Cyrano » 28 mars 2006, 09:41

Alors fais voir le code à partir de la requête jusqu'à la ligne où tu essayes d'afficher qu'on puisse détecter une erreur éventuelle.

par skyangel » 28 mars 2006, 09:39

oui il me sort toute ma table .

par Cyrano » 28 mars 2006, 09:38

As-tu vérifié ta requête générée en essayant de l'exécuter directement dans phpMyAdmin par exemple ?

par Invité » 28 mars 2006, 09:36

ma requete ;
$result="SELECT * FROM ".$table;
quand je fais un echo^$result;

il me dit select * from alerte .


donc elle est correcte pour moi :)

par skyangel » 28 mars 2006, 09:35

ne serait ce pas mysql_num_fields ???

par Cyrano » 28 mars 2006, 09:34

ça sent l'erreur au niveau de l'exécution de la requête : fais donc voir la requête SQL que tu utilises ?

par skyangel » 28 mars 2006, 09:33

Ok merci j'ai testé
et voila mon erreur

Code : Tout sélectionner

Warning: mysql_numfields(): supplied argument is not a valid MySQL result resource in d:\wwwroot\1024\fonctions.php on line 54

par jpaul » 28 mars 2006, 09:25

J'ai été rechercher une fonction où j'affiche le contenu d'un result sous forme de tableau. Si ça peut t'aider :
function dump_result($result)
         {
         echo "<TABLE BORDER=1>";
         echo "<TR>";
         $j=0;
		 // Affichage des titres de colonnes
         while ($j < mysql_NumFields($result))
                {
                echo "<TD>";
                echo mysql_FieldName($result,$j);
                echo "</TD>";
                $j++;
                }
         echo "</TR>";
 		 // Affichage du contenu
         while($tableau=mysql_fetch_row($result))
               {
               echo "<TR>";
               while (list($key, $val) = each($tableau))
                      {
                      echo "<TD>";
                      echo $val;
                      echo "</TD>";
                      }
               echo "</TR>";
               }
         echo "</TABLE>";
         }