Faire des requêtes SQL via une UDT , passage de plusieurs paramètres

Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
#1
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.12.x
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour,

J'utilise dans mon site les informations contenus dans le tuto "Faire des requêtes SQL via une UDT" sur le wiki (désolé je n'ai pas l'autorisation de mettre des URL...) , et doit modifier mon UDT pour passer plusieurs paramètres

Cependant , je ne comprends pas l'utilisation du ? pour le passage du paramètre.
Aussi, comment passer plusieurs paramètres ?

Merci
#1
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.12.x
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour,

J'utilise dans mon site les informations contenus dans le tuto "Faire des requêtes SQL via une UDT" sur le wiki (désolé je n'ai pas l'autorisation de mettre des URL...) , et doit modifier mon UDT pour passer plusieurs paramètres

Cependant , je ne comprends pas l'utilisation du ? pour le passage du paramètre.
Aussi, comment passer plusieurs paramètres ?

Merci
#2
Bonsoir,
tu as un exemple de code?
{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
#2
Bonsoir,
tu as un exemple de code?
{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
#3
pixetmots a écrit :Cependant , je ne comprends pas l'utilisation du ? pour le passage du paramètre.
Aussi, comment passer plusieurs paramètres ?

Si il s'agit d'un passage de paramètres à partir d'une URL, alors cela se transmet de cette façon :
Code :
http://www.domain.tld/page?param1=plop&param2=29&param3=toto
Exacore - Freelance en communication
#3
pixetmots a écrit :Cependant , je ne comprends pas l'utilisation du ? pour le passage du paramètre.
Aussi, comment passer plusieurs paramètres ?

Si il s'agit d'un passage de paramètres à partir d'une URL, alors cela se transmet de cette façon :
Code :
http://www.domain.tld/page?param1=plop&param2=29&param3=toto
Exacore - Freelance en communication
#4
Voici le code extrait du wiki que j'utilise :

*** debut de citation du wiki ****

Et avec un paramètre ?
On a vu dans les autres tuto que l'on pouvait appeler les UDT avec des paramètres.

Exemple {mon_udt prenom="Jean"} qui est récupérable dans mon udt sous la forme

$prenom = params['prenom'];
On peut donc utiliser ce paramètre pour améliorer les requêtes de notre exercice.


changer ces quelques lignes :

// on crée la requête SQL, en s'assurant de se libérer du préfixe cms_ qui peut différer d'une installation à une autre
$sql = 'SELECT nom,prenom,email FROM `'.cms_db_prefix().'module_monmodule_user` WHERE prenom = ? ORDER BY `nom`';

//Liste des paramètres (array)
$parametreSql = array();
$parametreSql[] = $params['prenom'];


//exécution de la requête et on test le code retour
$dbretour = $db->Execute($sql, $parametreSql);

Notez l'utilisation d'un point d'interrogation, c'est plus sécurisé que de faire Where prenom = '.$param["prenom"].'

*** Fin de citation du wiki ***

Ma question est donc comment utiliser 2 paramètres différents dans l'écriture de la requête $sql=...

Merci
#4
Voici le code extrait du wiki que j'utilise :

*** debut de citation du wiki ****

Et avec un paramètre ?
On a vu dans les autres tuto que l'on pouvait appeler les UDT avec des paramètres.

Exemple {mon_udt prenom="Jean"} qui est récupérable dans mon udt sous la forme

$prenom = params['prenom'];
On peut donc utiliser ce paramètre pour améliorer les requêtes de notre exercice.


changer ces quelques lignes :

// on crée la requête SQL, en s'assurant de se libérer du préfixe cms_ qui peut différer d'une installation à une autre
$sql = 'SELECT nom,prenom,email FROM `'.cms_db_prefix().'module_monmodule_user` WHERE prenom = ? ORDER BY `nom`';

//Liste des paramètres (array)
$parametreSql = array();
$parametreSql[] = $params['prenom'];


//exécution de la requête et on test le code retour
$dbretour = $db->Execute($sql, $parametreSql);

Notez l'utilisation d'un point d'interrogation, c'est plus sécurisé que de faire Where prenom = '.$param["prenom"].'

*** Fin de citation du wiki ***

Ma question est donc comment utiliser 2 paramètres différents dans l'écriture de la requête $sql=...

Merci
#5
Bonsoir,

Exemple :

Code :
$query = 'SELECT nom, prenom FROM ' . cms_db_prefix() . 'module_monmodule_user WHERE prenom=? AND nom=?';
$result = cmsms()->GetDb()->GetArray($query, array($params['prenom'], $params['nom']) );
#5
Bonsoir,

Exemple :

Code :
$query = 'SELECT nom, prenom FROM ' . cms_db_prefix() . 'module_monmodule_user WHERE prenom=? AND nom=?';
$result = cmsms()->GetDb()->GetArray($query, array($params['prenom'], $params['nom']) );


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)