Comment faire :s !

Signaler
Messages postés
18
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
19 janvier 2009
-
Messages postés
14
Date d'inscription
jeudi 19 février 2004
Statut
Membre
Dernière intervention
17 décembre 2004
-
Bonjour les gars :)

Voila d'abord le code, ensuite j'explique le delire :
...
<?php
$seek=mysql_query("SELECT * FROM `test` WHERE `num` = 1");
$obj=mysql_fetch_array($seek);
$verif=$obj['test'];
$verif2=$obj['test2'];
?>

<?php
if ($verif == $verif2)
{
echo "OK";
}
else
{
echo "NOK";
}

?>

Expliquation :

Alors voila, rien de compliquer, mais pourtant j'ai un probleme.
$obj['test']; dans ma base de donnee c'est : $value
$obj['test2']; dans ma base de donnee c'est : "50"

$value a une valeur bien sur, je l'ai pas marque dans le code pour pas surcharger.

LE GROS PROBLEME, c'est que quand je echo $verif , sa affiche : "$value", au lieu d'afficher sa valeur !

CE QUE J'ESPERE : Que un gentil gars, m'explique comment faire pour afficher la valeur de $value, plutot que $value en texte brut !

Bon je sais pas si j'ai était tres clair :)

ps : pour info, les champs 'test' et 'test2' de ma base sont en Varchar

MERCI de repondre assez vite sa me serai d'une grande utiliter bisous all

6 réponses

Messages postés
27
Date d'inscription
mercredi 3 septembre 2003
Statut
Membre
Dernière intervention
21 février 2005

salut !

A mon avis c'est tout bete , comme beaucoup de problemes, je m'explique tu fais $obj=mysql_fetch_array($seek); puis $obj['test'];
alors soit tu fais :
$obj=mysql_fetch_assoc($seek); puis $obj['test'];
la on a un tableau associatif (avec des noms pour les cellules)
soit :
$obj=mysql_fetch_array($seek); puis $obj[0];
et ici (dans ton cas) un tableau indexé.

en gros tu as deux fonction: mysql_fetch_array() tab avec index et mysql_fetch_assoc() (celle la est plus pratique pour comprendre le code)
j'espere que ca repond a ton probleme.

@+
Messages postés
18
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
19 janvier 2009

heuu, le probleme c'est pas de trouver les valeurs, c'est d'afficher la valeur $value au lieu d'afficher $value en text brut !

Je reformule :

Alors voila, rien de compliquer, mais pourtant j'ai un probleme.
$obj['test']; dans ma base de donnee c'est : $value
$obj['test2']; dans ma base de donnee c'est : "50"
(dans des champs varchar)

<?php
$seek=mysql_query("SELECT * FROM `nawak` WHERE `num` = 1");
$obj=mysql_fetch_array($seek);
$verif=$obj['test'];
$verif2=$obj['test2'];
?>

Et quand je fait par exemple echo $verif, il m'affiche $value au lieu de m'afficher le nombre de la valeur !
Messages postés
34
Date d'inscription
lundi 15 novembre 2004
Statut
Membre
Dernière intervention
27 octobre 2005

A mon avis ca doit venir d'un probème de quote ( ' ) et de double quote ( " ). Si tu fait :
$value = 3 ;
echo '$value';

Ca affichera $value . par contre si tu fait :
$value = 3 ;
echo "$value";

Ca affichera 3 .

Cela vient du fait que quand on a des quotes simple ( ' ) et bien php ne fait qu'afficher le texte à l'interieur sans le regarder avant. Avec des doubles quotes, il va l'analyser et voir qu'il y a une variable, qu'il va donc remplacer par sa valeur. Si tu veux quand même utiliser des simples quotes ( ' ) il faut que tu concatène ta chaîne comme ceci : echo 'La valeur de value est :' . $value ;

Bonne chance
Messages postés
3
Date d'inscription
vendredi 10 décembre 2004
Statut
Membre
Dernière intervention
21 août 2006

Je crois que la réponse à ton problème serait de modifier ton code pour entreposer
value au lieu de $value
ainsi tu pourrais alors faire
$verif=${$obj['test']};
ce qui te donnerais alors le contenu de la variable entreposée
dans ton objet.

Bonne chance!
Messages postés
18
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
19 janvier 2009

Aucunne de ces solution fonctionne :s
merci quand meme !

J'attend d'autre proposition :)
Messages postés
14
Date d'inscription
jeudi 19 février 2004
Statut
Membre
Dernière intervention
17 décembre 2004

Bonjour,

# est-ce que dans ta base de données, la valeur du champ test est égal à '$value' ou à une valeur ?
Si oui, il est sur que lors d'un echo, tu as un retour de valeur '$value'.

Par contre, si celle-ci est défini dans ton code (hors base de données), un petit ajout d'un '$' devant '$value' devrait faire afficher la valeur souhaiter -> echo $$value;
Sinon, revoit l'insertion en base, ton problème se situera là, ;)