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

Langage PHP Discussion :

Qu est PERE de QUI ?


Sujet :

Langage PHP

  1. #21
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    Dans tes fichiers il y une série de petite erreurs.

    Déjà je peux te dire que j'imprime la totalité de print des constructeurs, la preuve

    __construct[html]CRLF__construct[tabledesigner]CRLF__construct[html]CRLF Warning: Invalid argument supplied for foreach() in /opt/Sites/dvp/html.php on line 28 cnt[1]CRLFcnt[2]CRLFcnt[1]CRLF Notice: getClassTag[table] undefined ! in /opt/Sites/dvp/html.php on line 70 Notice: getClassTag[tr] undefined ! in /opt/Sites/dvp/html.php on line 70 Catchable fatal error: Object of class cells could not be converted to string in /opt/Sites/dvp/tableDesigner.php on line 62
    Déjà de le index.php le resuire_once n'est pas correcte par rapport au nom de fichier.

    Ensuite dans getClass tu passes des miniscule alors qu'il attend des majuscule, ensuite tu lui passe des strings, alors que ce sont des constantes, il nous manque le fichier config.php

  2. #22
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut Qui est le FILS et qui est le PERE
    Déjà de le index.php le resuire_once n'est pas correcte par rapport au nom de fichier.

    Comprends pas ????
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    require_once ($_SERVER['DOCUMENT_ROOT'] . "/config/config.php") ;
    require_once ($_SERVER['DOCUMENT_ROOT'] . "/class/tabledesigner.php") ;
    Ensuite dans getClass tu passes des miniscule alors qu'il attend des majuscule, ensuite tu lui passe des strings, alors que ce sont des constantes, il nous manque le fichier config.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Justement, ce fichier explique peut être les majuscules/minuscules...
    
    __________________


    Le fichier config contient ceci...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    define('DESIGN' , "tbdesigner"	) ;
    define('TR' 	, "tr"		) ;
    define('TD' 	, "td"		) ;
    define('TABLE' 	, "table" 	) ;
    define('CRLF'	, "<br/>\n"	) ;
    ?>
    Une autre question ?

  3. #23
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    A défaut de ne pas bien comprendre l’enjeu du découpage tel quel, tu peu quand même utiliser cette exemple , pour voir

    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
    <?php
    define ('CRLF','<br/>');
    class html {
    	private $class_tbdesigner;
    	private $class_td;
    	private $class_tr;
    	private $class_table;
    	private $debug;
     	public function create($css,$debug=False) {
    		print("__construct[html]". CRLF) ;
    	}	
     
    }
     
    class cells extends html{
     	public function create($css,$debug=False) {
     		print("__construct[cells]". CRLF) ;
    		parent::create($css,$debug) ;
    	}
     
    }
     
    class tableDesigner extends cells{
    	private $css, $debug, $colCnt ;
    	private $data, $rowCnt;
     
    	public function __construct(	$colCnt,   $css = array(), $debug=FALSE	)
    	{	$this->colCnt	= $colCnt ;
    		$this->css		= $css ;
    		$this->debug	= $debug ;
    		$this->rowCnt 	= 0 ;
    		$this->data		= NULL ;
    		print("__construct[tabledesigner]". CRLF) ;
     		parent::create($css,$debug) ;
     
     
    	}
    }
     
    $a = new tableDesigner(3) ;
     
    print_r($a);

  4. #24
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut Qui est le FILS et qui est le PERE
    Merci pour l'exemple qui fonctionne...
    @moi maintenant de traduire et transformer en fonction de mon application...
    Encore merci.....

  5. #25
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut Qui est le FILS et qui est le PERE
    Cela avance....
    Mais juste un petit souci de syntaxe sans doute...
    J'utilise des constantes définies dans un fichier config.php que voici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    define('WIDTH' 	, "width"	) ;
    define('STYLE' 	, "class" 	) ;
    Je balaye un tableau avec le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    		foreach($cell as $css => $cssvalue)	{
    			$tb .= "<td".$this->getClassTag("td").">".$cssvalue;
    			switch($css){
    				case STYLE : 
    				case WIDTH :	print("keyword[".$css."][".$cssvalue."]" . CRLF) ;
    								break ;
    				default		:	break ;
    			}
    			$tb .= "</td>\n" ;
    		}
    Tel quel cela ne donne pas les résultats espérés...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    keyword[0][NEW1]
    keyword[width][150]
    keyword[class][image]
    keyword[0][Row1 Col1]
    keyword[width][100]
    keyword[class][title]
    keyword[0][Row1 Col2]
    keyword[width][80]
    keyword[class][image]
    keyword[0][Row1 Col3]
    keyword[width][50]
    keyword[class][image]
    La valeur 0 n'est pas admise, voici le code de la création du tableau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $a = new tableDesigner(3,$css) ;
    $a->addRow(	 array(	array("<img src=\"image/new.gif\" border=0 alt=\"NEW1\" title=\"NEW1\" />"	,	WIDTH => 150	, STYLE => "image"  ) ,
    					array("Row1 Col1" , WIDTH => 100, STYLE => "title"  ) ,
    					array("Row1 Col2" , WIDTH =>  80, STYLE => "image"  ) ,
    					array("Row1 Col3" , WIDTH =>  50, STYLE => "image"  )
    				   ) 
    			) ;
    Si je change la définition des constantes par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    define('WIDTH' 	, "11"	) ;
    define('STYLE' 	, "12" 	) ;
    Cela fonctionne comme attendu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    keyword[11][150]
    keyword[12][image]
    keyword[11][100]
    keyword[12][title]
    keyword[11][80]
    keyword[12][image]
    keyword[11][50]
    keyword[12][image]
    Là je ne comprends plus...
    Je relis la doc php.net et les tableaux avec les indices mais je ne vois pas
    J’espère avoir pu minimaliser au max mon exemple..

    Merci à vous tous...

  6. #26
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut Qui est le FILS et qui est le PERE
    Bon, je n'ai pas compris pkoi cela ne fonctionnait pas parfois... mais j'y suis arrivé....

    Pour info, le 2ième paramètre de chaque cellule est destiné à recevoir un style, une largeur de colonne... mais tjs en test...
    @suivre...

    Voici l'index.php
    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
     
    <!-- ========================================================================================= -->
    <!--       Start of Page                                                                       -->
    <!-- ========================================================================================= -->
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>TBDesigner</title>
    <link href="../css/tb.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <?php
    require_once ($_SERVER['DOCUMENT_ROOT'] . "/config/config.php") ;
    require_once ($_SERVER['DOCUMENT_ROOT'] . "/class/tabledesigner.php") ;
    // =============================================================================================================================================================================
     
    // =============================================================================================================================================================================
    // =============================================================================================================================================================================
    $tb = new tableDesigner();
     
     
    $tb->addRow(	 array(	array(	"<img src=\"image/new.gif\" border=0 alt=\"NEW1\" title=\"NEW1\" />","eee")	,
    						array(	"Row1 Col1" , 	"ddd") ,
    						array(	"Row1 Col2" , 	"ddd") ,
    						array(	"Row1 Col3" ,	"ddd") 
    					) 
    			) ;
     
    $tb->addRow(	 array(	array(	"<img src=\"image/new.gif\" border=0 alt=\"NEW2\" title=\"NEW2\" />","eee")	,
    						array(	"Row2 Col1"	, 	"ddd") ,
    						array(	"Row2 Col2" , 	"ddd") , 
    						array(	"Row2 Col3" ,	"ddd")
    					) 
    			) ;
     
    $tb->addRow(	 array(	array(	"<img src=\"image/new.gif\" border=0 alt=\"NEW3\" title=\"NEW3\" />","eee")	,
    						array(	"Row3 Col1"	, 	"ddd") ,
    						array(	"Row3 Col2" , 	"ddd") ,
    						array(	"Row3 Col3" ,	"ddd")
    					) 
    			) ;
    $tb->addRow(	array(	array(	"<img src=\"image/gplv3.png\" border=0 alt=\"NEW\" title=\"NEW\" />","eee")	,
    						array(	"Row4 Col1"	, 	"ddd") ,
    						array(	"Row4 Col2" , 	"ddd") ,
    						array(	"Row4 Col3" ,	"ddd")
    					 )
     
    			) ;
     
    //var_dump($tb) ;
    $tb->printTable();
     
    ?>
    </body>
    </html>
    <!-- ========================================================================================= -->
    <!--       End of Page                                                                         -->
    <!-- ========================================================================================= -->
    Le tableDesigner.php
    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     
    <?php
     
    require_once ($_SERVER['DOCUMENT_ROOT'] . "/config/config.php") ;
    require_once ($_SERVER['DOCUMENT_ROOT'] . "/class/cells.php") ;
     
    // =============================================================================================================================================================================
    /**
    * 	__constructor
    *
    */	
    class tableDesigner extends cell{
    	private $debug ;
    	private $data;
     
    	function __construct(	$debug=FALSE	)
    	{	$this->debug	= $debug ;
    		$this->data		= NULL ;
     
    		print("__construct[tabledesigner]". CRLF) ;
     		parent::__construct($debug) ;
    	}
     
    /**
    * 	addRow
    *
    */	
    	function addRow($row = array())	{
     
    		if (is_array($row))  {
    				$this->data[] = $row ;	
    			}
    		else
    			user_error("incorrect Row definition,row definition should be an array !" , E_USER_ERROR) ;
    	}
     
    /**
    * 	printTable
    *
    */	
    	function printTable()	{
    /**
    * 		scan Row...
    */	
    		if (is_array($this->data))	{
    			$tb = "<table".$this->getClassTag("table").">\n";
     
    			foreach ($this->data as $key => $value) {
    				$tb .= "<tr".$this->getClassTag("tr").">\n";
    /**
    * 				scan Cell...
    */	
    				foreach($value as $css => $cssvalue)	{
    /**
    * 					scan Cell is an array(DATA + STYLE) ...
    */
    					$tb .= $this->printCell($cssvalue) ;
    				}
    				$tb .= "</tr>\n";
    			}
    			$tb .= "</table>\n";
    		}
    		$tb .= "\n";
     
    		echo $tb;
    	}
     
    /**
    * 	printAllData
    *
    */	
     
    	function printAllData()
    	{
    		$dt = print_r($this->data,true);
     
    		echo "DATA:<br />\n";
    		echo "<pre>".$dt."</pre>\n";
    	}
    /**
    * 	END! Tabledesigner
    *
    */		
    }
     
    ?>
    Le cells.php
    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
     
    <?php
     
    require_once ($_SERVER['DOCUMENT_ROOT'] . "/config/config.php") ;
    require_once ($_SERVER['DOCUMENT_ROOT'] . "/class/html.php") ;
     
    class cell extends html {
    	private $debug;
     
    /**
    * 	__constructor
    *
    */	
    	function __construct($debug=False) {
    		print("__construct[cell]". CRLF) ;
     
    		$this->debug = $debug  ; 
     		parent::__construct($debug) ;
    	}
     
    /**
    * 	__constructor
    *
    */	
    	function printCell($cell) {
    		return("<td".$this->getClassTag("td").">".current($cell)."</td>\n") ;
    	}
    }
     
    ?>
    Et enfin le html.php
    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
     
    <?php
    require_once ($_SERVER['DOCUMENT_ROOT'] . "/config/config.php") ;
    // =============================================================================================================================================================================
    class html {
    	private $debug;
    	private	$css = array(	DESIGN 	=>	"tbdesigner",
    							TD		=>	"td",
    							TR		=>	"tr",
    							TABLE	=>	"table"
    						) ;
     
    /**
    * 	__constructor
    *
    */	
    	function __construct($debug=False) {
    		print("__construct[html]". CRLF) ;
     
    		$this->debug = $debug  ; 
    	}
     
    /**
    * 	getClassTag
    *
    */	
    	function getClassTag($node)	{
    		if (in_array($node,$this->css))
    			return(	" class=\"".$this->css[$node]."\"" ) ;
    		else
    			user_error("getClassTag[".$node."] undefined !" , E_USER_ERROR) ;
    	}	
    /**
    * 	END: hrml
    *
    */	
    }
    // =============================================================================================================================================================================
    ?>
    Et finalement le config.php qui a tracassé certains d’entrevous...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    define('DESIGN' , "tbdesigner"	) ;
    define('TR' 	, "tr"		) ;
    define('TD' 	, "td"		) ;
    define('TABLE' 	, "table" 	) ;
    define('WIDTH' 	, "width"	) ;
    define('STYLE' 	, "style" 	) ;
     
    define('CRLF'	, "<br/>\n"	) ;
    ?>
    Des commentaires de puristes... ?
    lls sont tjs bons à prendre...
    Merci @vous tous...

  7. #27
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    peu etre, trouve tu cela simple a lire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    parent::__construct($debug) ;
    mais comme par l'exemple que je t'ai donné, ou par le tiens, tu comprends que ce n'est pas du tout la même chose...

    du moins le sens de lecture n'est pas le même...

    Je vais te donner un lien vers la doc php, tu dira si tu a le temps de t'y intéresser, pour peut etre voir cela d'une autre facon :

    http://php.net/manual/fr/language.oop5.interfaces.php

  8. #28
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut Qui est le FILS et qui est le PERE
    La seule différence est le __create remplacé par __construct, non ?
    Lequel est plus facile à lire... pile ou face...

    A 1ère vue, pas d'autre différence... même à 2ième...
    Vu des soucis inexpliqués, j'ai du remonter aux fondamentaux de php, ce que j'espère avoir fait... mais le problème de DEFINE reste inexpliqué... un bug php? Sans doute mais ce n'est pas à moi de le dire !
    Que m'apporte la notion d'interface ? Si ce n'est l'obligation de devoir implémenter des méthodes... ce qui dans mon cas n'apporte rien !

    Merci

  9. #29
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut Qui est le FILS et qui est le PERE
    Je me confronte à nouveau au problème des defines comme explique en tête de ce post que je copie-colle ici ci-dessous:

    Merci à vous pour votre aide

    PS: si nécessaire, le fichier source est en pièce attachée
    Et les prints sont ici aussi:

    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
     
    __construct[tabledesigner]
    __construct[cell]
    __construct[html]
    NEW1 	Row1 Col1 	Row1 Col2 	Row1 Col3
    NEW2 	Row2 Col1 	Row2 Col2 	Row2 Col3
    NEW3 	Row3 Col1 	Row3 Col2 	Row3 Col3
    NEW 	Row4 Col1 	Row4 Col2 	Row4 Col3
    DATA:
     
    Array
    (
        [0] => Array
            (
                [0] => Array
                    (
                        [0] => NEW1
                        [11] => eee
                    )
     
                [1] => Array
                    (
                        [0] => Row1 Col1
                        [22] => ddd
                    )
     
                [2] => Array
                    (
                        [0] => Row1 Col2
                        [1] => ddd
                    )
     
                [3] => Array
                    (
                        [0] => Row1 Col3
                        [1] => ddd
                    )
     
            )
     
        [1] => Array
            (
                [0] => Array
                    (
                        [0] => NEW2
                        [1] => eee
                    )
     
                [1] => Array
                    (
                        [0] => Row2 Col1
                        [1] => ddd
                    )
     
                [2] => Array
                    (
                        [0] => Row2 Col2
                        [1] => ddd
                    )
     
                [3] => Array
                    (
                        [0] => Row2 Col3
                        [1] => ddd
                    )
     
            )
     
        [2] => Array
            (
                [0] => Array
                    (
                        [0] => NEW3
                        [1] => eee
                    )
     
                [1] => Array
                    (
                        [0] => Row3 Col1
                        [1] => ddd
                    )
     
                [2] => Array
                    (
                        [0] => Row3 Col2
                        [1] => ddd
                    )
     
                [3] => Array
                    (
                        [0] => Row3 Col3
                        [1] => ddd
                    )
     
            )
     
        [3] => Array
            (
                [0] => Array
                    (
                        [0] => NEW
                        [1] => eee
                    )
     
                [1] => Array
                    (
                        [0] => Row4 Col1
                        [1] => ddd
                    )
     
                [2] => Array
                    (
                        [0] => Row4 Col2
                        [1] => ddd
                    )
     
                [3] => Array
                    (
                        [0] => Row4 Col3
                        [1] => ddd
                    )
     
            )
     
    )
    --
    Mais juste un petit souci de syntaxe sans doute...
    J'utilise des constantes définies dans un fichier config.php que voici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    define('WIDTH' 	, "width"	) ;
    define('STYLE' 	, "class" 	) ;
    Je balaye un tableau avec le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    		foreach($cell as $css => $cssvalue)	{
    			$tb .= "<td".$this->getClassTag("td").">".$cssvalue;
    			switch($css){
    				case STYLE : 
    				case WIDTH :	print("keyword[".$css."][".$cssvalue."]" . CRLF) ;
    								break ;
    				default		:	break ;
    			}
    			$tb .= "</td>\n" ;
    		}
    Tel quel cela ne donne pas les résultats espérés...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    keyword[0][NEW1]
    keyword[width][150]
    keyword[class][image]
    keyword[0][Row1 Col1]
    keyword[width][100]
    keyword[class][title]
    keyword[0][Row1 Col2]
    keyword[width][80]
    keyword[class][image]
    keyword[0][Row1 Col3]
    keyword[width][50]
    keyword[class][image]
    La valeur 0 n'est pas admise, voici le code de la création du tableau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $a = new tableDesigner(3,$css) ;
    $a->addRow(	 array(	array("<img src=\"image/new.gif\" border=0 alt=\"NEW1\" title=\"NEW1\" />"	,	WIDTH => 150	, STYLE => "image"  ) ,
    					array("Row1 Col1" , WIDTH => 100, STYLE => "title"  ) ,
    					array("Row1 Col2" , WIDTH =>  80, STYLE => "image"  ) ,
    					array("Row1 Col3" , WIDTH =>  50, STYLE => "image"  )
    				   ) 
    			) ;
    Si je change la définition des constantes par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    define('WIDTH' 	, "11"	) ;
    define('STYLE' 	, "12" 	) ;
    Cela fonctionne comme attendu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    keyword[11][150]
    keyword[12][image]
    keyword[11][100]
    keyword[12][title]
    keyword[11][80]
    keyword[12][image]
    keyword[11][50]
    keyword[12][image]
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/07/2006, 13h52
  2. Réponses: 11
    Dernier message: 09/05/2006, 09h34
  3. Quelle est cette commande qui plante linux?
    Par 123quatre dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 18/02/2006, 13h48
  4. Réponses: 7
    Dernier message: 30/11/2005, 15h15
  5. Champ vide = Liste Invisible mais c'est le SF qui est invisi
    Par samlepiratepaddy dans le forum Access
    Réponses: 13
    Dernier message: 29/09/2005, 15h45

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