我正在寻找一个查询,它将返回名称的第一个字母字符以变量中给出的字母开头的行。它还应该包括非重音字符的等价物。
以 mySQL 中的表为例:
id name
--------------------------
25 Como yo te quiero
57 Me quieres
34 Ahora
45 África
568 No me mires
78 ¿A que?
89 Y sin embargo
5 ¡... A que no!
34 ...A la madre
85 Por que
51 A mi manera
PHP 文件:
// alpha letter to search in the name
$char = $_GET['char'];
// layout of the query
$sql = 'SELECT song_id, name FROM song WHERE song.name starts with ?';
$conn = connect('read');
$stmt = $conn->stmt_init();
$stmt->prepare($sql);
$stmt->bind_param('s', $char);
$stmt->execute();
$stmt->bind_result($songid, $name);
$stmt->fetch();
$stmt->free_result();
$stmt->close();
$conn->close();
如果 $char 等于 'a',则结果集应返回名称中第一个字母以a或A或á或Á等开头的所有行...
输出:
34 Ahora
45 África
78 ¿A que?
5 ¡... A que no!
34 ...A la madre
51 A mi manera
如果 $char 等于 'e',则结果集应返回名称中第一个字母以e或E或é或É等开头的所有行...
如果 $char 等于 'p',则结果集应返回名称中第一个字母以p开头的所有行
等等...
什么是查询?我是否需要某种对话表来告诉 PHP 哪些字符相当于 a、e、o 等...?