Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/01/2012, 18h16   #1
Candidat au titre de Membre du Club
 
Inscription : novembre 2009
Messages : 62
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : novembre 2009
Messages : 62
Points : 13
Points : 13
Par défaut Initialisation à PDO (faire des requetes)

Bonsoir,

Je suis en plein apprentissage du PHP actuellement, et plus particulièrement de la PDO. J'ai beau trifouillé l'aide que je trouvais depuis ce midi, mais rien n’a y faire ça bloque.. Je ne suis pas un grand spécialiste du dev m'étant plus orienté coté multimédia, mais j'ai quand même des notions de programmation-objet venant d'un BTS IRIS (C/C++)

Donc voila je réalise un petit site de billetterie, donc tous simple, on commande un certain nombre de places avec un panier et un outil de gestion.

J'ai déjà réussi à récupérer des informations depuis ma BD

Mais je ne comprends pas pourquoi ma seconde requête ne marche pas pour retourner le nombre de places restant.

voici mon code

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php 
 include('connect_bdd.php');
 
 $type=$_GET['type']; //récupère dans l'url le type d'article
 
 $article=$bdd->query("SELECT * FROM infos WHERE type='$type'"); //récupère toutes les infos de $type
 $donnees_articles=$article->fetch();
 $article->closeCursor();
 
 $articlesRestant=$bdd->query("SELECT SUM(nombre) FROM reservations WHERE type='$type'"); 
 $articlesRestant_fetch=$articlesRestant->fetch();
 
 $nb2=$articlesRestant_fetch['articlesRestant'];
 $nb1=$donnees_articles['places'];
 
 if( ! isset( $nb2 ) ) $nb2 = 10; // test si nb2 existe
 
 $nbRestant=$nb1-$nb2;
?>
j'ai ce message d'erreur :

Notice: Undefined index: articlesRestant in XXX.php on line 14

je comprends pas pourquoi $article marche niquel et pas $articleRestant..

Voilà si quelqu'un pouvait éclairer ma lanterne. Ce serait super

Merci !
Pepit074 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 10h37   #2
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 678
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 678
Points : 5 422
Points : 5 422
Une notice "Undefined index" signifie que tu essayes d'accéder à un élément d'un tableau via une clé qui n'existe pas. Exemple :
Code :
1
2
$tab = array( 0=> 'zero', 1 => 'un', 2 => 'deux');
echo $tab[3]; // revoie Notice: Undefined offset: 3 in fichier.php on line 2
Donc a priori, ta notice vient de cette ligne $nb2=$articlesRestant_fetch['articlesRestant'];. Ce qui est assez logique : par défaut fetch() retourne un tableau indexé par les noms de colonnes et aussi par les numéros de colonnes, commençant à l'index 0, comme retournés dans le jeu de résultats.
Tu n'as pas de colonnes "articlesRestant" dans ta requête, donc il ne trouve rien.
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h15.


 
 
 
 
Partenaires

Hébergement Web