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
Le problème vient que si aucun résultat est trouvé dans la base de donnée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
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'); ?>
c'est partie n'est pas appliquée
et h'ai besoin qu'un resluta soit retourné, s'il y a rien trouvé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
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; } }
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:
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
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
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part $("#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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ui.item.id_marque
C'est cette partie
qui doit etre ajouté et modifiée après le else du if($nb_search), mais j'ai aucune idée comment
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $marque['value'] = $marque['fd_marque']; $marque['label'] = "{$marque['fd_marque']}, {$marque['id_marque']}"; $matches[] = $marque;
M'avez vous compris?
Merci
Partager