Предпочтительное решение
Похоже, что только фамилии хранятся в базе данных.Чтобы иметь возможность сортировки по имени в запросе SQL, вам необходимо обновить поля name
в таблице items
, чтобы они содержали как имена, так и фамилии.Это было бы намного лучше - хранение отдельного набора данных, встроенного в ваш код, вероятно, вызовет проблемы в какой-то момент позже.
Если вам необходимо:
Если это невозможность и вы должны сохранить операторы if
для каждого имени, вы можете отобразить набор результатов, чтобы получить имена, а затем отсортировать.(В приведенном ниже примере требуется PHP> = 5.3.)
$SQL = "SELECT * FROM items ORDER BY $sidx $sord LIMIT $start , $limit";
$result = $mysql->query($SQL);
$rows = array();
while ( $row = $mysql->fetch_array($result) ) {
switch ( $row['name'] ) {
case 'Lane': $row['name'] = 'Brian Lane';
case 'Kerwin': $row['name'] = 'Diane Kerwin';
}
array_push($rows, $row);
}
usort($rows, function($a, $b) { return strcmp($a['name'], $b['name']); });