Problème lors d'un UPDATE de table avec Mysqli
Fermé
clend06
Messages postés
3
Date d'inscription
jeudi 25 avril 2019
Statut
Membre
Dernière intervention
26 avril 2019
-
Modifié le 25 avril 2019 à 15:04
clend06 Messages postés 3 Date d'inscription jeudi 25 avril 2019 Statut Membre Dernière intervention 26 avril 2019 - 26 avril 2019 à 06:13
clend06 Messages postés 3 Date d'inscription jeudi 25 avril 2019 Statut Membre Dernière intervention 26 avril 2019 - 26 avril 2019 à 06:13
A voir également:
- Problème lors d'un UPDATE de table avec Mysqli
- Table ascii - Guide
- Table des matières word - Guide
- Windows update 0x80070643 - Guide
- Windows update bloqué - Guide
- Asus live update - Télécharger - Utilitaires
5 réponses
jordane45
Messages postés
38241
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 septembre 2024
4 689
Modifié le 25 avril 2019 à 17:58
Modifié le 25 avril 2019 à 17:58
Bonjour,
Je suppose que ton souci se situe à cette ligne de code :
Et si tu testes avec un empty
au lieu du
Et à la limite, si ça ne marche pas mieux, fournis nous un var_dump de ta variable $arr (avant modification)
EDIT :
Et si tu ne veux modifier qu'un seul utilisateur... il faut que tu vérifies également si tu n'as pas déjà u 'O'
Je suppose que ton souci se situe à cette ligne de code :
$arr[$iii] = $name_dem; // nom de celui qui réserve
Et si tu testes avec un empty
if (empty($arr[$iii])) {
au lieu du
if ($arr[$iii]=='') {
Et à la limite, si ça ne marche pas mieux, fournis nous un var_dump de ta variable $arr (avant modification)
EDIT :
Et si tu ne veux modifier qu'un seul utilisateur... il faut que tu vérifies également si tu n'as pas déjà u 'O'
if (empty($arr[$iii]) && $maj_res != 'O') {
clend06
Messages postés
3
Date d'inscription
jeudi 25 avril 2019
Statut
Membre
Dernière intervention
26 avril 2019
Modifié le 25 avril 2019 à 17:57
Modifié le 25 avril 2019 à 17:57
Bonjour,
Merci Jordane pour ces conseils.
J'ai donc testé mon script en utilisant "if (empty(..." : mais le résultat est toujours le même (doublon de la personne qui réserve).
Voici ci-dessous le dump du tableau $arr[] AVANT la màj provoquée par la réservation d'un passager:
Et voici le dump du même tableau utilisé pour le Update, donc tenant compte de la réservation d'une place par le passager "Lendrevie Claude":
Tout ceci est tout à fait correct. C'est ce que j'attends, exactement.
Mais le pépin, c'est que la vérification de la table après cette réservation par Phpmyadmin donne:
Cela ressemble fort à un problème de buffer final qui doublonnerait quand je ferme la connexion à la BDD.
nb: ne pas tenir compte dans ces dumps des champs n°6 à 10 (ils concernent le trajet Retour, absent de mon extrait de script ci-dessus)
Merci Jordane pour ces conseils.
J'ai donc testé mon script en utilisant "if (empty(..." : mais le résultat est toujours le même (doublon de la personne qui réserve).
Voici ci-dessous le dump du tableau $arr[] AVANT la màj provoquée par la réservation d'un passager:
Array ( [0] => 880 [1] => Lancelot du lac Martin [2] => [3] => [4] => [5] => (indisponible) [6] => Lancelot du lac Martin [7] => Larrivée Joelle [8] => [9] => [10] => (indisponible)
Et voici le dump du même tableau utilisé pour le Update, donc tenant compte de la réservation d'une place par le passager "Lendrevie Claude":
Array ( [0] => 880 [1] => Lancelot du lac Martin [2] => Lendrevie Claude [3] => [4] => [5] => (indisponible) [6] => Lancelot du lac Martin [7] => Larrivée Joelle [8] => [9] => [10] => (indisponible)
Tout ceci est tout à fait correct. C'est ce que j'attends, exactement.
Mais le pépin, c'est que la vérification de la table après cette réservation par Phpmyadmin donne:
880 [1] => Lancelot du lac Martin [2] => Lendrevie Claude [3] => Lendrevie Claude [4] => [5] => (indisponible) [6] => Lancelot du lac Martin [7] => Larrivée Joelle [8] => [9] => [10] => (indisponible)
Cela ressemble fort à un problème de buffer final qui doublonnerait quand je ferme la connexion à la BDD.
nb: ne pas tenir compte dans ces dumps des champs n°6 à 10 (ils concernent le trajet Retour, absent de mon extrait de script ci-dessus)
jordane45
Messages postés
38241
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 septembre 2024
4 689
25 avril 2019 à 17:58
25 avril 2019 à 17:58
Tu as testé mon dernier commentaire ?
if (empty($arr[$iii]) && $maj_res != 'O') {
Re,
Non Jordane.
Je ne peux pas ajouter cette condition car un passager est autorisé à réserver plusieurs places dans la même vacation.
J’ai simplement placé cette variable maj_res pour savoir en final si je dois informer le conducteur d’une nouvelle réservation (par un mail).
Non Jordane.
Je ne peux pas ajouter cette condition car un passager est autorisé à réserver plusieurs places dans la même vacation.
J’ai simplement placé cette variable maj_res pour savoir en final si je dois informer le conducteur d’une nouvelle réservation (par un mail).
jordane45
Messages postés
38241
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 septembre 2024
4 689
25 avril 2019 à 23:19
25 avril 2019 à 23:19
Je pense que c'est la structure de ta table qui n'est pas optimisée.
Je découperait en deux tables...
Une table trajet ( id, date, depart, destination, conducteur.... )
Une table resa_trajet ( id, id_trajet, passager )
et tu ajoutes des lignes dans ta table resa_trajet en fonction du nombre de places à réserver...
De cette façon, si demain tu veux pouvoir gérer qu'il n'y ait que 2 places... ou 7 ... tu n'auras pas à modifier la structure de ta table.
(parts du principe qu'on créé le modèle de la base de données... et qu'ensuite lors de l'utilisation de l'appli... on ne doit pas avoir à la modifier )
Je découperait en deux tables...
Une table trajet ( id, date, depart, destination, conducteur.... )
Une table resa_trajet ( id, id_trajet, passager )
et tu ajoutes des lignes dans ta table resa_trajet en fonction du nombre de places à réserver...
De cette façon, si demain tu veux pouvoir gérer qu'il n'y ait que 2 places... ou 7 ... tu n'auras pas à modifier la structure de ta table.
(parts du principe qu'on créé le modèle de la base de données... et qu'ensuite lors de l'utilisation de l'appli... on ne doit pas avoir à la modifier )
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
clend06
Messages postés
3
Date d'inscription
jeudi 25 avril 2019
Statut
Membre
Dernière intervention
26 avril 2019
26 avril 2019 à 06:13
26 avril 2019 à 06:13
Bonjour Jordane,
Je comprends tout à fait cette proposition d'utiliser une table indépendante pour gérer les réservations. Ce serait d'ailleurs plus logique.
Mais j'ai développé mon site avec le CMS Joomla et j'utilise ici l'extension "Community Builder" qui m'impose de placer ces champs de réservation dans leur table principale xxx_comprofiler: faute de quoi, les réservations ne seraient pas automatiquement intégrées dans le profil d'un conducteur.
Je ne peux donc pas retenir maintenant cette bonne idée.
Je comprends tout à fait cette proposition d'utiliser une table indépendante pour gérer les réservations. Ce serait d'ailleurs plus logique.
Mais j'ai développé mon site avec le CMS Joomla et j'utilise ici l'extension "Community Builder" qui m'impose de placer ces champs de réservation dans leur table principale xxx_comprofiler: faute de quoi, les réservations ne seraient pas automatiquement intégrées dans le profil d'un conducteur.
Je ne peux donc pas retenir maintenant cette bonne idée.