Accueil > Forum > > > > executer une fonction dans une boucle
executer une fonction dans une boucle
jeudi 14 septembre 2006 à 13:46:03 |
executer une fonction dans une boucle

mouness
|
Bonjour SVP si quelqu'un peut m'aider je m'explique j'ai une fonction genre ci-dessous
function affiche_tableau_visite_lundi($test) { for ($i = 0; $i < 21; $i++) { $affiche_tab .= "<?php echo affiche_visite($heure_debutL[$i],$heure_finL[$i],$piloteL[$i],$nomL[$i],\"formL\".\"$i\",$Lundi);?>"; $affiche_tab .= "<?php echo affiche_bouton($nomL[$i],$Lundi);?>"; } return $affiche_tab; }
et je veu qu'elle execute deux autre fonction en boucle un certain nombre de fois genre ci-dessous
function affiche_visite($heur_deb_vis,$heur_fin_vis,$pilote_vis,$nom_vis,$nom_form,$dateVisite) { $liendb = mysql_connect("localhost","mouness",""); mysql_select_db("test"); $query_valide_visite="SELECT valide FROM visite WHERE nom=\"$nom_vis\" AND pilote=\"$pilote_vis\""; $result_valide= mysql_query($query_valide_visite); $ligne = mysql_fetch_assoc($result_valide); $valide =$ligne["valide"]; mysql_close($liendb); if ($valide=="1") { $couleur = "#99FF99"; $nbr_colonne="colspan=\"2\""; } else { $couleur = "#CCFFCC"; $nbr_colonne=""; } $heur_deb_vis = extrac_heure($heur_deb_vis); $heur_fin_vis = extrac_heure($heur_fin_vis); $visite = "<tr><form action=\"Annexe.php\" target=\"annexe\" method=\"post\" name=\"$nom_form\">". "<td onClick=\"javascript:window.document.$nom_form.submit();\" width=\"10%\" bgcolor=$couleur nowrap><font size=\"2\">$heur_deb_vis</font></td>". "<td onClick=\"javascript:window.document.$nom_form.submit();\" width=\"10%\" bgcolor=$couleur nowrap><font size=\"2\">$heur_fin_vis</font></td>". "<td onClick=\"javascript:window.document.$nom_form.submit();\" width=\"10%\" bgcolor=$couleur nowrap><font size=\"2\">$pilote_vis</font></td>". "<td onClick=\"javascript:window.document.$nom_form.submit();\" width=\"64%\" bgcolor=$couleur nowrap $nbr_colonne><font size=\"2\">$nom_vis</font></td>". "<input type=\"hidden\" name=\"nomV\" value=\"$nom_vis\"/><input type=\"hidden\" name=\"dateVisite\" value=\"$dateVisite\"/></form>"; if($nom_vis!=null) { return $visite; } else return false; } et puis
function affiche_bouton($affiche,$dateV) { $liendb = mysql_connect("localhost","mouness",""); mysql_select_db ("test"); $query_valide_visite ="SELECT valide FROM visite WHERE nom=\"$affiche\""; $result_valide = mysql_query($query_valide_visite); $ligne = mysql_fetch_assoc($result_valide); $valide =$ligne["valide"]; mysql_close ($liendb); if ($valide=="1") { $bouton = "<td width=\"2%\" bgcolor=#99FF99 nowrap><img src=\"images/sup.png\" action=\"\"></td>". "<td width=\"2%\" bgcolor=#99FF99 nowrap><a href=\"form_demande_visite_update.php?update=$affiche&date=$dateV\"><img src=\"images/modif.png\" style=\"border:none\"></a></td></tr>"; } else { $bouton = "<td width=\"2%\" bgcolor=#CCFFCC nowrap><a href=\"planning_semaine.php?valid_visite=$affiche\"><img src=\"images/okM.gif\" style=\"border:none\"></a></td>". "<td width=\"2%\" bgcolor=#CCFFCC nowrap><img src=\"images/sup.png\" action=\"\"></td>". "<td width=\"2%\" bgcolor=#CCFFCC nowrap><a href=\"form_demande_visite_update.php?update=$affiche&date=$dateV\"><img src=\"images/modif.png\" style=\"border:none\"></a></td></tr>"; } if($affiche!=null) { return $bouton; } else {return false;} } les variable $heure_debutL[$i],$heure_finL[$i],$piloteL[$i],$nomL[$i] sont obtenu depuis la base de donnée et comme vous avez sans doute pu le remarquer ces deux fonction sont cencée afficher un les ligne d'un tableau elle fonctionne ce que je voudrais savoir c'est comment modifier la fonction affiche_tableau_visite_lundi afin d'afficher ces ligne , je debute et j'ai deja essayer plusieur maniere pour ecrire cette fonction rien n'y fait aider moi s'il vous plait merci a tout ce qui voudront bien me repondre
|
|
jeudi 14 septembre 2006 à 13:53:50 |
Re : executer une fonction dans une boucle

