IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[CakePHP] Fonction paginate


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 95
    Par défaut [CakePHP] Fonction paginate
    Bonjour a tous, je seche sur un soucis lorsque j'utilise la fonction paginate.

    Je souhaite faire passer le caractere '-' dans une simple requete sur mon serveur dans le cadre d'un moteur de recherche.

    Le soucis c'est que la requete qui part est :

    SELECT COUNT(*) AS `count` FROM `standards` AS `table` WHERE `table`.`field` LIKE '%-%'

    J'ai donc un caractere ASCII a la place de mon '-'...

    Le code qui permet de faire cela est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $criteria = $this->search('criteria);
    		if($criteria !== false){
    			$condition[] = 'Modele.field LIKE \'%'.$criteria.'%\'';
    		}
     
    		$this->Modele->recursive = 0;
    		$this->paginate = array(
    			'limit'=>10,
    			'conditions' => $condition,
    		);
    A noter que dans criteria je place un '-', et que la methode paginate n'est pas surcharge...

    Voila je seche et je stress car je comprends pas ce qui ne va pas n'etant pas non plus expert de cakphp... hors la deadline qui m'est impose est super short.

    J'espere arriver a trouver rapidement une solution et je vous remercie de votre aide...

    EDIT : Correction sur la requete envoye, j'avais mis celle souhaite au depart...

    ps : desole pour le manque d'accent j'utilise le pc d'un collegue qui est en qwerty.

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Citation Envoyé par Goffer Voir le message
    Le soucis c'est que la requete qui part est :

    SELECT COUNT(*) AS `count` FROM `standards` AS `table` WHERE `table`.`field` LIKE '%-%'

    J'ai donc un caractere ASCII a la place de mon '-'...

    Bonjour,
    Je ne vois pas de caractère ASCII .....je ne vois pas non plus ce qui cloche dans la requête ?!
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 95
    Par défaut
    Salut et merci de ta reponse, le caractere ASCII de '-' est introduit dans la requete a place de '-' donc je n'obtiens aucun resultats de recherche...

    A noter que lorsque je remplace $condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $criteria = $this->search('criteria);
    		if($criteria !== false){
    			$condition[] = 'Modele.field LIKE \'%'.$criteria.'%\'';
    		}
    		
    		$this->Modele->recursive = 0;
    		$this->paginate = array(
    			'limit'=>10,
    			'conditions' => $condition,
    		);
    par
    array(
    'conditions' => array('Modele.champ' => '-' )
    )

    Alors j'obtiens la requete que je desire

    SELECT COUNT(*) AS `count` FROM `standards` AS `table` WHERE `table`.`field` LIKE '%-%'

    Pourtant lorsque je fais un pr() de condition pour voir ce qu'il y a a l'interieur, j'ai bien mon '-'.. je comprends vraiment pas

  4. #4
    Membre éclairé
    Profil pro
    Dév FrontEnd
    Inscrit en
    Avril 2005
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Dév FrontEnd

    Informations forums :
    Inscription : Avril 2005
    Messages : 239
    Par défaut
    Je ne vois pas de caractère ASCII non plus ...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2005
    Messages : 58
    Par défaut
    Deja il manque un guillemet pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $criteria = $this->search('criteria');
    ... mais c'est sans doute du a un copier coller.

    Autrement, tu peux essayer la syntaxe suivante (qui est la syntaxe correcte) pour la condition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if($criteria !== false){
    	$condition['Modele.field LIKE'] = '%' . $criteria . '%';
    }
    Cela donne quoi ?

Discussions similaires

  1. [PHP 5.3] pagination en fonction de l'id dans l'url
    Par laurentche dans le forum Langage
    Réponses: 20
    Dernier message: 10/07/2013, 10h32
  2. [AJAX] Cakephp Ajax pagination search and refresh
    Par lefebvresdesigns dans le forum jQuery
    Réponses: 2
    Dernier message: 31/05/2013, 21h56
  3. [AJAX] Désactivation lien pour fonction pagination
    Par energie13 dans le forum jQuery
    Réponses: 1
    Dernier message: 11/03/2013, 22h41
  4. Fonction pagination wordwrap prenant en compte le html
    Par Halex78 dans le forum Langage
    Réponses: 1
    Dernier message: 03/09/2008, 11h56
  5. Problème dans l'implémentation d'une fonction de pagination
    Par Lost In Translation dans le forum Langage
    Réponses: 2
    Dernier message: 11/12/2007, 10h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo