Fonction search

2 views
Skip to first unread message

Zak

unread,
Jun 22, 2010, 4:37:25 AM6/22/10
to Cakephp-fra
Bonjour tout le monde,
Bon je me suis décidé, je me lance dans l'aventure cakephp que je
trouvé géniale.
Mais débutant que je suis, j'ai à des moments des problèmes de
partout.
Pour le moment, mes tables sont correctement dessinées, les modèles,
les vues et les controlleurs sont tout bon et j'arrive à naviguer dans
l'appli.
Ce que j'essaye de faire, c'est un espèce de moteur de recherche (un
formulaire ou l'on saisit un identifiant), et il me ressort la vue
juste pour l'id saisi.
Ma table sur laquelle je désire faire la recherche est sites.
Elle comporte deux champs qui m'interessent: id (clé primaire) et g2r
(qui est une référence de produit).
Je veux donc en tapant un g2r avoir en sorti la vue pour le site dont
le g2r est celui saisi.
J'ai essayé de mettre en place ce que j'ai lu sur le net par rapport à
la fonction search, mais ca ne veut pas fontionner, je suis sur que
j'ai des faute, mais puisque je ne suis pas encore développeur dans
l'ame; je passe à travers.
dans le header de ma page principe j'ai inséré ceci:
<?php
echo $form->create("Site",array('action' => 'search'));
echo $form->input("q", array('label' => 'Search for'));
echo $form->end("Search");
?>

puis dans le controlleur de sites j'ai mi ceci

<?php
function search() {
$this->set('results',$this->Site->search($this->data['Site']
['q']));
} ?>

dans le modèle de site j'ai ajouté ceci
class Site extends AppModel {
var $name = 'Site';
var $displayField = 'name';


var $actsAs = array ('Searchable');

var $validate = array(
'g2r' => array(
'rule' => array('minLength', 1)
)
);
?>

et j'ai créé search.ctp ou j'ai mis ceci:

<?php // app/views/sites/search.ctp ?>
<h1>recherche</h1>

<p><?php echo $html->link("View Site", "/sites/view"); ?>
<table>


<!-- Here's where we loop through our $results array, printing out
site info -->
<?php foreach ($results as $Site): ?>
<tr>
<td><?php echo $site['Site']['id']; ?></td>
<td><?php echo $html->link($site['Site']['g2r'],'/sites/view/'.
$site['Site']['id']);?></td>
<td><?php echo $html->link('Edit', '/sites/edit/'.$site['Site']
['id']);?></td>
<td><?php echo $site['Site']['created']; ?></td>
</tr>
<?php endforeach; ?>
</table>

-----------
Voila, en espérant que quelqu'un puisse me venir en aide, je vous en
serai très remerciant!

Je retourne cuisiner entretemps ;-)
Reply all
Reply to author
Forward
0 new messages