Reqeuete sql et order by
sisi
-
sisi -
sisi -
Bonjour,
J'ai une requete comme ceci :
$query = "SELECT data_txt,fieldid from data where itemid=".$id_param->itemid." order by data_txt desc";
Dans ma table, j'ai un champ qui se nomme : data_txt.
Dans ce champ sont stockés : adresse mail, tarif, nom, prenom ...
Il y a tout dedans. Un itemid permet de les classer.
Exemple annonce 1 (itemid 1) qui contient dans data_txt : moi@eee.fr, 100, Proul, Michel ...
annonce 2 (itemid 2) qui contient dans data_txt : tttttoi@eee.fr, 25, Patoulatchi, Michel...
C'est un composant réalisé pour Joomla donc je ne peux le modifier ...
Ce que j'aimerais faire c'est lister tout ces résultats par ordre de prix ASC ou DESC.
Comment faire car ma requete actuelle tri mais prend en compte les champs texte ...?
Il me faudrait quelque chose dans ce style :
where itemid=".$id_param->itemid." order by data_txt='16' desc"
J'ai une requete comme ceci :
$query = "SELECT data_txt,fieldid from data where itemid=".$id_param->itemid." order by data_txt desc";
Dans ma table, j'ai un champ qui se nomme : data_txt.
Dans ce champ sont stockés : adresse mail, tarif, nom, prenom ...
Il y a tout dedans. Un itemid permet de les classer.
Exemple annonce 1 (itemid 1) qui contient dans data_txt : moi@eee.fr, 100, Proul, Michel ...
annonce 2 (itemid 2) qui contient dans data_txt : tttttoi@eee.fr, 25, Patoulatchi, Michel...
C'est un composant réalisé pour Joomla donc je ne peux le modifier ...
Ce que j'aimerais faire c'est lister tout ces résultats par ordre de prix ASC ou DESC.
Comment faire car ma requete actuelle tri mais prend en compte les champs texte ...?
Il me faudrait quelque chose dans ce style :
where itemid=".$id_param->itemid." order by data_txt='16' desc"
A voir également:
- Reqeuete sql et order by
- Files by google - Accueil - Applications & Logiciels
- By click downloader avis - Forum Enregistrement / Traitement audio
- Logiciel sql - Télécharger - Bases de données
- By click downloader ne fonctionne plus - Forum Enregistrement / Traitement audio
- Ads by cooking ✓ - Forum Virus
4 réponses
en faite, le prix a comme fieldid le numéro 16.
Donc il faudrait dans ma requete tester where fieldif='16' et trier selon le prix ...
Donc il faudrait dans ma requete tester where fieldif='16' et trier selon le prix ...
Bon je sais pas si je vais répondre au sujet et surtout si j'ai bien compris.
Quand tu fais ta requête, tu obtient donc un seul champ texte qui content toutes les infos séparer par des ','.
Il existe une méthode en PHP qui à partir d'une variable, retourne un tableau se sous-chaîne de caractères en utilisant un séparateur (fonction split().
C'est à dire que dans ton cas je ferais un truc du genre :
Donc avec la fonction split tu obtiens un tableau $tab de taille $tab.length.
Pour l'exemple ou $query[0] = "moi@eee.fr, 100, Proul, Michel"
Tu obtiens donc
$tab[0] = "moi@eee.fr"
$tab[1] = "100"
$tab[2] = "Michel"
Après c'est une idée un peu rafistolée mais bon ca peut marcher.
Bon désolé j'ai pas trop le temps de chercher mais bon je voulais donner une piste, je pense que quelqu'un d'autre aura une meilleur solution.
Quand tu fais ta requête, tu obtient donc un seul champ texte qui content toutes les infos séparer par des ','.
Il existe une méthode en PHP qui à partir d'une variable, retourne un tableau se sous-chaîne de caractères en utilisant un séparateur (fonction split().
C'est à dire que dans ton cas je ferais un truc du genre :
$query = "SELECT data_txt,fieldid from data where itemid=".$id_param->itemid." order by data_txt desc";
$tab = $query[0].split(',');
Donc avec la fonction split tu obtiens un tableau $tab de taille $tab.length.
Pour l'exemple ou $query[0] = "moi@eee.fr, 100, Proul, Michel"
Tu obtiens donc
$tab[0] = "moi@eee.fr"
$tab[1] = "100"
$tab[2] = "Michel"
Après c'est une idée un peu rafistolée mais bon ca peut marcher.
Bon désolé j'ai pas trop le temps de chercher mais bon je voulais donner une piste, je pense que quelqu'un d'autre aura une meilleur solution.
Tout d'abord merci pour ton aide.
Voici ma table :
Le prix est contenu dans data_txt au même titre que toute autre informations.
Afin de pouvoir le retrouver, c'est le fieldid 16.
Quand j'affiche le résultat de la requete en php, la seule séparation est un espace ...
Ce que je 'aimerais c'est faire le tri directement dans la requete
Voici ma table :
CREATE TABLE IF NOT EXISTS 'data' (
'id' int(11) NOT NULL auto_increment,
'fieldid' int(11) default NULL,
'data_txt' text,
'data_bool' tinyint(1) default NULL,
'data_int' int(20) default '0',
'data_float' float default '0',
'data_char' varchar(255) NOT NULL,
'itemid' int(11) default NULL,
'expiration' datetime default NULL,
PRIMARY KEY ('id'),
KEY 'itemid' ('itemid')
)
Le prix est contenu dans data_txt au même titre que toute autre informations.
Afin de pouvoir le retrouver, c'est le fieldid 16.
Quand j'affiche le résultat de la requete en php, la seule séparation est un espace ...
Ce que je 'aimerais c'est faire le tri directement dans la requete