mouness
|
et j'oublier j'appelle ma fonction comme ca <?php echo affiche_tableau_visite_lundi() ;?> (y'a pas de var $test erreur de saisie desoler) merci
|
|
jeudi 14 septembre 2006 à 15:59:20 |
Re : executer une fonction dans une boucle

malalam
|
Hello,
ça fait beaucoup de "<?php", tu ne trouves pas...?
|
|
jeudi 14 septembre 2006 à 16:58:42 |
Re : executer une fonction dans une boucle

mouness
|
y'en a dans la fonction affiche_tableau_visite_lundi() et dans ma page ou j'affiche les ligne (<?php echo affiche_tableau_visite_lundi() ;?>) qoi ca fait 3 en tout t'a une soluce a proposer merci pour la remarque
|
|
jeudi 14 septembre 2006 à 17:05:11 |
Re : executer une fonction dans une boucle

mouness
|
c'est sur une foi la boucle effectuer ca fait beaucoup mais bon toi qui est si malin commen je fait dans ce cas il faut bien que je les affiche sur ma page c'est ca ou je les ecrit a la main un par un en incrementant $i de 1 a chaque fois ce qui fait bien plus de code encore mais merci encore pour la remarque
|
|
vendredi 15 septembre 2006 à 20:05:53 |
Re : executer une fonction dans une boucle

jean84
|
Je crois pas que ce soit la facon de parler a quelqu'un qui t'aides (je sais j'ai fait la meme erreur  encore desole malalam  ). Pour ton code, j'ai pas compris pourquoi tu utilise des balises <?php a l'interieur d'un d'une variables php destine a l'affichage. Il y a la recursivite qui me semblerait au top si tu veux pouvoir executer une fonction plusieurs fois d'affile avec des params differents... ou meme eval() qui permet de creer des fonctions dynamiquement a partir d'une variable en php. Enter les while(), les for() et autre foreach(), tu n'as que l'embarras du choix ^^. Tu peut egalement penser au template (en version beaucoup moins evolue que les templates de base) genre charger une page html qui te servirai de modele avec des variables a modifier suivant les resultats de recherche de ta BDD. En gros faudrait reprendre la structure de ton prog pour pouvoir simplifier les traitements. A mediter egalement, l'optimisation du code, c-a-d l'utilisation de simple quote ' a la place des doubles quotes " qui accelere d'avantage le traitement de ton code. A ne pas pas oublier : php est un language interprete, pas compile ce qui implique un traitement plus long avant d'atteindre le processeur de ta machine. @++
|
|
vendredi 15 septembre 2006 à 21:11:39 |
Re : executer une fonction dans une boucle

FhX
|
"Je crois pas que ce soit la facon de parler a quelqu'un qui t'aides (je sais j'ai fait la meme erreur encore desole malalam )." Rien que pour ca, ca me donne pas envie de répondre m'enfin bon.
"ou meme eval() qui permet de creer des fonctions dynamiquement a partir d'une variable en php." eval() c'est un peu le passe partout... create_function() pour ca :) C'est plus propre et plus efficace !
Pour en revenir au sujet... jcapte rien à son code. Les fonctions de connections à la base de données dans la fonction c'est moche.
M'enfin c'est pareil, j'arrive pas à lire quand même... suis dsl !
|
|
vendredi 15 septembre 2006 à 22:23:38 |
Re : executer une fonction dans une boucle

malalam
|
Mouness => j'étais au boulot, et du boulot, j'en avais! J'ai du mal à suivre en ce moment avec phpcs et mon boulot. Alors j'ai vu ton post, j'ai lu, j'ai rien pigé à ton code, mais j'ai vu un truc carrément cheloux : <?php echo '<?php...?>'; ?>...alors, avec le peu de temps que j'avais, j'ai essayé de t'aiguiller. Tu le prends mal, tant pis; honnêtement, je m'en fous. Là j'ai du temps, j'ai relu, et je peux te dire ceci : avant de coder en PHP, il faut apprendre le PHP. Il y a trop d'incohérences pour corriger, il faut revoir les bases. Et j'irai pas plus loin parce que, comme jean et FhX, je ne pige que dalle à ton code. Et je ne pense pas que ce soit un problème de niveau...
Jean84 => ;-)
FhX => t'es nul, c pour ça que t'as rien pigé ;-)
|
|
vendredi 15 septembre 2006 à 22:27:15 |
Re : executer une fonction dans une boucle

