{MySQL} Afficher une information d'une table

Fermé
Cnedra - 14 janv. 2010 à 22:18
 cnedra - 15 janv. 2010 à 16:31
Bonjour,

je cherche à afficher le contenu d'un champ (une quantité en stock) d'une table en fonction de son nom de produit qui peut etre variable en entrée.

j'arrive pas a avoir cette information, quelqu'un pourrait'il m'aider

Voici mon code

<?php
$boutonradio="{radio0}";
$nomobjet="{nom_objet}";
$nomdepositaire="{nom_membre}";
$quantiter="{nb_objet}";

echo $boutonradio; echo $nomobjet; echo $nomdepositaire ;echo $quantiter; echo"<br>";

/*connexion bdd*/
$connexion = mysql_connect ($host, $user, "passworddb")or die ("connection bdd impossible" );
mysql_select_db ("mabase",$connexion);

/*operation de recup sur les stock actuel*/
$query='SELECT `nb_objet` FROM `matable` WHERE `matiere`=`$nomobjet`' ;

$dejaenstock=mysql_query($query,$connexion)or die ("result bdd impossible" );
$nbstock=mysql_fetch_array($dejaenstock);

echo "test select";
echo $nbstock[0];
echo $nbstock[1];
print_r($nbstock);

?>
A voir également:

5 réponses

Bonjour

$query='SELECT `nb_objet` FROM `matable` WHERE `matiere`=`$nomobjet`' ; 

Si tu mets $nomobjet entre accents graves `` comme `matiere`, alors mysql le prend pour un nom de champ. Pour qu'il le prenne comme une donnée, il faut le mettre entre apostrophes ' :
$query='SELECT `nb_objet` FROM `matable` WHERE `matiere`='$nomobjet'' ; 


D'autre part :
echo $boutonradio; echo $nomobjet; echo $nomdepositaire ;echo $quantiter; echo"<br>"; 

Ce n'est pas une erreur, mais c'est lourd... écris simplement
echo "$boutonradio $nomobjet  $nomdepositaire  $quantiter <br>"; 
0
En me relisant ... grosse erreur
Pour que $nomobjet soit pris comme une variable, la chaîne tout entière doit être entre doubles quotes
$query="SELECT `nb_objet` FROM `matable` WHERE `matiere`='$nomobjet'" ;
0
Je viens de test avec les correction que vous m'avez proposé mais je n'ai toujours pas le renvois de la valeur dans le test 2 alors que lorsque j'inscris manuellement le contenu d'une case de ma table comme dans le test 1 j'ai bien le renvoie correspondant,j'ai tester également dans le troisiéme test avec une inscription hasardeuse avec la variable globale html qui me raporte la premiere valeur mais ça ne fonctionne toujours pas, il doit y avoir une subtilité de syntaxe que je ne maitrise pas.

/*operation de recup sur les stock actuel*/
$query="SELECT nb_objet FROM matable WHERE matiere='Minerai_de_Fer'" ;

$dejaenstock=mysql_query($query,$connexion)or die ("result bdd impossible" );

while($nbstock=mysql_fetch_array($dejaenstock))
{
echo "test select";
echo $nbstock[0];
}

/*test2*/
$query2="SELECT `nb_objet` FROM `matable` WHERE `matiere`='$nomobjet'" ;
$dejaenstock2=mysql_query($query2,$connexion)or die ("result2 bdd impossible" );

while($nbstock2=mysql_fetch_array($dejaenstock2))
{
echo "<br>test select2";
echo $nbstock2[0];
}

/*test3*/
$query3="SELECT nb_objet FROM matable WHERE matiere='{nom_objet}' " ;
$dejaenstock3=mysql_query($query3,$connexion)or die ("result3 bdd impossible" );

while($nbstock3=mysql_fetch_array($dejaenstock3))
{
echo "<br>test select3";
echo $nbstock3[0];
}
0
Je ne vois pas d'erreur dans ton test2.
J'ai tendance à penser que $nomobjet ne contient pas ce que tu crois.
D'où vient sa valeur ? Montre la partie de code où tu initialises cette variable.

Insère une ligne pour vérifier ce qu'il y a vraiment dans $nomobjet

/*test2*/
echo "nom objet contient : $nomobjet <br />";
$query2="SELECT `nb_objet` FROM `matable` WHERE `matiere`='$nomobjet'" ; 
0

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

Posez votre question
Je crois que je viens de comprendre en relisant le script de ta question initiale.
tu fais $nomobjet="{nom_objet}"; , ce qui répond à la question que je te posais dans le message précédent.
Mias quand je t'entends parler de "variable globale html" j'ai l'impression que tu crois que tu récupères une valeur saisie dans un formulaire. C'est faux, il faut faire $nomobjet = $_POST['nom_objet']; si ta variable vient d'un formulaire envoyé par la méthode POST qui contient un champ qui s'appelle nom_objet.
Si ce n'est pas ça, qu'entends-tu par "variable globale html" ? Il n'y a pas de variables en html, ni locales, ni globales...
0
Merci beaucoup de votre aide, c'est bien ça, ça fait deux jour que l'on planche sur le problème, encore merci
0