Requête qui revient

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Requête qui revient

par Sebe » 29 oct. 2007, 23:33

Modération :
Sebe, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.
Oups !

par zeus » 29 oct. 2007, 22:42

Modération :
Sebe, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

par Sebe » 29 oct. 2007, 22:40

C'est vrai que cela va beaucoup mieux ... un grand merci pour l'aide.



NB: Il n'y a visiblement pas de problème pour l'ordre entre l'appel et la fonction !

par zeus » 29 oct. 2007, 19:50

Si une fonction te retourne une valeur, il faut que tu places le résultat dans une variable
// Retourne le produit de 2 valeurs
function multiplie($val1, $val2)
{
  $produit = $val1 * $val2;
  return $produit;
}

$a = 2;
$b = 4;

$resultat = multiplie($a, $b); // Ici, je récupère le résultat de la fonction dans la variable $resultat
echo "Le résultat du produit de ". $a ." par ". $b ." est ". $resultat;

par Sebe » 29 oct. 2007, 19:46

N'y a-t-il pas un problème dans l'ordre du codage ?

appel -> fonction ???

par Sebe » 29 oct. 2007, 19:43

Salut,
la fonction dossard($id, $annee) te retourne la requête à exécuter. Dans ton exemple, tu ne récupères pas cette requête.
Que dois-je faire dans ce cas?

Merci

par zeus » 29 oct. 2007, 19:42

la fonction dossard($id, $annee) te retourne la requête à exécuter. Dans ton exemple, tu ne récupères pas cette requête.
function x() {
$id = 26; 
$annee = 2004;

dossard ($id, $annee); // Ici, tu ne récupère pas $query retournée

$database->setQuery( $query );
$database->loadObject($coureur);
echo '$dossard ' . $dossard = $coureur->dossard;
} 

par Sebe » 29 oct. 2007, 19:35

Salut,
Quel est l'erreur qu'il t'affiche à l'écran?
Aucune erreur ... rien n'en ressort !
J'ai quand même tester si les arguments passaient dans la fonction
echo '$id ' . $id . ' $annee ' . $annee;
Et c'est bon mais après rien n'est visiblement retourné !
Pourquoi tu as ça comme requête SQL:
En fait, je me suis mis dans l'idée de faire un composant pour Joomla! et c'est la méthodologie qui y est utilisé !

par Volkow » 29 oct. 2007, 19:13

Quel est l'erreur qu'il t'affiche à l'écran?

-----------------------------------------------------

Pourquoi tu as ça comme requête SQL:
$query = "SELECT *"
        . "\n FROM #__classement_chang"
        . "\n WHERE participant_id = '" . $id . "' AND annee ='" . $annee . "'"
         ; 
Au lieu de:
$query = "SELECT * FROM #__classement_chang" WHERE participant_id = '" . $id . "' AND annee ='" . $annee . "'";

Requête qui revient

par Sebe » 29 oct. 2007, 18:57

Salut,

J'aurais voulu utiliser une fonction pour une requête qui revient souvent dans mon code avec des arguments différents mais visiblement, j'ai un petit soucis pour faire cela convenablement !
La requête qui revient souvent :
$query = "SELECT *"
    	. "\n FROM #__classement_chang"
		. "\n WHERE participant_id = '" . $id . "' AND annee ='" . $annee . "'"
 		;
	$database->setQuery( $query );
	$database->loadObject($coureur);
	echo '$dossard ' . $dossard = $coureur->dossard;
Je voudrais donc en faire une fonction php avec les arguments $id et $annee. J'avais donc pensé à ceci:
function x() {
$id = 26; 
$annee = 2004;

dossard ($id, $annee);

$database->setQuery( $query );
$database->loadObject($coureur);
echo '$dossard ' . $dossard = $coureur->dossard;
}

// Tout le reste du code

function dossard ($id, $annee) {
	global $database;
	$query = "SELECT *"
    	. "\n FROM #__classement_chang"
		. "\n WHERE participant_id = '" . $id . "' AND annee ='" . $annee . "'"
 		;
	return $query;
	}
Evidement, cela ne fonctionne pas mais je ne sais pas pourquoi ... enfin si, je fais ma formation de codeur sur le tas :roll:

Quelqu'un pourrait-il m'expliquer ce que j'ai fait comme erreur ?

Merci