Bonjour,
je susi entrain de mettre en place le plugin autocomplete jquery-ui et je rencontre un dernier soucis le plugin fonctionne bien mais je voudrai selectionner les donnees en fonction de ce que je met dans le champ qui utilise l'autocomplete, mais je n'y arrive pas !!! je pense qu'il faut que je mettes un LIKE dans la requete sql mais rien a faire j'ai toujours toutes mes lignes qui s'affiche dans la selection quelque soit le caractere que je mets.
je mets le code dessous si vous avez une idee d'ou peut provenir le soucis je suis preneur.
merci d'avance
Gilles
Le JS:
jQuery(function($){
$.datepicker.setDefaults( $.datepicker.regional'fr']);
$('#datepicker').datepicker({
dateFormat : 'dd/mm/yy'
});
$("#immat").autocomplete({
minLength: 1,
source: function(request, response) {
$.ajax({// call AJAX
url: '../agence/arrivees.php',
type: "GET",
dataType: 'json',
data: 'q=' + request.term, // défini le terme à rechercher
async: true,
cache: true,
success: function(ac_data) {
response(ac_data); // On va ajouter le résultat au tableau des résultats d'Autocomplete
},
error: function(msg) {
alert('Une erreur est survenue.');
}
});
},
select: function(event, ui) { // Assigniation de la valeur des champs au select
$('#immat').val(ui.item.immat);
$('#mva').val(ui.item.mva);
$('#marque').val(ui.item.marque);
$('#modele').val(ui.item.modele);
}
});
});
le PHP:
<?php
include '../lib/includes.php';
include '../partials/header.php';
/**
* Recherche des agences
*/
$select = $db->query("SELECT * FROM agences");
$agences = $select->fetchAll();
$agences_list = array();
foreach($agences as $agence){
$agences_list$agence->id] = $agence->name;
}
/**
* Recherche des vehicules pas arrivés
*/
$select = $db->query("SELECT vehicules.id, vehicules.immat, vehicules.chassis, vehicules.mva, typesmines.marque, typesmines.modele FROM typesmines LEFT JOIN vehicules ON typesmines.id = vehicules.typesmine_id");
$results = $select->fetchAll();
$datas = array();
foreach($results as $result){
$datas] = array(
'id' => $result->id,
'immat' => $result->immat,
'mva' => $result->mva,
'chassis' => $result->chassis,
'marque' => $result->marque,
'modele' => $result->modele,
'label' => $result->immat,
'value' => $result->immat
);
}
if (!empty($_GET'q'])) {
ob_get_clean();
die(json_encode($datas));
}
?>
<h1>Saisie date arrivée en agence</h1>
<hr>
<form method="post" action="" class="form-horizontal">
<div class="form-group">
<label class="control-label col-sm-2" for="immat">Immatriculation :</label>
<div class="col-sm-2">
<?= input('immat'); ?>
</div>
<label class="control-label col-sm-2" for="mva">Mva :</label>
<div class="col-sm-2">
<?= input_read('mva'); ?>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="marque">Marque :</label>
<div class="col-sm-2">
<?= input_read('marque'); ?>
</div>
<label class="control-label col-sm-2" for="modele">Modèle :</label>
<div class="col-sm-2">
<?= input_read('modele'); ?>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="agence_id">Agence :</label>
<div class="col-sm-2">
<?= select('agence_id', $agences_list); ?>
</div>
<label class="control-label col-sm-2" for="date_arrivee">Date Arrivée :</label>
<div class="col-sm-2">
<input type="text" name="date_arrivee" id="datepicker" value="" class="form-control" />
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="comment">Commentaires :</label>
<div class="col-sm-6">
<?= textarea('comment'); ?>
</div>
</div>
</form>
</div>
Bonsoir,
bon j ai enfin trouvé!!!
j ai mis ce code dans la requete
WHERE immat LIKE '".$_GET'q']."%'"
et cela fonctionne impeccable.
Gilles