J'essaie de me mettre au Php Objet et je bute sur un probleme qui
devrait pourtant etre simple, a mon avis ...
Je souhaite remplacer mysql_fetch_array par mysql_fetch_object dans
cette sequence la:
// cette section est realisee dynamiquement par une partie precedente
du programme
define('TABLE_COMPETITION', '00_00_competition');
define('FIELD_COMPETITION_ID', 'competition_ID');
define('FIELD_COMPETITION_DIVISION', 'competition_division');
define('FIELD_COMPETITION_DATE', 'competition_date');
// recupere toutes les competitions pour une date donnee
$query = 'SELECT *';
$query .= ' FROM '.TABLE_COMPETITION;
$query .= ' WHERE '.FIELD_COMPETITION_DATE.' = \''.date("Y-m-d",
$unix_date).'\'';
$result = mysql_query( $query );
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
John GALLET
Bonjour,
mais ca n'est pas reconnu, ni même avec $row->(FIELD_COMPETITION_ID) ou même $row->$$FIELD_COMPETITION_ID . Bref, je n'ai pas trouvé comment acceder un attribut d'un objet avec une constante ...
Il y a peut-être plus simple, mais la syntaxe ci-dessous fonctionne :
<?php define('C',1); class maclasse { var $toto1; } $instance=new maclasse; ${"instance"}->{"toto".C}=4; echo $instance->toto1; ?>
Ceci étant dit, si les propriétés de ton obet mappent les champs de la table 1 pour 1, peut-être pourrais-tu te contenter d'avoir le nom des propriétés égal au nom des colonnes, en plus ça t'éviterait de t'emmêler les pinceaux dans les noms.
a++ JG
Bonjour,
mais ca n'est pas reconnu, ni même avec $row->(FIELD_COMPETITION_ID)
ou même $row->$$FIELD_COMPETITION_ID .
Bref, je n'ai pas trouvé comment acceder un attribut d'un objet avec
une constante ...
Il y a peut-être plus simple, mais la syntaxe ci-dessous fonctionne :
<?php
define('C',1);
class maclasse {
var $toto1;
}
$instance=new maclasse;
${"instance"}->{"toto".C}=4;
echo $instance->toto1;
?>
Ceci étant dit, si les propriétés de ton obet mappent les champs de la
table 1 pour 1, peut-être pourrais-tu te contenter d'avoir le nom des
propriétés égal au nom des colonnes, en plus ça t'éviterait de t'emmêler
les pinceaux dans les noms.
mais ca n'est pas reconnu, ni même avec $row->(FIELD_COMPETITION_ID) ou même $row->$$FIELD_COMPETITION_ID . Bref, je n'ai pas trouvé comment acceder un attribut d'un objet avec une constante ...
Il y a peut-être plus simple, mais la syntaxe ci-dessous fonctionne :
<?php define('C',1); class maclasse { var $toto1; } $instance=new maclasse; ${"instance"}->{"toto".C}=4; echo $instance->toto1; ?>
Ceci étant dit, si les propriétés de ton obet mappent les champs de la table 1 pour 1, peut-être pourrais-tu te contenter d'avoir le nom des propriétés égal au nom des colonnes, en plus ça t'éviterait de t'emmêler les pinceaux dans les noms.
a++ JG
Julduck
Merci JG,
En effet, ta syntaxe m'a l'air moins lisible. Je vais rester avec mysql_fetch_array pour l'instant, à moins que quelqu'un d'autre ait une meilleure idee. La raison pour laquelle je mappe les champs par des constantes est que mes tables peuvent etre utilisees par plusieurs sites en meme temps, donc avec des noms de champs plus ou moins differents, en particulier pour les noms de table. Je vais peut-etre reconsiderer la question pour les noms de champs, tu as raison ...
A plus,
Julien
Merci JG,
En effet, ta syntaxe m'a l'air moins lisible.
Je vais rester avec mysql_fetch_array pour l'instant, à moins que
quelqu'un d'autre ait une meilleure idee.
La raison pour laquelle je mappe les champs par des constantes est que
mes tables peuvent etre utilisees par plusieurs sites en meme temps,
donc avec des noms de champs plus ou moins differents, en particulier
pour les noms de table.
Je vais peut-etre reconsiderer la question pour les noms de champs, tu
as raison ...
En effet, ta syntaxe m'a l'air moins lisible. Je vais rester avec mysql_fetch_array pour l'instant, à moins que quelqu'un d'autre ait une meilleure idee. La raison pour laquelle je mappe les champs par des constantes est que mes tables peuvent etre utilisees par plusieurs sites en meme temps, donc avec des noms de champs plus ou moins differents, en particulier pour les noms de table. Je vais peut-etre reconsiderer la question pour les noms de champs, tu as raison ...
A plus,
Julien
frederic girard
Julduck wrote:
Merci JG,
En effet, ta syntaxe m'a l'air moins lisible. Je vais rester avec mysql_fetch_array pour l'instant, à moins que quelqu'un d'autre ait une meilleure idee. La raison pour laquelle je mappe les champs par des constantes est que mes tables peuvent etre utilisees par plusieurs sites en meme temps, donc avec des noms de champs plus ou moins differents, en particulier pour les noms de table. Je vais peut-etre reconsiderer la question pour les noms de champs, tu as raison ...
A plus,
Julien Il me semble qu'il existe plusiseurs methodes d'écriture de variables
dynamiques : Dans votre cas :
class MyObj{ var $test = "un test";
} define(A,"test"); $obj = new MyObj();
echo $obj->{A}; //affiche 'un test'
Ceci fonctionne;)
Julduck wrote:
Merci JG,
En effet, ta syntaxe m'a l'air moins lisible.
Je vais rester avec mysql_fetch_array pour l'instant, à moins que
quelqu'un d'autre ait une meilleure idee.
La raison pour laquelle je mappe les champs par des constantes est que
mes tables peuvent etre utilisees par plusieurs sites en meme temps,
donc avec des noms de champs plus ou moins differents, en particulier
pour les noms de table.
Je vais peut-etre reconsiderer la question pour les noms de champs, tu
as raison ...
A plus,
Julien
Il me semble qu'il existe plusiseurs methodes d'écriture de variables
En effet, ta syntaxe m'a l'air moins lisible. Je vais rester avec mysql_fetch_array pour l'instant, à moins que quelqu'un d'autre ait une meilleure idee. La raison pour laquelle je mappe les champs par des constantes est que mes tables peuvent etre utilisees par plusieurs sites en meme temps, donc avec des noms de champs plus ou moins differents, en particulier pour les noms de table. Je vais peut-etre reconsiderer la question pour les noms de champs, tu as raison ...
A plus,
Julien Il me semble qu'il existe plusiseurs methodes d'écriture de variables