Voila mon probléme quand j'utilise un prefix du style membres mon autocomplete ne fonctionne pas
voici mon champ imput
<?php echo $this->Form->input('ville',array('label'=>"Ville : ",'id'=>'ville','class'=>'span8','title'=>"Veuillez inscrire votre ville. Facultatif","value"=>$membre'Membre']'ville'])); ?>
mon script
<script type="text/javascript">
$(document).ready(function(){
$('#ville').autocomplete({
source : 'ville.php',
minLength : 3,
});
$("#musique").click(function(){
if ($("#musique").is(":checked"))
{
$("#musique_type").show("fast");
}
else
{
$("#musique_type").hide("fast");
}
});
});
</script>
voici mon ville.php a la racine de mon site
<?php
/* veillez bien à vous connecter à votre base de données */
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');
// on sélectionne la base
mysql_select_db('covoit_world',$db)
printf($_GET);
$term = $_GET'term'];
$requete = $bdd->prepare('SELECT * FROM villes WHERE name LIKE :term'); // j'effectue ma requête SQL grâce au mot-clé LIKE
$requete->execute(array('term' => '%'.$term.'%'));
$array = array(); // on créé le tableau
while($donnee = $requete->fetch()) // on effectue une boucle pour obtenir les données
{
array_push($array, $donnee'name']); // et on ajoute celles-ci à notre tableau
}
echo json_encode($array); // il n'y a plus qu'à convertir en JSON
?>
et enfin ma function dans le controller de cake
function ville(){
$term = $_GET'term'];
$this->loadModel('Ville');
if (is_numeric($term))
{
$this->loadModel('Ville');
if ( $this->RequestHandler->isAjax() ) {
Configure::write ( 'debug', 0 );
$this->autoRender=false;
$requetes=$this->Ville->find('all',array('conditions'=>array('Ville.code LIKE'=>'%'.$_GET'term'].'%')));
$i=0;
foreach($requetes as $requete){
$response$i]'value']=$requete'Ville']'name'].' '.$requete'Ville']'code'].' '.$response$i]'dep']=$requete'Ville']'dep'];
$i++;
}
echo json_encode($response);
}else{
if (!empty($this->data)) {
$this->set('villes',$this->paginate(array('Ville.code LIKE'=>'%'.$this->data'Ville']'code'].'%')));
}
}
}else{
if ( $this->RequestHandler->isAjax() ) {
Configure::write ( 'debug', 0 );
$this->autoRender=false;
$requetes=$this->Ville->find('all',array('conditions'=>array('Ville.name LIKE'=>'%'.$_GET'term'].'%')));
$i=0;
foreach($requetes as $requete){
$response$i]'value']=$requete'Ville']'name'].' '.$requete'Ville']'code'].' '.$response$i]'dep']=$requete'Ville']'dep'];
$i++;
}
echo json_encode($response);
}else{
if (!empty($this->data)) {
$this->set('villes',$this->paginate(array('Ville.name LIKE'=>'%'.$this->data'Ville']'name'].'%')));
}
}
}
}
bon voila le probleme quand je regarde Firebug sur le debug html de la requete du get j'ai
Parse error: syntax error, unexpected T_STRING in D:\site internet\wamp\www\covoit_world\app\webroot\membres\ville.php on line 10
or la ligne 10 c printf($_GET);
voila merci d'avance pour votre aide
Quelle est l'utilité ici de ton fichier ville.php?
Fais un var_dump a la place du printf :)