Tengo un sitio PHP y Mongodb en funcionamiento. Actualmente, cuando se carga esta página, extrae los nombres de las personas de la base de datos. Esta lista ahora es demasiado larga, ¡unos pocos cientos!
He estado siguiendo la guía publicada aquí con una implementación estándar para "búsqueda en vivo". Se hace eco del "nombre del producto" SOLAMENTE.
https://www.mywebtuts.com/blog/php-live-mysql-database-search-example
Pero no puedo hacer que funcione como un reemplazo directo. Creo que es por las diferencias con los backends?
He cambiado el archivo backend-search.php a:
<?php if (session_status() == PHP_SESSION_NONE) { session_start(); } require_once __DIR__ . '/vendor/autoload.php'; //include './inc/functions.php'; if(isset($_REQUEST["term"])){ $client = new MongoDB\Client($_ENV['MDB_CLIENT']); $collection = $client->golf->player; $param_term = $_REQUEST["term"]; $filter = ['name' => ['$regex' => $param_term]]; $options = ['sort' => ['name' => 1] ]; $cursor = $collection->find($filter, $options); $players = []; foreach ($cursor as $player) { echo "<p>".$player."</p>"; } } ?>¿Existe una manera simple de implementar esta búsqueda en vivo desde la variable PHP devuelta existente que utilicé, en lugar del método de búsqueda alternativo?
<select class="form-control" name="playerId" id="playerId" onchange="selectPlayer(this.value)"> <option value="default" selected>Select Name</option> <?php foreach ($players as $player) { echo "<option value=".$player['_id'].">".$player['name']."</option>"; } ?> </select>¿Cómo cambio el JS o PHP para esto?