<?php echo 'texte' ?> vide

Résolu/Fermé
Bonta Messages postés 36 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 7 février 2013 - 29 oct. 2012 à 15:38
Blunderer Messages postés 273 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 6 décembre 2012 - 29 oct. 2012 à 16:36
Bonjour,

Je suis entrain de créer une base de site internet dans lequel j'ai un formulaire (une simple case a remplir) mais je ne parviens pas a afficher le résultat de ma requête SQL. la page est tout bêtement vide et lorsque je remplace la variable 'ref1' dans la requête j'obtiens une erreur Ressource id #4
au secours ! :'(

1. code du Formulaire

<h1> Formulaire </h1>

<FORM ACTION="resultat.php" METHOD=POST>


<p>
REF: <INPUT TYPE=TEXT SIZE=10 NAME='ref1' VALUE=''> <BR>
<p>

<p>
<p>
<INPUT TYPE=SUBMIT VALUE='rechercher'>
</FORM>


ma variable se nomme donc 'ref1'


2.code de la page suivante

<?php
require ("connect.php");
$connexion = mysql_pconnect (SERVEUR,NOM,PASSE);
$resultat = mysql_query ("SELECT qte_depot1,qte_depot2,qte_depot3 FROM catalogue WHERE ref='ref1' AND depot1 <> 0 OR ref='ref1' AND depot2 <>0 OR ref='ref1' AND depot3 <> 0 ", $connexion);

// si résultat -> on affiche.
if ($resultat)
while ($r = mysql_fetch_array($resultat))
{
echo $resultat;
}
else
{
echo "<B>erreur dans l'execution de la requete.</B><BR>";
echo "<B>message de MySQL:</B>" . mysql_error($connexion);
}
?>

4 réponses

Utilisateur anonyme
29 oct. 2012 à 15:43
Bonjour

Ta variable $resultat est une ressource mysql, tu ne peux pas afficher son contenu avec echo.
Par contre, $r est un tableau qui contient les champs demandés dans ta requête, tu peux donc faire
echo $r['qte_depot1'],' ',$r['qte_depot1'], etc...
0
Bonta Messages postés 36 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 7 février 2013 1
Modifié par Bonta le 29/10/2012 à 16:08
Oui effectivement c'est à cela que sert la ligne while ($r = mysql_fetch_array($resultat)) bete erreur de ma part.

Merci bcp

Cependant cela ne fonctionne toujours pas... Enfin oui et non. Cela fontionne pas avec 'ref1' mais lorsque je met une valeur fixe (correspondant a ma base de données) oui.
J'ai lu que cela pouvais provenir de la désactivation des variables globales je teste et reviens sur ce topic(en espérant que cela puisse aider d'autres)

Maj: Cela ne fonctionne pas. Peut être est-ce lié au fait que j'essayes d'utiliser ma variable globale directement dans ma requête sql
0
Bonta Messages postés 36 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 7 février 2013 1
29 oct. 2012 à 16:19
Le problème provenais bien le la. En espérant que cela puisse aider d'autre utilisateurs voici un bout du cote mis à jour:

//SI LA CONNEXION EST OK -> REQUETE
$variable = $_POST['ref1'];
$resultat = mysql_query ("SELECT qte_depot1,qte_depot2,qte_depot3 FROM catalogue WHERE ref='$variable' AND depot1 <> 0 OR ref='$variable' AND depot2 <>0 OR ref='$variable' AND depot3 <> 0 ", $connexion);

// si résultat -> on affiche.
if ($resultat)
while ($r = mysql_fetch_array($resultat))
{
echo $r['qte_depot1'],$r['qte_depot2'],$r['qte_depot3'];
}
else
{
echo "<B>erreur dans l'execution de la requete.</B><BR>";
echo "<B>message de MySQL:</B>" . mysql_error($connexion);
}

J'ai ajouté $variable = $_POST['ref1']; dans la seconde ligne et édité ma requête en utilisant '$variable'
Cela fonctionne. encore merci à toi père ;-)
0
Blunderer Messages postés 273 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 6 décembre 2012 83
29 oct. 2012 à 16:36
Si possible met résolu :)
Merci ;)
0