IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Formatage d'un tableau


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    octobre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2005
    Messages : 52
    Points : 61
    Points
    61
    Par défaut Formatage d'un tableau
    Bonjour à tous,

    Je vous expose mon problème : je suis entrain de développer un ptit site et je rencontre une petite difficulté. Je pense que le problème se situe au niveau du formatage du tableau que j'utilise.

    J'expose le problème

    Etape 1 : je définis le tableau multidimensionnel suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php   
        $A	= Array ("A" , "a"    , 30, 30, 0, "130", "center");
        $B	= Array ("B", "b"  , 30, 30, 0, "130", "center"); 
        $C	= Array ("C", "c"  , 30, 30, 0, "130", "center"); 
     
    	$X   = array($A,$B);				   
    	$Y   = array($A,$C);							
    	$O  = array('X' => $X, 'Y' => $Y);
    ?>
    Etape 2 : J'utilise ensuite la ligne de code suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	$RefSize=Count($O['X']);
    	For ($I=0 ; $I<$RefSize; $I++)	
    	$objGrid -> FormatColumn(implode(",",$O['X'][$I]));
    Qui me renvoie un magnifique : Warning: Missing argument 2 for datagrid::FormatColumn()

    La fonction en question étant définie ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    	function FormatColumn($strfieldName, 
    	                                $strHeader, 
                                            $fieldWidth=0, 
                                            $maxlength=0, 
                                            $inputtype=0, 
                                            $columnwidth=0, 
                                            $align='center', 
                                            $Mask='text', 
                                            $default='', 
                                            $cutChar=0)
    J'en appelle à vos lumières pour me dire comment palier à ce petit problème sachant que le code ci-dessous fonctionne tres bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FormatColumn("A" , "a"    , 30, 30, 0, "130", "center");
    Merci à vous

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2010
    Messages : 7 920
    Points : 10 724
    Points
    10 724
    Par défaut
    tu lui passes qu'un seul arguments, ton implode ne marche pas comme ça, sinon pourquoi mettre des majuscules partout ?

    utilises call_user_func_array

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    octobre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2005
    Messages : 52
    Points : 61
    Points
    61
    Par défaut
    Merci pour les majuscules ce n'est qu'un exemple.

    Pour la fonction call_user_func_array je ne vois pas comment l'utiliser pour mon problème : si tu pouvais etre plus précis ?

    Merci

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2010
    Messages : 7 920
    Points : 10 724
    Points
    10 724
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $datas = array(
        array ('A', 'a' , 30, 30, 0, '130', 'center'),
        array ('B', 'b' , 30, 30, 0, '130', 'center'),
        array ('C', 'c' , 30, 30, 0, '130', 'center')
    );
     
    foreach ($datas as $data) {
        call_user_func_array(array($objGrid, 'formatColumn'), $data);
    }

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    octobre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2005
    Messages : 52
    Points : 61
    Points
    61
    Par défaut
    Merci beaucoup : ca marche ^^

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    octobre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2005
    Messages : 52
    Points : 61
    Points
    61
    Par défaut
    Bon il y a encore un souci . Voila le code complet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    <?php
    	$Option=$_POST['Option'];
     
    	$TableName   = array('Inscriptions' => 'sad_inscriptions', 'Clients' => 'sad_inscriptions', 'Lessons' => 'sad_lessons', 'Messages' => 'sad_messages');	
    	$Where       = array('Inscriptions' => "Client = '0'"    , 'Clients' => "Client = '1'"    , 'Lessons' => Null         , 'Messages' => Null);
     
    	$ParentLastNameField	= Array ("ParentLastName" , "Nom de Famille"    , 30, 30, 0, "130", "center");
    	$ParentFirstNameField	= Array ("ParentFirstName", "Prénom du parent"  , 30, 30, 0, "130", "center"); 
    	$ChildFirstNameField	= Array ("ChildFirstName" , "Prénom de l'enfant", 30, 30, 0, "130", "center");
    	$AddressField			= Array ("Address"        , "Adresse"           , 30, 30, 0, "250", "center");
    	$CityField				= Array ("City"           , "Ville"             , 30, 30, 0, "150", "center");
    	$PhoneField				= Array ("Phone"          , "Téléphone"         , 30, 30, 0, "80" , "center");
    	$MobilePhoneField		= Array ("MobilePhone"    , "Portable"          , 30, 30, 0, "80" , "center");
    	$MailField				= Array ("Mail"           , "Adresse Mail"      , 30, 30, 0, "150", "center");
    	$ClassField				= Array ("Class"          , "Classe"            , 30, 30, 0, "70" , "center");
    	$SectionField			= Array ("Section"        , "Section"           , 30, 30, 0, "70" , "center");
    	$PerformanceField		= Array ("Performance"    , "Prestation"        , 30, 30, 0, "70" , "center");
    	$MatterField			= Array ("Matter"         , "Matière"           , 30, 30, 0, "90" , "center");
    	$DuringField			= Array ("During"         , "Durée"             , 30, 30, 0, "50" , "center");
    	$DateLessonField  	  	= array("DateLesson"      , "Date"              , 30, 30, 0, "80" , "center");	
    	$TimeLessonField      	= array("TimeLesson"      , "Heure"             , 30, 30, 0, "80" , "center"); 
    	$DuringLessonField    	= array("DuringLesson"    , "Durée"             , 30, 30, 0, "80" , "center");
    	$DescriptionField     	= array("Description"     , "Description"       , 30, 30, 0, "250", "center");
    	$CommentsField        	= array("Comments"        , "Commentaire"       , 30, 30, 0, "250", "center");
    	$PaidField            	= array("Paid"            , "Payé"              , 30, 30, 0, "50" , "center");	
    	$SubjectField         	= array("Subject"         , "Sujet"             , 30, 30, 0, "150", "center");
    	$BodyField            	= array("Body"            , "Message"           , 30, 30, 0, "300", "center");
    	$PersonFields   = array($ParentLastNameField, $ParentFirstNameField, $ChildFirstNameField, $AddressField, $CityField, $PhoneField, $MobilePhoneField, $MailField, $ClassField, $SectionField, $PerformanceField, $MatterField, $DuringField);				   
    	$LessonsFields  = array($ParentLastNameField, $ParentFirstNameField, $ChildFirstNameField, $DateLessonField, $TimeLessonField, $DuringLessonField, $DescriptionField, $CommentsField, $PaidField);							
    	$MessagesFields = array($ParentLastNameField, $ParentFirstNameField, $MailField, $SubjectField, $BodyField);		
     
    	$OptionsFields  = array('Inscriptions' => $PersonFields, 'Clients' => $PersonFields, 'Lessons' => $LessonsFields, 'Messages' => $MessagesFields);	
     
    	include ("../General_structure/DataGrid/phpmydatagrid.class.php"); 	
    	$objGrid = new datagrid;    
    	$objGrid -> friendlyHTML();
    	$objGrid -> pathtoimages("../General_structure/DataGrid/images/");
    	$objGrid -> closeTags(true);    
    	$objGrid -> form(StrToUpper($Option), true);    
    	$objGrid -> methodForm("POST");
    	$objGrid -> conectadb("localhost", "root", "", "SAD_DATASBASE");    
    	$objGrid -> tabla ($TableName[$Option]); //
    	$objGrid -> buttons(true,true,true,true);    
    	$objGrid -> keyfield("Id");
    	$objGrid -> FooterGrid("<div style='float:left'>&copy; 2007 Gurusistemas.com</div>");
    	$objGrid -> datarows(12);    
    	$objGrid -> orderby("Id", "DESC");	
    	$objGrid -> noorderarrows();
    	foreach ($OptionsFields[$_POST['Option']] as $OptionsFields[$_POST['Option']]) //
    	{
    		call_user_func_array(array($objGrid, 'formatColumn'), $OptionsFields[$_POST['Option']]);
    	}	
    	$objGrid->  checkable();	
    	$objGrid -> where ($Where[$Option]);  
    	$objGrid -> setHeader();
    	$objGrid -> ajax("silent");
    	$objGrid -> grid();  
    	$objGrid -> desconectar();
    ?>
    Avec ce code j'obtiens les erreurs suivantes :

    Undefined index: Option on line 2
    Undefined index: on line 42,49
    Warning: Invalid argument supplied for foreach() on line 49


    J'ai mis un "if isset" : c'est encore pire plus rien ne marche (Rien ne s'affiche)

    J'ai vérifier pourtant $_POST['Option'] contient bien la variable utilisée.

    Si je fais $Option='inscriptions' ca fonctionne nickel

    J'en conclue que cela doit etre liée au $_POST['Option'] que $objGrid n'aime pas.

    Un dernier ptit coup de main pour me sauver de ce mauvais pas ?

    Merci

Discussions similaires

  1. [MySQL] mauvais formatage d'un tableau avec une requete
    Par wookie33 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/11/2013, 15h31
  2. Formatage d'un tableau
    Par Arsene12 dans le forum VBA Word
    Réponses: 8
    Dernier message: 28/11/2011, 00h24
  3. formatage d'un tableau dans Word cree a aprtir d'un dataset SAS
    Par fpolo dans le forum ODS et reporting
    Réponses: 2
    Dernier message: 08/03/2011, 13h33
  4. [BO 5.1.9] Formatage d'un tableau à 12 cellules
    Par LOPEZ dans le forum Deski
    Réponses: 5
    Dernier message: 14/01/2008, 10h29
  5. Verrouiller le formatage d'un tableau dynamique
    Par adrien.gendre dans le forum Excel
    Réponses: 1
    Dernier message: 26/07/2007, 20h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo