ЛЕВОЕ НАРУЖНОЕ СОЕДИНЕНИЕ с ORDER BY '$ x' неправильно сортируется

0

У меня есть следующая инструкция SELECT, которая ДОЛЖНА возвращать набор записей ORDERED BY Last Name, и это не так. Я проверил, нет ли пустых символов/пробелов в поле имени и нет, поскольку все они были обрезаны с использованием $ last_name = trim (filter_input (INPUT_POST, 'LastName', FILTER_SANITIZE_STRING) ;.

 $query_PaidOrders = "SELECT * FROM 'orders' WHERE 'payment_received' = '1'";
$rs_PaidOrders=$conn->query($query_PaidOrders);

if($rs_PaidOrders === false){
    trigger_error('SQL error:'.$query_PaidOrders.' Error: '.$conn->error, E_USER_ERROR);
}
else{
  while ($row_PaidOrders=$rs_PaidOrders->fetch_assoc()) {
    $PaidOrderId=$row_PaidOrders['order_id'];
    $query_select_events = "SELECT customers.last_name AS LASTNAME,
                        customers.first_name AS FIRSTNAME,
                        order_details.member_id AS MEMBERID,
                        order_details.event_type AS EVENTTYPE,
                        order_details.event_distance AS EVENTDISTANCE, 
                        order_details.keep_stats AS KEEPSTATS
                        FROM 'order_details'

 LEFT OUTER JOIN customers ON order_details.member_id = customers.customer_id 

WHERE order_details.event_id = '$eid' AND order_details.counted_for_discount='1' AND order_details.ORDERNUM = '$PaidOrderId' ORDER BY LASTNAME ASC";

       $rs_events=$conn->query($query_select_events);

       if($rs_events === false){
       trigger_error('SQL error:'.$query_select_events.' Error: '.$conn->error, E_USER_ERROR);
       }
       else{
            while($row_order_details=$rs_events->fetch_assoc()){
      $NAME = $row_order_details['LASTNAME'].", ".$row_order_details['FIRSTNAME'];  
      $member_id=$row_order_details['MEMBERID'];
      $event_type=$row_order_details['EVENTTYPE'];
      $event_distance=$row_order_details['EVENTDISTANCE'];
      $keep_stats=$row_order_details['KEEPSTATS'];
            ?>
            <tr>
               <td><?php echo "$NAME";?></td>
                etc...

Мои результаты: B..., H..., H..., S..., B..., R....

Я действительно в тупике. Любая помощь будет оценена по достоинству.

  • 1
    Вы пытались выполнить запрос непосредственно к БД в оболочке mysql (вне PHP)?
  • 1
    Когда вы говорите, что проверили «пустые» символы, вы имели в виду только пробел и табуляцию, или вы также проверяли другие непечатные символы?
Показать ещё 3 комментария
Теги:
left-join
sql-order-by

1 ответ

0

Проблема была в том, что я не объединил все в один запрос. Как только я это сделал, фамилия ORDER BY работала правильно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню