Fork me on GitHub




(1) 2 »


Criteria is not null
Guest_
Bonjour
Comment faire cette requête avec la couche d'abstration de Xoops?

SELECT *
FROM `asap_transmedia`
WHERE `fax` IS NOT NULL

j'ai essayé

$media =& xoops_gethandler('transmedia');
$criteria = new CriteriaCompo(new criteria('UiD', $xoopsUser->getVar('uid')));
$criteria->add (new criteria("",'fax is not null'));
ce qui donne
SELECT * FROM asap_transmedia WHERE (UiD = '1' AND = 'fax is not null') et donc ne marche pas

également
$criteria->add (new criteria('fax','fax is not null'));
ce qui donne le même résultat

Mon meilleur resulat mais ne marche toujours pas et pour cause c'est
$criteria->add (new criteria('', 'fax','fax is not null'));
qui donne
SELECT * FROM asap_transmedia WHERE (UiD = '1' AND fax is not null 'fax')

Merci pour votre aide
Cdl
William

Posté le : 25/08/2006 11:31
Partager Twitter Partagez cette article sur GG+
Re: Criteria is not null
Régulier
Inscrit: 06/01/2006 23:55
Messages: 379

Posté le : 25/08/2006 12:38
Partager Twitter Partagez cette article sur GG+
Re: Criteria is not null
Guest_
Merci je continue à gratter
il y a pas grand chose à faire, juste à ne pas avoir ce '=' au milieu et tout irait comme je le veux

Cdl

Posté le : 25/08/2006 13:12
Partager Twitter Partagez cette article sur GG+
Re: Criteria is not null
Guest_
Ouais

Visiblement cela ne fonctionnera pas sans modif

http://www.xoops.org/modules/newbb/vi ... id=168103#forumpost168103

Cdl
William

Posté le : 25/08/2006 14:24
Partager Twitter Partagez cette article sur GG+
Re: Criteria is not null
Guest_
Re
je modifie ma base pour fonctionner autrement....
Pas envie de me lancer dans la modif des scripts.
Si vous avez une réponse dans le temps je suis preneur

Cdl
William

Posté le : 25/08/2006 15:08
Partager Twitter Partagez cette article sur GG+
Re: Criteria is not null
Semi pro
Inscrit: 06/01/2004 09:37
De Non loin de Paris
Messages: 666
Salut,

$criteria->add(new criteria('fax''null','is not'));


Je n'ai pas testé

A+

Posté le : 25/08/2006 17:48
Partager Twitter Partagez cette article sur GG+
Re: Criteria is not null
Guest_

Merci pour ta participation
Voici le résultat de la requête

SELECT * FROM asap_transmedia WHERE (uid = '1' AND fax is not 'null')

Donc presque mais.... presque.

Merci
Cdl
William

Posté le : 25/08/2006 17:56
Partager Twitter Partagez cette article sur GG+
Re: Criteria is not null
Semi pro
Inscrit: 06/01/2004 09:37
De Non loin de Paris
Messages: 666
Je viens de regarder la class Criteria et la valeur est obligé d'etre entre quote pour des raison de sécurité (attaque par injection SQL).
Tu peut contourné le problème avec cette requette :
$criteria->add(new criteria('fax'''));

Et en declarant ta colonne comme NOT NULL.

A+

Posté le : 25/08/2006 18:26
Partager Twitter Partagez cette article sur GG+
Re: Criteria is not null
Guest_
Re
Pourrais tu développer
"en declarant ma colonne en not null"??

Dans la base ou dans la class qui gére la table?

Merci
Cdl
William

Re
Tu me parle de ce fichier là?
function transmedia ($id=null)
{
$this->db =& Database::getInstance();
$this->initVar("idTransMedia",XOBJ_DTYPE_INT,null,false,10);
$this->initVar("date",XOBJ_DTYPE_TXTBOX,null,false);
$this->initVar("uid",XOBJ_DTYPE_INT,null,false,10);
$this->initVar("mail",XOBJ_DTYPE_TXTBOX, null, false);
$this->initVar("msn",XOBJ_DTYPE_TXTBOX, null, false);
$this->initVar("skype",XOBJ_DTYPE_TXTBOX, null, false);
$this->initVar("yahoo",XOBJ_DTYPE_TXTBOX, null, false);
$this->initVar("gsm",XOBJ_DTYPE_TXTBOX, null, false);
$this->initVar("tel",XOBJ_DTYPE_TXTBOX, null, false);
$this->initVar("site",XOBJ_DTYPE_TXTBOX, null, false);
$this->initVar("fax",XOBJ_DTYPE_TXTBOX, null, false);

Cdl

Posté le : 25/08/2006 18:30
Partager Twitter Partagez cette article sur GG+
Re: Criteria is not null
Semi pro
Inscrit: 06/01/2004 09:37
De Non loin de Paris
Messages: 666
Non , je te parle au niveau de la base SQL. Si tu veut testé si la valeur NULL et présente ou pas, ce doit etre que tu a déclaré ta colonne comme ceci :

`photo_desc` varchar(255) default NULL

Posté le : 25/08/2006 23:28
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
(1) 2 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

81 Personne(s) en ligne (74 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 81 | Plus ...