2015-12-21 2 views
0

У меня возникли проблемы с этим. Я, вероятно, просто не замечаю этого, но, полагаю, кто-то может дать мне руку о том, что делать. Мне нужно отсортировать фамилию и расстояние с помощью щелчка по двум отдельным переключателям. Это все из-за полтора часа, и я новичок в сортировке с PHP. Я искал здесь, но я не нашел ответов, касающихся того, что я искал. Любая помощь будет принята с благодарностью.PHP: как сортировать по имени и расстоянию от базы данных

PHP:

<tr><th>First Name</th><th>Last Name</th><th>Email</th><th>Distance</th></tr> 
    <?php 
    include('includes/database/dbc.php'); 
    $sql = "SELECT * FROM runner ORDER BY 'lname'"; 
    $result = mysql_query($sql) or die('Error! '.mysql_error()); 
    if(mysql_num_rows($result)==0) { 
    echo "<tr><td colspan='4'>Sorry, no lists are available today. Check back soon!</td></tr>"; 
    } 
    while($row=mysql_fetch_assoc($result)) { 
    echo '<tr><td>'.$row['fname'].'</td>'; 
    echo '<td>' .$row['lname'].'</td>'; 
    echo '<td>' .$row['email'].'</td>'; 
    echo '<td>' .$row['Distance'].'</td></tr>'; 
    } 
    ?> 
    <?php if(isset($_POST['submit_sort'])){ 
    $radio = $_POST['submit_sort']; 
    if($radio =='fname'){ 
     $select ="SELECT fname, address1 FROM runner ORDER BY lname";}elseif($radio =='address1'){ 
     $select ="SELECT fname, address1 FROM runner ORDER BY address1";}  
    $result = mysql_query($lrconnect,$select)or die("Invalid query: ".mysql_error($lrconnect)); 
    } 
    ?> 

HTML:

<div id="sort"> 
     <form class="form2" action="submit_sort"> 
      <input type="radio" name="sort" value="lname" id="lnamesort" >Sort By Last Name 
      <br> 
      <input type="radio" name="sort" value="distance" id="distancesort">Sort By Distance 
     </form> 
</div> 
+0

Что происходит в настоящее время? Котировки для строк, backticks для экранирования. Ваш запрос выбора тот же, я бы определил запрос, а затем добавил столбец для заказа до конца запроса. – chris85

+0

В настоящее время ничего не происходит. Все это просто не работает для меня. – butters

+0

Значит, это белая страница? Проверьте журналы ошибок. Также форма 'GET', если' POST' не указан. – chris85

ответ

2

Существует несколько ошибок в коде. Это должно быть, как показано ниже в соответствии с вашими потребностями:

HTML: -

<div id="sort"> 
      <form class="form2" action="your_action" method="POST"> 
       <input type="radio" name="sort" value="lname" id="lnamesort" >Sort By Last Name 
       <br> 
       <input type="radio" name="sort" value="distance" id="distancesort">Sort By Distance 
       <input type="submit" name="search" value="search"> 
      </form> 
    </div> 

PHP: -

<?php 
if(isset($_POST['sort'])){ 
    $radio = $_POST['sort']; 
    if($radio =='lname'){ 
     $select ="SELECT fname, address1 FROM runner ORDER BY lname"; 
    }elseif($radio =='distance'){ 
     $select ="SELECT fname, address1 FROM runner ORDER BY distance"; 
    }  
    $result = mysql_query($lrconnect,$select)or die("Invalid query: ".mysql_error($lrconnect)); 
} 
?> 
+0

Было бы здорово, если вы объясните ошибки и сделанные вами модификации – Thamilan

+0

1) не было способа публикации и нет кнопки отправки в форме. 2) При сравнении в PHP не было надлежащих условий. –

+0

Я не должен использовать кнопку отправки. Предполагается автоматически сортировать базу данных по фамилии с помощью одной радиокнопки, а другая - сортировать по расстоянию. – butters