IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Initialisation à PDO (faire des requetes)


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

Discussions similaires

  1. Faire des requetes SQL avec Zend
    Par leroidje dans le forum Zend_Db
    Réponses: 14
    Dernier message: 13/05/2012, 02h57
  2. Réponses: 8
    Dernier message: 08/09/2009, 15h46
  3. librairie pour faire des requete DNS
    Par Z-fly dans le forum Réseau
    Réponses: 2
    Dernier message: 14/08/2008, 04h23
  4. Faire des requetes SNMP en C
    Par cyranno dans le forum Réseau
    Réponses: 17
    Dernier message: 20/09/2007, 13h09
  5. Réponses: 2
    Dernier message: 26/06/2007, 17h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo