Problème au niveau d'un foreach
Résolu/Fermé
arcadenaker
Messages postés
61
Date d'inscription
dimanche 30 juillet 2017
Statut
Membre
Dernière intervention
22 avril 2019
-
Modifié le 2 juin 2018 à 18:05
arcadenaker Messages postés 61 Date d'inscription dimanche 30 juillet 2017 Statut Membre Dernière intervention 22 avril 2019 - 3 juin 2018 à 08:10
arcadenaker Messages postés 61 Date d'inscription dimanche 30 juillet 2017 Statut Membre Dernière intervention 22 avril 2019 - 3 juin 2018 à 08:10
A voir également:
- Problème au niveau d'un foreach
- Mise a niveau windows 7 vers 10 - Guide
- Test afpa niveau 5 pdf ✓ - Forum Études / Formation High-Tech
- Mon candy crush est revenu au niveau 1 ✓ - Forum jeux en ligne
- Afpa tests niveau 3 d'entrée en formation : français, maths, logique - Forum Études / Formation High-Tech
- Surcharge au niveau du cable antenne ✓ - Forum TV & Vidéo
2 réponses
Utilisateur anonyme
2 juin 2018 à 19:00
2 juin 2018 à 19:00
Bonsoir,
pourrait-on avoir un var_dump() de $data , SVP ?
Juste pour savoir, lorsque vous dites :
Celui-ci ne me donne pas tous les éléments du tableau comme nécessaire, je m'en suis rendu compte en faisant un var_dump();.
Il s'agit du var_dump() qui est dans l'exemple que vous nous donnez ? avec le die ?
pourrait-on avoir un var_dump() de $data , SVP ?
Juste pour savoir, lorsque vous dites :
Celui-ci ne me donne pas tous les éléments du tableau comme nécessaire, je m'en suis rendu compte en faisant un var_dump();.
Il s'agit du var_dump() qui est dans l'exemple que vous nous donnez ? avec le die ?
foreach($data as $value){ var_dump($value); die;
arcadenaker
Messages postés
61
Date d'inscription
dimanche 30 juillet 2017
Statut
Membre
Dernière intervention
22 avril 2019
1
Modifié le 2 juin 2018 à 19:28
Modifié le 2 juin 2018 à 19:28
En fait j'ai fait un var_dump de $value et puis celui de $data mais ceux-ci étaient plus au-dessus de mon code et je me suis rendu compte qui manquait des choses:
Avec ceci j'ai eu un resultat comme ça:
Premier ($data) :
array (size=3)
0 =>
array (size=2)
'compte_view' => string 'salut258' (length=8)
0 => string 'salut258' (length=8)
1 =>
array (size=2)
'compte_view' => string 'Arcadenaker258' (length=14)
0 => string 'Arcadenaker258' (length=14)
2 =>
array (size=2)
'compte_view' => string '123456' (length=6)
0 => string '123456' (length=6)
Suivant ($value) :
array (size=2)
'compte_view' => string 'salut258' (length=8)
0 => string 'salut258' (length=8)
echo "Premier ($data) :"; var_dump($data); //var_dump du $data echo "Suivant ($value) :"; foreach($data as $value){ var_dump($value); //var_dump de $value
Avec ceci j'ai eu un resultat comme ça:
Premier ($data) :
array (size=3)
0 =>
array (size=2)
'compte_view' => string 'salut258' (length=8)
0 => string 'salut258' (length=8)
1 =>
array (size=2)
'compte_view' => string 'Arcadenaker258' (length=14)
0 => string 'Arcadenaker258' (length=14)
2 =>
array (size=2)
'compte_view' => string '123456' (length=6)
0 => string '123456' (length=6)
Suivant ($value) :
array (size=2)
'compte_view' => string 'salut258' (length=8)
0 => string 'salut258' (length=8)
jordane45
Messages postés
38112
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
29 mars 2024
4 634
2 juin 2018 à 21:05
2 juin 2018 à 21:05
Donc c'est bon ou pas ??
C'est ce que tu souhaites obtenir ou non ?
Si ce n'est pas bon.. pourrais tu nous indiquer ce que "devrait" avoir selon toi ?
Donnes nous également un peu plus de code... j'ai l'impression que tu as laissé un DIE qui fait se troper ta boucle et donc ne te donne pas tout.
Et pour finir... comme déjà indiqué dans une précédente discussion....
Applique ceci pour tes requêtes PDO :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Tu n'as visiblement toujours pas géré les erreurs PDO dans tes codes .... et c'est bien dommage
C'est ce que tu souhaites obtenir ou non ?
Si ce n'est pas bon.. pourrais tu nous indiquer ce que "devrait" avoir selon toi ?
Donnes nous également un peu plus de code... j'ai l'impression que tu as laissé un DIE qui fait se troper ta boucle et donc ne te donne pas tout.
Et pour finir... comme déjà indiqué dans une précédente discussion....
Applique ceci pour tes requêtes PDO :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Tu n'as visiblement toujours pas géré les erreurs PDO dans tes codes .... et c'est bien dommage
arcadenaker
Messages postés
61
Date d'inscription
dimanche 30 juillet 2017
Statut
Membre
Dernière intervention
22 avril 2019
1
2 juin 2018 à 23:26
2 juin 2018 à 23:26
Bonjour Jordane45,
j'ai appliqué tes aides sur les erreures PDO et j'aimerais obtenir la meme chose de $data que de $value
mon code:
Merci d'avance pour vos idées.
j'ai appliqué tes aides sur les erreures PDO et j'aimerais obtenir la meme chose de $data que de $value
mon code:
$data = $re->fetchAll(); echo "Premier ($data) :"; var_dump($data); echo "Suivant ($value) :"; foreach($data as $value){ var_dump($value); if($data != false){ if($value === $compte_view){ }else{ try{ $se = $db->prepare("INSERT INTO view_articles(id_article, compte_view) VALUES(:id_article, :compte_view)"); $se->execute(['id_article' => $id_article, 'compte_view' => $compte_view]); }catch(Exception $e){ echo " Erreur ! ".$e->getMessage(); echo "Erreur sur la requete '$se'" ; } } break; } }
Merci d'avance pour vos idées.
jordane45
Messages postés
38112
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
29 mars 2024
4 634
2 juin 2018 à 23:35
2 juin 2018 à 23:35
Ton souci se trouve où exactement ??
Au niveau de ton if je suppose...
$value est un array... Il faut que tu en sortes sa valeur
Au niveau de ton if je suppose...
$value est un array... Il faut que tu en sortes sa valeur
$value['compte_view']
arcadenaker
Messages postés
61
Date d'inscription
dimanche 30 juillet 2017
Statut
Membre
Dernière intervention
22 avril 2019
1
Modifié le 2 juin 2018 à 23:48
Modifié le 2 juin 2018 à 23:48
Mon problème est là:
Quand je demande d'afficher ceci:
Il m'affiche ceci:
En sachant que normalement $data a plusieurs valeurs et que $value m'en affiche qu'une.
Merci pour vos idées d'avance.
Quand je demande d'afficher ceci:
echo "Premier (data) :"; var_dump($data); echo "Suivant (value) :"; foreach($data as $value){ var_dump($value['compte_view']); if($data != false){ if($value['compte_view'] === $compte_view){ }else{ try{ $se = $db->prepare("INSERT INTO view_articles(id_article, compte_view) VALUES(:id_article, :compte_view)"); $se->execute(['id_article' => $id_article, 'compte_view' => $compte_view]); }catch(Exception $e){ echo " Erreur ! ".$e->getMessage(); echo "Erreur sur la requete '$se'" ; } } break; } }
Il m'affiche ceci:
En sachant que normalement $data a plusieurs valeurs et que $value m'en affiche qu'une.
Merci pour vos idées d'avance.
jordane45
Messages postés
38112
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
29 mars 2024
4 634
3 juin 2018 à 00:39
3 juin 2018 à 00:39
Et.... Le break... Il fait quoi selon toi ?