Bonjour,
J'ai un problème assez complexe, du moins pour moi 
Ce code fonctionne bien tant qu'un résultat est extrait de la base de donnée
	
	| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 
 | <?php
header( 'content-type: text/html; charset=utf-8' );
 
include('../sql/db_config.inc.php');
include('../sql/db_connect.inc.php');
 
$sql_search = 'SELECT * FROM tb_marques ORDER BY fd_marque ASC';
$query_search = mysql_query($sql_search)or die(mysql_error());
$nb_search = mysql_num_rows($query_search);
 
// Rudimentary search
	$matches = array();
 
 
	while($data_search=mysql_fetch_assoc($query_search)){
		$marques[]=$data_search;
	}
 
 
	// Cleaning up the term
	$term = trim(strip_tags($_GET['term']));
 
if($nb_search){	
	foreach($marques as $marque){
		if(stripos($marque['fd_marque'], $term) !== false){
			// Add the necessary "value" and "label" fields and append to result set
			$marque['value'] = $marque['fd_marque'];
			$marque['label'] = "{$marque['fd_marque']}, {$marque['id_marque']}";
			$matches[] = $marque;
		}
	}
}else{
// Comment faire pour ui.item.id_marque retourne un 0 (voir plus bas)
}
 
	// Truncate, encode and return the results
	$matches = array_slice($matches, 0, 5);
	print json_encode($matches);
 
 
include('../sql/db_disconnect.inc.php');
 
 
?> | 
 Le problème vient que si aucun résultat est trouvé dans la base de donnée
c'est partie n'est pas appliquée
	
	| 12
 3
 4
 5
 6
 7
 8
 
 | foreach($marques as $marque){
		if(stripos($marque['fd_marque'], $term) !== false){
			// Add the necessary "value" and "label" fields and append to result set
			$marque['value'] = $marque['fd_marque'];
			$marque['label'] = "{$marque['fd_marque']}, {$marque['id_marque']}";
			$matches[] = $marque;
		}
	} | 
 et h'ai besoin qu'un resluta soit retourné, s'il y a rien trouvé.
MAIS.... je dois récupéré dans le même format.
Je vous donne un exemple en vous donnant encore ces information.
La requete est envoyée avec ajax comme ceci:
	
	| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 
 | // Autocomplete marque
	var ac_marques = {
		source: 'http://www.web.com/manager/templates/naoux/xmlhttprequest/autocomplete-marques.php',
		autoFocus: true,
		close: function( event, ui ) {
			$("#h_marque").val("");
		},
		minLength: 1,
		select:function(event, ui){
			$("#f_marque").val(ui.item.id_marque);
 
			if($("#"+$(this).attr('id')+"_h").length){
				$("#"+$(this).attr('id')+"_h").val(ui.item.id_marque);
			}
		}
	};
 
	$(".fmarque").autocomplete(ac_marques); | 
 
Donc ceci recupère l'id
	
	$("#f_marque").val(ui.item.id_marque);
 
Donc s'il ne trouve rien dans la base de donnée, j'aimerais que
me retourne un 0.
C'est cette partie
	
	| 12
 3
 
 | $marque['value'] = $marque['fd_marque'];
$marque['label'] = "{$marque['fd_marque']}, {$marque['id_marque']}";
$matches[] = $marque; | 
  qui doit etre ajouté et modifiée après le else du if($nb_search), mais j'ai aucune idée comment
M'avez vous compris?
Merci
						
					
Partager