Probleme selecteur php
lwdu76 Messages postés 65 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je n'arrive pas a récupérer l'identifiant de mon selecteur
En faite je lie la table incomes avec la table incomes_categories
<?php require_once('./inc/header.php'); require_once ('./functions.php'); $db = db_connect(); session_start(); /* Vérifie et récupère les données de la table revenu de l'utilisateur pour le mettre à jour */ if (isset($_POST['inc_id']) & isset($_POST['inc_amount']) & isset($_POST['inc_receipt_date']) & isset($_POST['inc_cat_id']) & isset($_POST['user_id'])){ try { $inc_id = $_POST['inc_id']; $inc_amount = $_POST['inc_amount']; $inc_receipt_date = $_POST['inc_receipt_date']; $inc_cat_id = $_POST['inc_cat_id']; $user_id = $_POST['user_id']; $sth = $db->prepare("UPDATE `incomes` SET `inc_amount`=:inc_amount, `inc_receipt_date`=:inc_receipt_date, `inc_cat_id`=:inc_cat_id, `user_id`=:user WHERE `inc_id`=:inc_id"); $sth->bindParam(':inc_id', $inc_id); $sth->bindParam(':inc_amount', $inc_amount); $sth->bindParam(':inc_receipt_date', $inc_receipt_date); $sth->bindParam(':inc_cat_id', $inc_cat_id); $sth->bindParam(':user', $user_id); $sth->execute(); header('location: users.php'); } catch (PDOException $e){ print "Erreur !: " . $e->getMessage() . "<br/>"; } } else { echo ""; } $users = get_incomes_categories (); ?>
/* Categorie de revenu d'un utilisateur : requête paramétrée et utilisation de la méthode prépare avec des paramètres nommés */ function get_incomes_categories() { $db = db_connect(); $sql = <<<EOD SELECT `inc_cat_name` FROM `incomes_categories` LIMIT 10 EOD; $incomeCategoriesStmt = $db->query($sql); $incomeCategories = $incomeCategoriesStmt->fetchAll(PDO::FETCH_ASSOC); return $incomeCategories; }
<div class="form-group" > <label class="control-label col-sm-3" for="inc_cat_id"><a>inc_cat_id</a></label> <div class="col-sm-8 col-xs-12"> <select name="inc_cat_id" required="true" class="form-control"> <option value="inc_cat_id">Changer la catégorie du revenu</option> <?php foreach ($users as $user) : ?> <option> <?php echo $user['inc_cat_name']; ?> </option> <?php endforeach; ?> </select> <!-- <input type="number" placeholder="Changer la catégorie du revenu" name="inc_cat_id" required="true" class="form-control"></input></br> --> </div> </div>
il me renvoit cette erreur
- Probleme selecteur php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour à la ligne php ✓ - Forum PHP
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
5 réponses
bonjour,
je suppose que l'erreur se produit à a ligne 21 de ton code.
comprends-tu le message d'erreur?
J'ai l'impression que tu mélanges la communication avec le client (post) et le contenu de ta base de données.
As-tu écrit tout cela? Cela fonctionnait-il avant? Dans quel contexte fais-tu ce travail? Es-tu formé pour ce travail?
Je suis étudiant c´est un td pour utiliser du pdo et je bloque sur le fait que je voudrais récupérer le nom de la catégorie dans mon selecteur et qu'il envoi l´id de celui ci et je ne vois pas trop comment faire
Je sais ce que fais la méthode post elle envoi les informations
Pour récupérer les données de ma table incomes_catégories j´ai créé une variable users qui appel une fonction get_incomes catégories
Est-ce que le problème viens de ma fonction get_incomes_categories ou je dois faire une jointure sur inc_cat_id ?
J´ai écrit une fonction pour chaque table qui affiche leurs informations comme celle de incomes_categories mais avec des jointures sur le user_id
Bonjour,
Ton souci vient de ta liste déroulante.
Tu n'y a mis que le "nom" de la catégorie .. mais pas l'id correspondant..
Il faut donc modifier ta liste comme ceci:
<select name="inc_cat_id" required="true" class="form-control"> <option value="inc_cat_id">Changer la catégorie du revenu</option> <?php foreach ($users as $user) : ?> <option value="<?php echo $user['inc_cat_id']; ?>" ><?php echo $user['inc_cat_name']; ?> </option> <?php endforeach; ?> </select>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Il me dit qu'il ne comprend la valeur sélectionnée alors qu'il attend un int en valeur comme retour
C'est une colonne définie comme entier, et tu essaies d'y faire entrer "produit financier".
As-tu visualisé le contenu de $_POST?
Dans ma méthode post je dit qu'il doit mettre à jour ma table incomes
C'est une colonne définie comme entier, et tu essaies d'y faire entrer "produit financier".
Ma question était à propos de la variable, pas de la méthode.
Je n´y fais pas référence dans mes $_POST
Je ne fais pas de $_POST ['inc_cat_name'] du coup il faut que j´en fasse un ?