Probleme selecteur php
lwdu76 Messages postés 75 Statut Membre -
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
5 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
je suppose que l'erreur se produit à a ligne 21 de ton code.
comprends-tu le message d'erreur?
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
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 -


