[PHP]-erreur dans un affichage

Fermé
sophie26 Messages postés 25 Date d'inscription mercredi 17 janvier 2007 Statut Membre Dernière intervention 14 avril 2007 - 13 févr. 2007 à 14:55
sophie26 Messages postés 25 Date d'inscription mercredi 17 janvier 2007 Statut Membre Dernière intervention 14 avril 2007 - 13 févr. 2007 à 16:08
Bonjours à vous, voila j'ai un petit soucie pour afficher le contenue d'une table dans une sorte de menu déroulant.
Et donc logiquement j'ai une petite erreur. J'ai l'impression de ne peu être pas avoir totalement comprise les leçon données sur le net pour fair afficher un résultat.
Cependant je vous expose tout de meme mon probleme ^^.

<?
echo '<select size=1 name="cat">'."\n";
echo '<option value="-1">Que voulez vous supprimer :<option>'."\n";

// Récupération des informations triées par ordre alphabétique
$sql = "SELECT login, pwd FROM tbl_user ORDER BY login";
$ReqLog = mysql_query($sql, $connexion);

while ($resultat = mysql_fetch_row($ReqLog)) {
echo '<option value="'.$resultat[0].'">'.$resultat[1];
echo '</option>'."\n";
}

echo '</select>'."\n";
?>

erreur : warning : mysql_query() : supplied arguement is not a valid MySQL-Link ressource

J'espere avoir un petit coup de main ^^.
Cordialement sophie,
A voir également:

6 réponses

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
13 févr. 2007 à 15:07
Bonjour,

Bon, déjà, petit détail mais qui n'a rien à voir avec ton problème : dans le premier <option> de ta liste, ta balise de fermeture est mal formée. (<option> au lieu de </option>)

Sinon, il n'y a a priori pas de problème à ta façon de faire qui devrait renvoyer un résultat.
Reste une possibilité principale : un problème lors de l'exécution de la requête.

Pour essayer de le dépister, change cette ligne :
 $ReqLog = mysql_query($sql, $connexion);
et remplace-la par
 $ReqLog = mysql_query($sql, $connexion) or die(mysql_error());
Exécute ton script, et regarde si une erreur s'affiche. Si tu arrives à agir en conséquence, génial, sinon, reviens nous voir avec le détail de l'erreur :)

Xavier
0
sophie26 Messages postés 25 Date d'inscription mercredi 17 janvier 2007 Statut Membre Dernière intervention 14 avril 2007 9
13 févr. 2007 à 15:20
Cool je n'ai plus de message d'erreur, mais je n'ai rien qui s'affiche non plus :).
ors, un peu au dessus dans mon code j'ai pris la précotion de faire afficher le contenue de ma table très simplement afin de vérifié que la connection et que ma table n'est pas vide.

sophie,
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
13 févr. 2007 à 15:33
Ah ? Tiens, c'est bizarre... Il n'y a plus rien, donc il a bien fait le "die", mais sans avoir d'erreur mysql puisqu'il n'affiche plus rien...

Tu pourrais donner l'ensemble de ta page php ? (modifie les paramètres de connexion à la base de données, quand même, s'ils sont dessus)
0
sophie26 Messages postés 25 Date d'inscription mercredi 17 janvier 2007 Statut Membre Dernière intervention 14 avril 2007 9
13 févr. 2007 à 15:37
pardon c'est un petit peu le bazard sur ma page mais la voila.



Suppression d'un projet
<form action="actsupriuti.php" method='post'>
<table align="center" border="0">
<tr>
<td>Login :</td>
<td><input type="text" name="login" maxlength="250"></td>
</tr>
<tr>
<td>Password :</td>
<td><input type="password"name="pwd" maxlength="10"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Valider"><input type="reset" value="Annuler" ></td></td>

</tr>
</table>
</form>
<?PHP

include("bigconnexion.php");

$sql = 'SELECT login, pwd FROM tbl_user';
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
while($data = mysql_fetch_array($req))
{
echo $data['pseudo'];
echo "<br>";
echo '<b>Login</b>';
echo"<br>";
echo $data['login'];
echo '<br>';
echo '<b>Password</b>';
echo"<br>";
echo $data['pwd'] ;
echo '<br>';
}
mysql_close();
?>
<?
echo '<select size=1 name="cat">'."\n";
echo '<option value="-1">Que voulez vous supprimer :</option>'."\n";

$sql = "SELECT pseudo FROM tbl_user ";
$ReqLog = mysql_query($sql) or die(mysql_error());

while ($resultat = mysql_fetch_row($ReqLog)) {
echo '<option value="'.$resultat[0].'">'.$resultat[1];
echo '</option>'."\n";
}

echo '</select>'."\n";
?>


Comme tu peux le voir, j'ai commencer a fair un formulaire, car au début je voulais que l'utiliateur tape le login et le pass. C'est pour cela aussi que j'avais fait cette affichage trés simpliste du contenue de ma table.
Cependant la magie du web m'a conduit a tenter justement de faire tout afficher dans une zone de liste.

Par rapport à ta solution j'ai enlevé le $connect vu que j'utilise un includ pour les connections
Merci beaucoup pour ton aide xavier.
Cordialement sophie ( bientôt webmaster ^^ ),
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
13 févr. 2007 à 15:52
Ah, mais j'suis trop bête :)

Il faut faire attention à la cohérence entre tes requêtes et les champs que tu utilises ensuite.

Par exemple, dans ta première requête :
SELECT login, pwd FROM tbl_user

Tu utilises ensuite les champs
$data['pseudo'];
$data['login'];
$data['pwd'];

Or le champ 'pseudo' n'a pas élé sélectionné dans ta requête ! $data['pseudo'] n'existe donc pas.

De même plus bas :
SELECT pseudo FROM tbl_user

Tu utilises les champs :
$resultat[0]
$resultat[1]

Or ta requête ne renvoie qu'un seul champ par ligne, le champ "pseudo". $resultat[0] représente donc le pseudo, mais que peut représenter $resultat[1] ? Rien du tout, puisque la requête n'a pas de 2ème colonne.

Voilà... Par contre, cela n'avait pas l'air de pouvoir poser problème au début : tes requêtes ont changé !
0
sophie26 Messages postés 25 Date d'inscription mercredi 17 janvier 2007 Statut Membre Dernière intervention 14 avril 2007 9
13 févr. 2007 à 16:08
Merci beaucoup, j'ai l'impression que cela va aller mieux.
Sophie,
0