Bonne vieille requête php en bon SPIP 2

Bonsoir,

Je n'arrive pas à passer cette requête en pur style SPIP.
SELECT * from spip_collection WHERE montant_collection=(SELECT MAX(montant_collection) FROM spip_collection WHERE id_collection='$id_collection'
Pouvez-vous m'aider?

Bernard

--
Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978

Bernard Blazin Point Com

9 rue de la Rose
77320 Montolivet
Tel 01 64 20 98 49
http://www.bernardblazin.com

Stéphane Santon a écrit :

Bonjour,

Le 18/01/2010 20:25, Bernard Blazin a écrit :

Je n'arrive pas à passer cette requête en pur style SPIP.
SELECT * from spip_collection WHERE montant_collection=(SELECT
MAX(montant_collection) FROM spip_collection WHERE
id_collection='$id_collection'

Je tente une piste...

<BOUCLE_coll(COLLECTION){id_collection}{par montant_collection}{inverse}{0,1}>

</BOUCLE_coll>

Oui merci, ça doit marcher, mais c'est dans le cadre d'une requête php contenu dans un exec comme par exemple:
$res = sql_select('*', 'spip_articles', 'id_article<'.sql_quote(10));
Et là je ne sais pas comment l'organiser car tous mes essais sont foireux.

Bernard

--
Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978

Bernard Blazin Point Com

9 rue de la Rose
77320 Montolivet
Tel 01 64 20 98 49
http://www.bernardblazin.com

On 18/01/2010 20:25, Bernard Blazin wrote:

Bonsoir,

Je n'arrive pas à passer cette requête en pur style SPIP.
SELECT * from spip_collection WHERE montant_collection=(SELECT
MAX(montant_collection) FROM spip_collection WHERE
id_collection='$id_collection'
Pouvez-vous m'aider?

Bernard

// solution 1 avec sous requete

$sous_req = sql_get_select("MAX(montant_collection)", "spip_collection", "id_collection=" . sql_quote($id_collection));

$res = sql_select("*", "spip_collection", "montant_collection=($sous_req)");

// solution 2 avec calcul (puisque MAX ne renverra qu'un résultat, on n'a pas besoin d'une sous requete justement)

$max = sql_getfetsel("MAX(montant_collection)", "spip_collection", "id_collection=" . sql_quote($id_collection));

$res = sql_select("*", "spip_collection", "montant_collection=" . sql_quote($res));

//
Voila :slight_smile:

--
MM.

Matthieu Marcillaud a écrit :

On 18/01/2010 20:25, Bernard Blazin wrote:

Bonsoir,

Je n'arrive pas à passer cette requête en pur style SPIP.
SELECT * from spip_collection WHERE montant_collection=(SELECT
MAX(montant_collection) FROM spip_collection WHERE
id_collection='$id_collection'
Pouvez-vous m'aider?

Bernard

// solution 1 avec sous requete

$sous_req = sql_get_select("MAX(montant_collection)", "spip_collection", "id_collection=" . sql_quote($id_collection));

$res = sql_select("*", "spip_collection", "montant_collection=($sous_req)");

// solution 2 avec calcul (puisque MAX ne renverra qu'un résultat, on n'a pas besoin d'une sous requete justement)

$max = sql_getfetsel("MAX(montant_collection)", "spip_collection", "id_collection=" . sql_quote($id_collection));

$res = sql_select("*", "spip_collection", "montant_collection=" . sql_quote($res));

//
Voila :slight_smile:

Super! Merci...Ah Pourquoi n'ai-je pas ta science!!? :wink:

Bernard

--
Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978

Bernard Blazin Point Com

9 rue de la Rose
77320 Montolivet
Tel 01 64 20 98 49
http://www.bernardblazin.com