malalam
|
En même temps, Mouness, je suis désolé de te répondre comme je viens de le faire. Mais voilà, en ce moment faut pas me chercher ;-) J'ai pas que ça à faire. je vais quand même te ré-aiguiller: ton code est incohérent! T'as pas à répêter <?php bla bla dans un echo! Ca ne rime à rien. C'est comme si, dans un bouquin, un auteur écrivait : Et François s'exclama : "j'ai rencontré Pierre-Edouardn et il a dit : "Hé, François, tu sais pas ce que m'a sorti Ludwig ? "Je m'embrouille grave avec tous ces guillemets!""" ...
|
|
samedi 16 septembre 2006 à 15:48:18 |
Re : executer une fonction dans une boucle

jean84
|
Fhx & Malalam => lol, je pensais que c'etait moi qui etait fatigue car je comprenais que dalle au code ... sa fait plaisir ^^ En meme temps je pense que la presentation du site y est pour beaucoup car sans couleur et sans alinea, bah c'est un beau bordel (je suis un adepte de l'editeur de code de dreamweaver )
Fhx => "Rien que pour ca, ca me donne pas envie de répondre m'enfin bon." J'ai dit quelque chose de mal ??
" eval() c'est un peu le passe partout... create_function() pour ca :) C'est plus propre et plus efficace !" J'en avais deja entendu parler mais j'avais pas trop saisie le sens. Tu aurais un exemple de code (simple de preference ) a me fournir ?? Merci Mouness => peut tu indiquer le but de ton code ? Peut etre pourrat-on t'indiquer la marche a suivre pour resoudre ton probleme ??
@++ tout le monde
|
|
Cette discussion est classée dans : affiche, mysql, valide, vis, visite
Répondre à ce message
Sujets en rapport avec ce message
Requete MySQL impossible [ par neovalpox ]
Bijour tout le monde .Ben voila mon prob en faite : j'ai un menu dans une frame de droite. sur mon site j'ai un espace membre. je souhaiterai que chaq
checkbox et update [ par refkaben ]
Bonjour à tous!j'ai un pb avec le checbox, en fait je veux faire un update selon que le checkbox soit checked mais ça ne marche pas, je vois que l'upd
Requete Mysql [ par BeCaSiNe ]
J'ai trouvé un code tres bien ! Mais le probleme et que le resultats affiche tout les pages !// Nbr de résultat par page $limit = 20; // Votre requète
pb SQL [ par kyript ]
bonjour a tous mon pb est que quand je je selection un champ dans une bdd et que je l'affiche il ecrit Array pour les 2 champs voila le c
PHP n'affiche pas tout les résultats [ par digitRox ]
Bonjour, Mon problème en fort simple : Quand j'exécute une requête dans phpmyadmin tout fonctionne bien et lorsque je met celle-ci dans mon code php,
S'affiche pas dans MySQL... [ par abdelkaderg54 ]
SAlut tout le monde....... Voilà j'ai un ptit problem dans le code en dessous ...car j'ai volue afficher un enregistrement de la table "etudiant" ..et
affiche une donnée de mysql [ par netwebzone ]
bonjour,J'aimerais affiché le champ info1 de la table : table1 ou l'id est égal 1 : ca donne donc ca nan ?$sql = 'Select info1 From table1 Where id=1'
Mysql : ORDER BY [ par Eliays ]
Bonjour voila ma premiere requete : $reponse = mysql_query("SELECT * FROM message ORDER BY id DESC LIMIT 0,12"); celui si affiche les 12 dernieres li
mon image ne s'affiche pas en entier ! [ par thiebaut35 ]
problème:dans ma base, j'ai des photos sous blob.je les upload et les affiche comme je veux, ça fonctionne bien, mais, mais parfois, certaines passent
Formulaire & $_FILES [ par DjChat ]
Bonjour a tous, j'ai fait un formulaire d'edition d'un enregistrement d'une BDD MySQL, il y a un upoad d'image et j'aurai aimer que si pendant l'edito
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|