Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Exibir dados de nome com base na primeira letra


Como as pessoas estão dizendo, o código é um pouco ridículo. Eu só vou compartilhar isso na esperança de ensinar-lhe alguma coisa. Realmente não está procurando responder sua pergunta. Na verdade, sugiro apenas excluir a pergunta, pois não tenho certeza de quanta utilidade ela oferece aos outros. E "Como fazer uma pesquisa de SQL curinga" é obviamente uma pergunta boba.

Enfim... Poderia ser condensado em algo como:
//example.com?search_letter=A

$pattern = isset($_REQUEST('search_letter')) ? $_REQUEST('search_letter') : null;

if (empty($pattern)) {
    die('missing search paramter');
}

$pattern = $pattern . '%';
$sql = 'SELECT * FROM users WHERE first_name LIKE ?';

$sth->execute([$pattern]);
$results = $sth->fetchAll();

O que muda? Qual é a variável? Uma letra. Como você renderiza a saída para A diferem de como você interpretará e produzirá B ? Não. Portanto, mantenha-o SECO (não se repita).