Undefined offset: 2
Résolu
LATIF
-
LATIFNignan Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
LATIFNignan Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour, mon code m'affiche une erreur "Undefined offset: 2". je tente de savoir depuis une jounée d'ou viens le probleme mais je n'arrive pas .s'il vous pouvez vous m'aider.je suis presqu'un debutant en php. voici le code de ma fonction
public function age($naiss) {
// Découper la date dans un tableau associatif
list($annee, $mois, $jour) = explode("-", $naiss);
// Récupérer la date actuelle dans des variables
$today['mois'] = date('n');
$today['jour'] = date('j');
$today['annee'] = date('Y');
// Calculer le nombre d'années entre l'année de naissance et l'année en cours
$age_d = $today['annee'] - $annee;
// Si le mois en cours est inférieur au mois d'anniversaire, enlever un an
if ($today['mois'] < $mois) {
$age_d--;
}
// Pareil si on est dans le bon mois mais que le jour n'est pas encore venu
if ($mois == $today['mois'] && $jour> $today['jour']) {
$age_d--;
}
return $age_d;
}
public function age($naiss) {
// Découper la date dans un tableau associatif
list($annee, $mois, $jour) = explode("-", $naiss);
// Récupérer la date actuelle dans des variables
$today['mois'] = date('n');
$today['jour'] = date('j');
$today['annee'] = date('Y');
// Calculer le nombre d'années entre l'année de naissance et l'année en cours
$age_d = $today['annee'] - $annee;
// Si le mois en cours est inférieur au mois d'anniversaire, enlever un an
if ($today['mois'] < $mois) {
$age_d--;
}
// Pareil si on est dans le bon mois mais que le jour n'est pas encore venu
if ($mois == $today['mois'] && $jour> $today['jour']) {
$age_d--;
}
return $age_d;
}
A voir également:
- Notice: undefined offset: 2 in
- Notice gratuite - Guide
- Supercopier 2 - Télécharger - Gestion de fichiers
- Deco in paris avis - Forum Consommation & Internet
- Montre mingrui notice ✓ - Forum Accessoires & objets connectés
- Girl in the basement streaming vf - Forum Cinéma / Télé
4 réponses
ok merci pour votre reponse.
j'utilise MVC .ce code est saisi dans une class model "docteurs"
Cependant j'appel la fonction au nivo d'une VU new
j'utilise MVC .ce code est saisi dans une class model "docteurs"
<?php // Découper la date dans un tableau associatif list($annee, $mois, $jour) = explode("-", $naiss); // Récupérer la date actuelle dans des variables $today['mois'] = date('n'); $today['jour'] = date('j'); $today['annee'] = date('Y'); // Calculer le nombre d'années entre l'année de naissance et l'année en cours $age_d = $today['annee'] - $annee; // Si le mois en cours est inférieur au mois d'anniversaire, enlever un an if ($today['mois'] < $mois) { $age_d--; } // Pareil si on est dans le bon mois mais que le jour n'est pas encore venu if ($mois == $today['mois'] && $jour> $today['jour']) { $age_d--; } return $age_d; } ?>
Cependant j'appel la fonction au nivo d'une VU new
<div class="form-group"> <label class="col-sm-2 control-label">age</label> <div class="col-sm-10"> <select name="age_d" id="age_d"> <option value=" <?php echo $age=model_docteurs::getInstance()->age(_root::getParam('date_naiss_d'));?>" selected></option> </select> </div> </div>
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI Merci d'y penser dans tes prochains messages. |
Salute,
Tu pourrais mettre ton code entre les balises
Ensuite, tu pourrais mettre ta requête SQL concernant la variable $today stp.
Tu pourrais mettre ton code entre les balises
etse sera plus lisible.
Ensuite, tu pourrais mettre ta requête SQL concernant la variable $today stp.
Bonjour,
1 - **** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
2 - Quelle est la valeur de ta variable $naiss au moment de l'appel de ton script ?
3 - Quel est le message d'erreur EXACT (y compris le numéro de ligne...) que tu as ?
4 - Pour calculer l'age ... pourquoi ne pas utiliser la fonction Date_Diff ?
(ou DateTime_diff)
=> Tu fais le calcul en utilisant comme intervalle le "mois" ... et ainsi tu as l'age...
https://www.php.net/manual/fr/datetime.diff.php
Plus simple que de faire des ++ ou des -- dans des boucles..... non ??
1 - **** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
2 - Quelle est la valeur de ta variable $naiss au moment de l'appel de ton script ?
3 - Quel est le message d'erreur EXACT (y compris le numéro de ligne...) que tu as ?
4 - Pour calculer l'age ... pourquoi ne pas utiliser la fonction Date_Diff ?
(ou DateTime_diff)
=> Tu fais le calcul en utilisant comme intervalle le "mois" ... et ainsi tu as l'age...
https://www.php.net/manual/fr/datetime.diff.php
Plus simple que de faire des ++ ou des -- dans des boucles..... non ??
Bonjour,
veuillez m'excuser du retard juste que j'avais de connexion. J'ai pu résoudre mon problème.
Merci pour l’éclaircissement sur comment publier du code.
au moment de l'appel de la fonction la valeur de la variable $naiss est date_naiss_d.
Le problème était au niveau de l'appel de la récupération de la variable date_naiss_d (représentant la date de naissance d'un docteur).
J'ai du réécrire ma requête au sein même de la vu ou je voulait afficher la date de naissance,en affectant directement la valeur du champ $date_naiss_d à la variable $naiss.
Merci pour vos reponses
voici mon code
veuillez m'excuser du retard juste que j'avais de connexion. J'ai pu résoudre mon problème.
Merci pour l’éclaircissement sur comment publier du code.
au moment de l'appel de la fonction la valeur de la variable $naiss est date_naiss_d.
Le problème était au niveau de l'appel de la récupération de la variable date_naiss_d (représentant la date de naissance d'un docteur).
J'ai du réécrire ma requête au sein même de la vu ou je voulait afficher la date de naissance,en affectant directement la valeur du champ $date_naiss_d à la variable $naiss.
Merci pour vos reponses
voici mon code
<td><?php echo $oDocteurs->prenom_d ?></td> <td><?php echo $oDocteurs->date_naiss_d ?></td> <td><?php echo $oDocteurs->lieu_naiss_d ?></td> <td><?php $naiss=$oDocteurs->date_naiss_d; // Découper la date dans un tableau associatif list($annee, $mois, $jour) = explode("-", $naiss); // Récupérer la date actuelle dans des variables $today['mois'] = date('n'); $today['jour'] = date('j'); $today['annee'] = date('Y'); // Calculer le nombre d'années entre l'année de naissance et l'année en cours $oDocteurs->age_d = $today['annee'] - $annee; if($oDocteurs->age_d < 0) {$oDocteurs->age_d = $oDocteurs->age_d*(-1);} // Si le mois en cours est inférieur au mois d'anniversaire, enlever un an if ($today['mois'] < $mois) { $oDocteurs->age_d--; } // Pareil si on est dans le bon mois mais que le jour n'est pas encore venu if ($mois == $today['mois'] && $jour > $today['jour']) { $oDocteurs->age_d--; } echo $oDocteurs->age_d; ?></td> <td><?php echo $oDocteurs->tel_d ?></td>