kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 19 oct. 2008 à 21:48
Salut Melo... le problème ne réside pas dans le fait que tu sois débutant mais dans l'utilité, ou non, de cette source qui au final n'en est pas une... ce code ne peut pas servir... d'une part parce qu'il n'a aucune utilité et d'autre part parce qu'il n'est pas fonctionnel... .. .
Déja tu ne dois pas passer par une super globale pour sélectionner ta table... la sélection de tes tables se fait au moment de ta requête et si tu veux changer de bdd à la volée fais le via une base de données tiers ou un fichier de conf mais pas via une variable $_POST... d'une part ces variables étant soumise par l'internaute ne sont pas des variables sûr et d'autre part ces variables sont volatile d'une page à l'autre tu perd ta valeur à moins de relancer une requète post via un socket ou de passer le nom de ta table dans l'url ce qui est encore pire... .. .
Bref c'est pas trop viable comme technique... sinon que ce passe t'il si on accède directement à ta page affichage selection (met error_reporting à E_ALL dans ton php.ini) à la limite stock le résultat en session si tu veux juste un stockage temporaire et que tu ne veux pas utiliser de fichier de conf ou autre... .. .
au passage...
while ($row mysql_fetch_row($result))>
while ($row = mysql_fetch_row($result))
echo ' <option value="'.$row[0].'">'.$row[0].'</option>'."\n";
echo '</select>';
mysql_free_result($result);
}
else echo 'impossible de lister les tables de la base '.$bdd;
Mais bon cette source ne sert malheureusement à rien... il faut poster des sources ayant un minimum d'utilité pour les autres développeur pas forcement des sources compliquée mais qui peuvent être reprise pour d'autres développement et là ça n'est pas le cas... .. .
@ tchaOo°
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 19 oct. 2008 à 17:36
t'as oublie de mettre un
or die(mysql_error());
a la place
melo8989
Messages postés2Date d'inscriptionmercredi 21 juin 2006StatutMembreDernière intervention 6 décembre 2008 19 oct. 2008 à 17:21
Bonjours, Comme je vous l'ai dit je suis débutant.
en se qui concerne l'affichage c'est juste pour retrouver le nom de la base sélectionner. après on fait se que l'on veut de la valeur...(c'est juste un exemple).
en se qui concerne le if :
effectivement il ne sert à rien puisqu'il est déjà intégré à la page de connexion.
je le supprime ^^ merci
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 19 oct. 2008 à 16:49
# if (!$result) {
# echo "Erreur DB, impossible de lister les tables\n";
# echo 'Erreur MySQL : ' . mysql_error();
# exit;
# }
or die(mysql_error());
mouais... ca sert a rien, et c'est mal code.
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 19 oct. 2008 à 15:47
J'ai pas compris l'utilité là... je cherche mais je trouve pas... tu fais quoi une fois que tu l'a sélectionnée... .. ?
"$bdd" Ô_o
----
$test_page = $_POST['test']
et si $_POST['test'] n'est pas instancié... .. ?
Bref... code inutile... à la limite un snippet pour montrer comment lister les tables d'une bdd (et encore) mais surement pas une source... .. .
20 oct. 2008 à 09:02
19 oct. 2008 à 21:54
Et pour finir... parce que dire de vérifier si une variable est instanciée avant de l'utiliser c'est bien mais le montrer c'est mieux... .. .
if(isset($_POST['test']) && !empty($_POST['test']))
$test_page = $_POST['test'];
else
$test_page = 'aucune table sélectionné';
;o)
@ tchaOo°
19 oct. 2008 à 21:48
Déja tu ne dois pas passer par une super globale pour sélectionner ta table... la sélection de tes tables se fait au moment de ta requête et si tu veux changer de bdd à la volée fais le via une base de données tiers ou un fichier de conf mais pas via une variable $_POST... d'une part ces variables étant soumise par l'internaute ne sont pas des variables sûr et d'autre part ces variables sont volatile d'une page à l'autre tu perd ta valeur à moins de relancer une requète post via un socket ou de passer le nom de ta table dans l'url ce qui est encore pire... .. .
Bref c'est pas trop viable comme technique... sinon que ce passe t'il si on accède directement à ta page affichage selection (met error_reporting à E_ALL dans ton php.ini) à la limite stock le résultat en session si tu veux juste un stockage temporaire et que tu ne veux pas utiliser de fichier de conf ou autre... .. .
au passage...
while ($row mysql_fetch_row($result))>
while(($row = mysql_fetch_row($result)) !== false)
et d'ailleurs tu ne teste pas le retour de ta requête... .. .
$sql = 'SHOW TABLES FROM '.$bdd;
$result = mysql_query($sql);
if($result !== false)
{
echo '<select name="table" id="table">';
while ($row = mysql_fetch_row($result))
echo ' <option value="'.$row[0].'">'.$row[0].'</option>'."\n";
echo '</select>';
mysql_free_result($result);
}
else echo 'impossible de lister les tables de la base '.$bdd;
Mais bon cette source ne sert malheureusement à rien... il faut poster des sources ayant un minimum d'utilité pour les autres développeur pas forcement des sources compliquée mais qui peuvent être reprise pour d'autres développement et là ça n'est pas le cas... .. .
@ tchaOo°
19 oct. 2008 à 17:36
or die(mysql_error());
a la place
19 oct. 2008 à 17:21
en se qui concerne l'affichage c'est juste pour retrouver le nom de la base sélectionner. après on fait se que l'on veut de la valeur...(c'est juste un exemple).
en se qui concerne le if :
effectivement il ne sert à rien puisqu'il est déjà intégré à la page de connexion.
je le supprime ^^ merci
19 oct. 2008 à 16:49
# echo "Erreur DB, impossible de lister les tables\n";
# echo 'Erreur MySQL : ' . mysql_error();
# exit;
# }
or die(mysql_error());
mouais... ca sert a rien, et c'est mal code.
19 oct. 2008 à 15:47
"$bdd" Ô_o
----
$test_page = $_POST['test']
et si $_POST['test'] n'est pas instancié... .. ?
Bref... code inutile... à la limite un snippet pour montrer comment lister les tables d'une bdd (et encore) mais surement pas une source... .. .
@ tchaOo°