Array dans condition if (php)
tigre198
Messages postés
54
Date d'inscription
Statut
Membre
Dernière intervention
-
tigre198 Messages postés 54 Date d'inscription Statut Membre Dernière intervention -
tigre198 Messages postés 54 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis entrein d'alleger code dans un script. j'ai comencé par PDO ET 9A marche bien
bref j'ai array qui contien list jours feriés apres select dans mysql
$requete_prepare_1=$connexion->prepare(" SELECT to_days('$variable_annee-01-01') as premier_janvier,to_days('$variable_annee-05-08') as victoire ,
to_days('$variable_annee-07-14') as fete_juillet , to_days('$variable_annee-11-11') as Armistice
from atm_2008"); // on prépare notre requête
$requete_prepare_1->execute();
$lignes=$requete_prepare_1->fetch(PDO::FETCH_OBJ);
$premier_janvier=$lignes->premier_janvier;
$victoire=$lignes->victoire;
$fete_juillet=$lignes->fete_juillet;
$Armistice=$lignes->Armistice;
$feries = array("$premier_janvier", "$victoire", "$fete_juillet", "$Armistice");
puis je dos calculer nombre jour total dans chaque semaine de lundi au samedi:
for( $i=1; $i<53; $i++ )
$nbrJours7[ ] = 0;
foreach ($result as $row)
{
$agent1 = $row['SAR'];
$semaine1 = $row['wDebut'];
$jourSemaine1 = $row['wsDebut']; // dimanche = 1
$jourDebut1 = $row['dDebut'];
$jourFin1 = $row['dFin'];
for( $jour1 = $jourDebut1; $jour1 <= $jourFin1; $jour1++ )
{
if( $jourSemaine1 > 1 AND $jourSemaine1 <=7 )
$nbrJours7[ $semaine1]++;
$jourSemaine1++;
if( $jourSemaine1 > 7 )
{
$semaine1++; $jourSemaine1 = 1;
}
}
}
tous martche bien
il reste dans condition if( $jourSemaine1 > 1 AND $jourSemaine1 <=7 ) j'ajoute AND $jour1!=$feries[0]
bien sur il va pas compter 1 janvier mais la je dois metrre 4 fois AND .
vu que je repete cette boucle 6 foix suivant 6 cas ça sera un peu lourd
j'ai essayé cette fonction mais lors de l'appelle de cette fonction rien ça marche et àa élémine pas jours fériés
<?php
function liste_tableau($tableau)
{
while(list($key,$valeur)=each($tableau))
{
return $valeur;
}
}
$feries = array("$premier_janvier", "$victoire", "$fete_juillet", "$Armistice");
donc si j'ajoute cette fonction a condition if
if( $jourSemaine1 > 1 AND $jourSemaine1 <=7 AND $jour1!= liste_tableau($feries))
il compte jours féries or ça doit eléminer jours fériés de calcul
?>
merçin d'avance pour votre aide
je suis entrein d'alleger code dans un script. j'ai comencé par PDO ET 9A marche bien
bref j'ai array qui contien list jours feriés apres select dans mysql
$requete_prepare_1=$connexion->prepare(" SELECT to_days('$variable_annee-01-01') as premier_janvier,to_days('$variable_annee-05-08') as victoire ,
to_days('$variable_annee-07-14') as fete_juillet , to_days('$variable_annee-11-11') as Armistice
from atm_2008"); // on prépare notre requête
$requete_prepare_1->execute();
$lignes=$requete_prepare_1->fetch(PDO::FETCH_OBJ);
$premier_janvier=$lignes->premier_janvier;
$victoire=$lignes->victoire;
$fete_juillet=$lignes->fete_juillet;
$Armistice=$lignes->Armistice;
$feries = array("$premier_janvier", "$victoire", "$fete_juillet", "$Armistice");
puis je dos calculer nombre jour total dans chaque semaine de lundi au samedi:
for( $i=1; $i<53; $i++ )
$nbrJours7[ ] = 0;
foreach ($result as $row)
{
$agent1 = $row['SAR'];
$semaine1 = $row['wDebut'];
$jourSemaine1 = $row['wsDebut']; // dimanche = 1
$jourDebut1 = $row['dDebut'];
$jourFin1 = $row['dFin'];
for( $jour1 = $jourDebut1; $jour1 <= $jourFin1; $jour1++ )
{
if( $jourSemaine1 > 1 AND $jourSemaine1 <=7 )
$nbrJours7[ $semaine1]++;
$jourSemaine1++;
if( $jourSemaine1 > 7 )
{
$semaine1++; $jourSemaine1 = 1;
}
}
}
tous martche bien
il reste dans condition if( $jourSemaine1 > 1 AND $jourSemaine1 <=7 ) j'ajoute AND $jour1!=$feries[0]
bien sur il va pas compter 1 janvier mais la je dois metrre 4 fois AND .
vu que je repete cette boucle 6 foix suivant 6 cas ça sera un peu lourd
j'ai essayé cette fonction mais lors de l'appelle de cette fonction rien ça marche et àa élémine pas jours fériés
<?php
function liste_tableau($tableau)
{
while(list($key,$valeur)=each($tableau))
{
return $valeur;
}
}
$feries = array("$premier_janvier", "$victoire", "$fete_juillet", "$Armistice");
donc si j'ajoute cette fonction a condition if
if( $jourSemaine1 > 1 AND $jourSemaine1 <=7 AND $jour1!= liste_tableau($feries))
il compte jours féries or ça doit eléminer jours fériés de calcul
?>
merçin d'avance pour votre aide
A voir également:
- Array dans condition if (php)
- Excel cellule couleur si condition texte - Guide
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Excel condition ou - Guide
- Condition optimale téléphone ✓ - Forum Mobile
2 réponses
Bonjour.
Connais-tu la fonction in_array ?
Extrait de la doc PHP :
Ca m'a tout l'air d'être pile-poil ce que tu cherches...
Connais-tu la fonction in_array ?
Extrait de la doc PHP :
boolean in_array(mixed needle ,array haystack ,[boolean strict ]) in_array recherche needle dans haystack et retourne TRUE s'il s'y trouve, ou FALSE sinon. Le troisième paramètre strict est optionnel. S'il vaut TRUE alors in_array vérifiera aussi que le types du paramètre needle correspond à la valeur trouvée dans haystack. Exemple avec in_array <?php $os = array("Mac", "NT", "Irix", "Linux"); if (in_array("Irix", $os)) print "Irix trouve"; ?>
Ca m'a tout l'air d'être pile-poil ce que tu cherches...
merçi de m'avoir répondu
j'ai essayé cette fonction mais aucun résultat
en fete imagine j'ai 7 jour dans cete semaine dons si j'ajoute cette fonction dans cete condition
if( $jourSemaine1 > 1 AND $jourSemaine1 <=7 ) j'ajoute AND $jour1!=$feries()
avec 2 jours feries en array donc j'aurais 5 jours
comme je t'ai dis si je fais feries[0] il va pas prendre 1 valeur dans la tableau mais comme je suis entrein d'alleger mon code je veux pas mettre 50 AND dans if
j'ai essayé cette fonction mais aucun résultat
en fete imagine j'ai 7 jour dans cete semaine dons si j'ajoute cette fonction dans cete condition
if( $jourSemaine1 > 1 AND $jourSemaine1 <=7 ) j'ajoute AND $jour1!=$feries()
avec 2 jours feries en array donc j'aurais 5 jours
comme je t'ai dis si je fais feries[0] il va pas prendre 1 valeur dans la tableau mais comme je suis entrein d'alleger mon code je veux pas mettre 50 AND dans if