2

オートコンプリートを作成しようとしていますが、テキスト フィールドに姓を入力すると、氏名が表示されません。

JavaScript:

 $(document).ready(function(){
      $("#txtBuscar").autocomplete("autocomplete.php", {
          selectFirst: true
      });
 });

PHP:

  require('conecta.php');
ini_set('display_errors',1); error_reporting(E_ALL);
$cSQL="SELECT NOMBRE, APELLIDOS FROM personas WHERE APELLIDOS LIKE '%?%' ORDER BY APELLIDOS";
$stmt=$oConni->prepare($cSQL) or die($oConni->error);
    $stmt->bind_param('s',$_GET['q']);
    $stmt->execute();
    $stmt->bind_result($nombre,$apellidos);
    while ($stmt->fetch()) {

        echo $apellidos.', '.$nombre."\n";

    }
    $stmt->close();
4

1 に答える 1

2

?引数のパラメーターはLIKE文字列であるため、入力されないと思います。MySQL を使用している場合は、次のようにしてみてください。

$cSQL="SELECT NOMBRE, APELLIDOS FROM personas WHERE APELLIDOS LIKE CONCAT('%', ?, '%') ORDER BY APELLIDOS";

Oracle の場合、次のようなものを使用します。

$cSQL="SELECT NOMBRE, APELLIDOS FROM personas WHERE APELLIDOS LIKE '%' || ? || '%' ORDER BY APELLIDOS";
于 2013-04-06T19:14:01.043 に答える