A voir également:
- PHP : Problème avec le contenu d'une variable
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Br php ✓ - Forum PHP
- Expert php - Télécharger - Langages
- Php echo image ✓ - Forum PHP
12 réponses
Sasa93
Messages postés
252
Date d'inscription
mardi 3 juin 2008
Statut
Membre
Dernière intervention
27 février 2012
20
16 juin 2009 à 16:23
16 juin 2009 à 16:23
Bonjour ta essaye de mettre un seul = au lieu de deux dans ton if ?
Ozimandias
Messages postés
502
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
10 mars 2010
46
16 juin 2009 à 16:25
16 juin 2009 à 16:25
[cite]Je vais ensuite récupérer les codes de différents produits dans ma base de données a l'aide d'une requète, que je stocke un à un (boucle) dans la variable : $IDSousProduit [cite]
ta variable $IDSousProduit serait-elle un tableau (array)?
Si c'est le cas, if ($IDSousProduit == $CodeTypeProduit) ne peut pas fonctionner car un array ne peut être égal à une valeur.
ta variable $IDSousProduit serait-elle un tableau (array)?
Si c'est le cas, if ($IDSousProduit == $CodeTypeProduit) ne peut pas fonctionner car un array ne peut être égal à une valeur.
Ozimandias
Messages postés
502
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
10 mars 2010
46
>
Kaldorei
16 juin 2009 à 16:43
16 juin 2009 à 16:43
Effectivement, mais en PHP les variables peuvent changer de type suivant ce qu'on leur gave ; quand tu fais:
Ta variable est tour à tour, un INT puis un STRING.
Donc quand tu affectes manuellement une valeur à ta variable, c'est sur c'est 30. Mais dans le cas de ta boucle il se pourrait que ce soit un tableau.
Pour le savoir c'est simple, fait : echo $CodeTypeProduit à la sortie de ta boucle et sans lui affecter une valeur autre. S'il t'écris array c'est que c'est un tableau.
$CodeTypeProduit = 50; $CodeTypeProduit = '50';
Ta variable est tour à tour, un INT puis un STRING.
Donc quand tu affectes manuellement une valeur à ta variable, c'est sur c'est 30. Mais dans le cas de ta boucle il se pourrait que ce soit un tableau.
Pour le savoir c'est simple, fait : echo $CodeTypeProduit à la sortie de ta boucle et sans lui affecter une valeur autre. S'il t'écris array c'est que c'est un tableau.
Kaldorei
>
Ozimandias
Messages postés
502
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
10 mars 2010
17 juin 2009 à 08:22
17 juin 2009 à 08:22
J'ai dejà fait un echo $CodeTypeProduit après son affectation pour vérifier, et la valeur s'affiche.
$CodeTypeProduit est une variable que je récupère d'un formulaire précédent grace à $CodeTypeProduit = $_POST['ChoixProduit'];
J'ai essayé de mettre directement $_POST['ChoixProduit'] a la place de $CodeTypeProduit dans mon "if", mais j'obtiens le mème résultat :-/
$CodeTypeProduit est une variable que je récupère d'un formulaire précédent grace à $CodeTypeProduit = $_POST['ChoixProduit'];
J'ai essayé de mettre directement $_POST['ChoixProduit'] a la place de $CodeTypeProduit dans mon "if", mais j'obtiens le mème résultat :-/
Sasa93
Messages postés
252
Date d'inscription
mardi 3 juin 2008
Statut
Membre
Dernière intervention
27 février 2012
20
16 juin 2009 à 16:28
16 juin 2009 à 16:28
Il a pas tort ^^
Sasa93
Messages postés
252
Date d'inscription
mardi 3 juin 2008
Statut
Membre
Dernière intervention
27 février 2012
20
16 juin 2009 à 16:31
16 juin 2009 à 16:31
@Ozimandias : ok autant pour moi alors j'ai confondus
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ozimandias
Messages postés
502
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
10 mars 2010
46
16 juin 2009 à 16:33
16 juin 2009 à 16:33
Aucun soucis, c'est le genre d'erreur que tout le monde fait et qui t'entraine dans une nuit blanche où tu passes ton temps à t'arracher les cheveux pour un = oublié...
Bonjour
Essaye de faire
Pour voir si les valeurs sont bien égales au moment de la comparaison, ou s'il n'y a pas un espace qui se glisse sournoisement quelque part
Essaye de faire
echo '**',$IDSousProduit,'**',$CodeTypeProduit,'**';JUSTE AVANT le if
Pour voir si les valeurs sont bien égales au moment de la comparaison, ou s'il n'y a pas un espace qui se glisse sournoisement quelque part
Je viens faire ce que tu m'as et j'ai remarqué qu'un espace se glissait a chaque fois a la fin de ma variable $IDSousProduit.
J'avais pensé a vérifier ça pour $CodeTypeProduit, mais pas pour $IDSousProduit.
Je vais essayer de régler ça quand je récupère ma chaine ^^
Merci ! :-)
J'avais pensé a vérifier ça pour $CodeTypeProduit, mais pas pour $IDSousProduit.
Je vais essayer de régler ça quand je récupère ma chaine ^^
Merci ! :-)
C'est probablement toi qui ajoutes cet espace au moment d'insérer ta donnée dans la base. Regarde bien ta requête d'insertion ou de mise à jour.
En fait, je travaille sur une base de données déjà existante, et (relativement) très mal faite, certainement la récupération des données d'un ancien logiciel.
Donc je nage un peu pour essayer de comprendre la logique du bazar ..
Enfin bref, merci pour ton aide! :-)
Donc je nage un peu pour essayer de comprendre la logique du bazar ..
Enfin bref, merci pour ton aide! :-)
16 juin 2009 à 16:30
if ($toto = $tata) ça affecte la valeur de tata à toto
alors que
if ($toto == $tata) ça vérifie que toto est égal à tata
C'est pas du tout pareil.