Question

Je veux créer une recherche avance, quelque chose comme ceci:

  • Textbox: Recherche
  • Dropdown: recherche: nom, adresse ou par téléphone
  • Dropdown: Trier par Asc ou DEC
  • Dropdown: Trier par nom, lieu ou par téléphone
  • Dropdown: Recherche entre les dates (si elle est sélectionnée)

Quelle est la bonne façon d'ajouter ces paramètres dans la fonction pour le modèle?

Je suis venu avec cette solution:

class ShopsModel extends Model {

  findBy($find, $searchBy, $order, $sort, $betweenDate) {
   // some MySQL query here...
  }

}

Modifier : Je parle des variables - findBy($find, $searchBy, $order, $sort, $betweenDate) - Ai-je besoin de tous ces paramètres ou est-il une solution de rechange

Était-ce utile?

La solution

Votre solution semble être ok. Mais vous pouvez aussi utiliser décorateur modèle, de sorte que vous pouvez faire la requête suivante:

$shops = new ShopsModel();
$results = $shops->search('name', 'Tadeck')
    ->order_by('name', 'asc')
    ->between_dates('2012-02-01', '2012-03-14')
    ->fetch_all();

Autres conseils

Je pense que ce que vous décrivez doit être fait en collaboration avec une bibliothèque javascript comme knockoutjs ou backbone.js.

Nettuts a knockoutjs couverts et une démonstration est disponible ici: http: // Nettuts .s3.amazonaws.com / 1034_ko / demo / index.html

Si vous utilisez un modèle comme Yii, vous pouvez google pour des tutoriels comme celui-ci http://aiao.be/2012/01/29/knockout-js-with-the-yii-framework-hello-world-example/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top