EDIT : Faits-le sans Zend au moins dans un premier temps.When a String is used, the Autocomplete plugin expects that string to point to a URL resource that will return JSON data. It can be on the same host or on a different one (must provide JSONP). The request parameter "term" gets added to that URL. The data itself can be in the same format as the local data described above.
Code : Tout sélectionner
function listerNoclient()
{
// Connexion
$dbConn = new PDO($this->_dsn, $this->_username, $this->_password);
// Preparation de le requete
$pdoStmt = $dbConn->prepare('SELECT NO_CLI_VPC FROM VCCLICGP WHERE DT_SUP IS NULL AND NO_CLI_VPC LIKE "%term%"');
// Execution de la requete
$pdoStmt->execute();
$res = $pdoStmt->fetchAll(PDO::FETCH_COLUMN);
//Courrier_Log::getInstance()->logDebug(print_r($res, true));
// Fermeture connexion
$dbConn = null;
return $res;
}
<?php
// Connexion
$dbConn = new PDO($this->_dsn, $this->_username, $this->_password);
// Preparation de le requete
$pdoStmt = $dbConn->prepare('SELECT NO_CLI_VPC as value FROM VCCLICGP WHERE DT_SUP IS NULL AND NO_CLI_VPC LIKE "term%" LIMIT 0,10');
// Execution de la requete
$pdoStmt->execute();
$res = $pdoStmt->fetchAll(PDO::FETCH_ASSOC);
//Courrier_Log::getInstance()->logDebug(print_r($res, true));
// Fermeture connexion
$dbConn = null;
echo json_encode($res);
Note que j'ai rajouté une clause LIMIT dans la requête, que j'ai mis le % seulement après terme pour que si tu tappes
Code : Tout sélectionner
$this->view->autocompleteElement = new ZendX_JQuery_Form_Element_AutoComplete('autoComplete');
$this->view->autocompleteElement->setJQueryParams(array("source" => 'pilotage/search'))
->setAttrib('size',10,10,10)
->setAttrib('limit',10)
->setJQueryParam('minLength',4);Code : Tout sélectionner
<?php
$dsn = Zend_Registry::get('ZendConfig')->pdo->dsn;
$username = Zend_Registry::get('ZendConfig')->pdo->username;
$password = Zend_Registry::get('ZendConfig')->pdo->password;
// Connexion
$dbConn = new PDO($dsn, $username, $password);
$search = $_GET['term'];
$search = $search."%";
// Preparation de le requete
$pdoStmt = $dbConn->prepare("SELECT NO_CLI_VPC FROM VCCLICGP WHERE NO_CLI_VPC LIKE '$search'");
// Execution de la requete
$pdoStmt->execute();
$res = $pdoStmt->fetchAll(PDO::FETCH_ASSOC);
Courrier_Log::getInstance()->logDebug(print_r($res, true));
// Fermeture connexion
$dbConn = null;
echo json_encode($res);
?>
Code : Tout sélectionner
Array
(
[0] => Array
(
[NO_CLI_VPC] => V000000
)
[1] => Array
(
[NO_CLI_VPC] => V000014
)
[2] => Array
(
[NO_CLI_VPC] => V000015
)
[3] => Array
(
[NO_CLI_VPC] => V000016
)
[4] => Array
(
[NO_CLI_VPC] => V000017
)
[5] => Array
(
[NO_CLI_VPC] => V000018
)
...
Il faut que NO_CLI_VPC devienne value[4] => Array
(
[NO_CLI_VPC] => V000017
)
Code : Tout sélectionner
{"VALUE":"V000000"},{"VALUE":"V000014"},{"VALUE":"V000015"},{"VALUE":"V000016"},{"VALUE":"V000017"},{"VALUE":"V000018"},{"VALUE":"V000019"},{"VALUE":"V000020"},{"VALUE":"V000021"},{"VALUE":"V000022"},{"VALUE":"V000023"},{"VALUE":"V000024"},{"VALUE":"V000025"},{"VALUE":"V000026"},{"VALUE":"V000027"},{"VALUE":"V000028"},{"VALUE":"V000029"},{"VALUE":"V000030"},{"VALUE":"V000031"},...
Code : Tout sélectionner
<?php
$dsn = Zend_Registry::get('ZendConfig')->pdo->dsn;
$username = Zend_Registry::get('ZendConfig')->pdo->username;
$password = Zend_Registry::get('ZendConfig')->pdo->password;
// Connexion
$dbConn = new PDO($dsn, $username, $password);
$search = $_GET['term'];
$search = $search."%";
// Preparation de le requete
$pdoStmt = $dbConn->prepare("SELECT NO_CLI_VPC as value FROM VCCLICGP WHERE NO_CLI_VPC LIKE '$search'");
// Execution de la requete
$pdoStmt->execute();
$res = $pdoStmt->fetchAll(PDO::FETCH_ASSOC);
Courrier_Log::getInstance()->logDebug(print_r(json_encode($res), true));
// Fermeture connexion
$dbConn = null;
echo json_encode($res);
?>Code : Tout sélectionner
select: function( event, ui ) {
log( ui.item ?
"Selected: " + ui.item.value + " aka " + ui.item.id :
"Nothing selected, input was " + this.value );
}
Code : Tout sélectionner
[{"VALUE":"V000000"},{"VALUE":"V000014"},{"VALUE":"V000015"},{"VALUE":"V000016"},{"VALUE":"V000017"},{"VALUE":"V000018"},{"VALUE":"V000019"},{"VALUE":"V000020"},{"VALUE":"V000021"},{"VALUE":"V000022"},{"VALUE":"V000023"},{"VALUE":"V000024"},{"VALUE":"V000025"},{"VALUE":"V000026"},{"VALUE":"V000027"},{"VALUE":"V000028"},{"VALUE":"V000029"},{"VALUE":"V000030"},{"VALUE":"V000031"},{"VALUE":"V000032"},{"VALUE":"V000033"},{"VALUE":"V000034"},{"VALUE":"V000035"},{"VALUE":"V000036"},{"VALUE":"V000037"},{"VALUE":"V000038"},{"VALUE":"V000039"},{"VALUE":"V000040"},{"VALUE":"V000041"},{"VALUE":"V000042"},{"VALUE":"V000043"},{"VALUE":"V000044"},{"VALUE":"V000045"},{"VALUE":"V000046"},{"VALUE":"V000047"},{"VALUE":"V000048"},{"VALUE":"V000049"},{"VALUE":"V000050"},{"VALUE":"V000051"},{"VALUE":"V000052"},{"VALUE":"V000053"},{"VALUE":"V000054"},{"VALUE":"V000055"},{"VALUE":"V000056"},{"VALUE":"V000057"},{"VALUE":"V000058"},{"VALUE":"V000059"},{"VALUE":"V000060"},{"VALUE":"V000061"},{"VALUE":"V000062"},{"VALUE":"V000063"},{"VALUE":"V000064"},{"VALUE":"V000065"},{"VALUE":"V000066"},{"VALUE":"V000067"},{"VALUE":"V000068"},{"VALUE":"V000069"},{"VALUE":"V000070"},{"VALUE":"V000071"},{"VALUE":"V000072"},{"VALUE":"V000073"},{"VALUE":"V000074"},{"VALUE":"V000075"},{"VALUE":"V000076"},{"VALUE":"V000077"},{"VALUE":"V000078"},{"VALUE":"V000079"},{"VALUE":"V000080"},{"VALUE":"V000081"},{"VALUE":"V000082"},{"VALUE":"V000083"},{"VALUE":"V000084"},{"VALUE":"V000085"},{"VALUE":"V000086"},{"VALUE":"V000087"},{"VALUE":"V000088"},{"VALUE":"V000089"},{"VALUE":"V000090"},{"VALUE":"V000091"},{"VALUE":"V000092"},{"VALUE":"V000093"},{"VALUE":"V000094"},{"VALUE":"V000095"},{"VALUE":"V000096"},{"VALUE":"V000097"},{"VALUE":"V000098"},{"VALUE":"V000099"}]
Code : Tout sélectionner
[
{"value":"a"},
{"value":"b"},
{"value":"c"}
]<?php
$results = array(
array('value'=>'a'),
array('value'=>'b'),
array('value'=>'c')
);
Allez hop!