php
  • mysql
  • 2016-01-08 2 views 0 likes 
    0

    Вот мой код:PHP/MySQL - ORDER, не работает

    <?php 
    if($_rate->getCode()=="matrixrate_matrixrate") { 
    
    $resource = Mage::getSingleton('core/resource'); 
    $readConnection = $resource->getConnection('core_read'); 
    
    
    $query = 'select * from `extensa_econt_city_office` WHERE `delivery_type`="to_office" GROUP by `city_id`'; 
    
    $results = $readConnection->fetchAll($query); 
    
    ?> 
    <center><b>Населено място:</b></center> 
    <select name="shipping_city" id="shipping-city-select" title=""> 
    <option value="">Изберете град</option> 
    <?php 
    foreach($results as $row){ 
        $CityCode = $row['city_id']; 
        $query1 = "select * from `extensa_econt_city` WHERE `city_id`='$CityCode' AND `type`!='с.' ORDER by office_id DESC"; 
        $results1 = $readConnection->fetchAll($query1); 
        foreach($results1 as $row1){ 
        ?>   
    
    <option value="<?PHP echo $row1['city_id']; ?>"><?PHP echo $row1['type']; ?> <?PHP echo $row1['name']; ?></option> 
    
        <?php 
        } 
    } 
    ?> 
    </select> 
    

    По какой-то причине упорядоченность с ORDER by office_id DESC не работает. Нет изменений, если я изменю DESC на ASC или даже если я удалю заявление ORDER by.

    Есть ли у вас какие-либо предположения, почему он не упорядочивает ряды должным образом?

    +0

    Все, что я вижу, правильно знает, что вам не хватает 'quotes around office_id. Но я уверен, что это не решение. Можете ли вы привести нам пример результата, который вы получаете от запроса? (с значением office_id для каждой строки) – Eria

    +0

    @Eria, какая разница? * «Все, что я вижу правильно, это то, что вам не хватает« котировок вокруг office_id »* –

    +2

    Когда вы пытаетесь использовать форму оператора SQL, командная строка MySQL работает так, как вы ожидаете? Вы не делаете никаких проверок ошибок, что вызывает беспокойство. –

    ответ

    -2

    Вы Недостающие `` (кавычки) вокруг office_id , если вы по-прежнему считаете, что запрос не работают, то распечатайте весь запрос с использованием эхом-о .. скопировать этот запрос и вставьте в PHP-MyAdmin и проверить, какую SQL исключения вы получаете. .

    +0

    Кавычки являются необязательными, они нужны только тогда, когда столбец имеет имя ключевого слова reserverd. –

    -2

    привет, может быть, вы можете проверить свой синтаксис. Возможно, у вашего кода может быть небольшая ошибка . Для этого я предлагаю вам запустить ваш запрос на phpmyadmin и проверить, верен ли результат, а затем правильный результат, который вы отлаживаете на своем код php это небольшой пример для вас

    <?php 
    $link=Conect(); 
    $query="SELECT * FROM clients ORDER BY client_name ASC"; 
    $result=mysql_query($query,$link) or die("Error: ".mysql_error()); 
    
    if(mysql_num_rows($result) > 0) 
    { 
    
    ?> 
    <table border="0"> 
        <tr COLSPAN=2 BGCOLOR="#6D8FFF"> 
         <td>ID</td> 
         <td>NAME</td> 
         <td>PHONE</td> 
        </tr> 
    <?php  
    while($row=mysql_fetch_array($result)) 
    { 
         echo "<tr>". 
          "<td>".$row["id"]."</td>". 
          "<td>".$row["client_name"]."</td>". 
          "<td>".$row["phone"]."</td>". 
          "</tr>"; 
    }/
    
    } 
    else 
    { 
        echo "don't exist clients for list"; 
    } 
    mysql_close($link); 
    ?> 
    </table> 
    

    Удачи вам и попробуйте

    +0

    Пожалуйста, не рекламируйте устаревшие функции 'mysql_ *', особенно если OP уже использует более современную структуру –

    Смежные вопросы