heydj1234 Posted January 12, 2013 Share Posted January 12, 2013 Hi i am having a problem getting the order by DESC in my table working correctly <p>All walks are listed in order with the latest at the top. Walks can be filtered by area using the drop-down box. The abbreviated Area ID's are as follows:<br/> YD - Yorkshire Dales<br/> LD - Lake District<br/> FB - Forest of Bowland<br/> WPM - West Pennine Moors<br/> PD - Peak District<br/> LOC - Local<br/> O - Other<br/></p> </div> <!-- Selects walk area --> <br /> <form id="form1" name="form1" method="post" action="walk_results.php"> <label>Area</label> <select name="area_id"> <option value="">All</option> <?php $sql_result = mysql_query("SELECT * FROM walk GROUP BY area_id ORDER BY walk_date DESC"); while ($row = mysql_fetch_assoc($sql_result)) { echo "<option value='".$row["area_id"]."'".($row["area_id"]==$_REQUEST["area_id"]? " selected" : "").">".$row["area_id"]."</option>"; }; ?> <!-- Submits walk area --> </select> </label> <input type="submit" name="button" id="button" class="styled-button" value="Select Area" /></form> <style type="text/css"> .styled-button { -webkit-box-shadow:rgba(0,0,0,0.2) 0 1px 0 0; -moz-box-shadow:rgba(0,0,0,0.2) 0 1px 0 0; box-shadow:rgba(0,0,0,0.2) 0 1px 0 0; border-bottom-color:#333; border:1px solid #6470ED; background-color:#6470ED; border-radius:3px; -moz-border-radius:5px; -webkit-border-radius:5px; color:#fff; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; text-shadow:#b2e2f5 0 1px 0; padding:2px } </style> </select> </label> <!-- Walk area results table --> <div id= "result"> <br /><br /> <table width="900" border="1" cellspacing="1" cellpadding="4"> <tr> <td width="84" bgcolor="#6470ED" align="center"><strong>Select Walk</strong></td> <td width="75" bgcolor="#6470ED" align="center"><strong>Walk Date</strong></td> <td width="360" bgcolor="#6470ED" align="center"><strong>Title</strong></td> <td width="64" bgcolor="#6470ED" align="center"><strong>Distance (Miles)</strong></td> <td width="85" bgcolor="#6470ED" align="center"><strong>Ascent</strong></td> <td width="78" bgcolor="#6470ED" align="center"><strong>Time</strong></td> <td width="67" bgcolor="#6470ED" align="center"><strong>Area Id</strong></td> </tr> <?php if ($_REQUEST["area_id"]<>'') { $search_area_id = "AND area_id='".mysql_real_escape_string($_REQUEST["area_id"])."'"; } if ($_REQUEST["from"]<>'' and $_REQUEST["to"]<>''){ } else { $sql = "SELECT * FROM walk WHERE walk_id>\"\"".$search_string.$search_area_id ; } $sql_result= mysql_query ($sql) or die ('request"Error"'.$sql); #echo "SQL $sql"; --- to view info --- $clicked =$_REQUEST["area_id"]; $sql= "SELECT * FROM walk WHERE area_id = '$clicked' ORDER BY walk_id"; if (mysql_num_rows($sql_result)>0) { while ($row = mysql_fetch_assoc($sql_result)) { $id = $row['walk_id']; $date_of_walk = $row['walk_date']; $date_of_walk = date("d.m.Y", strtotime($date_of_walk)); #echo "id $id<br>"; --- to view info --- ?> <!-- Table Results --> <tr> <td><?php echo "<a href='walk_info.php?walk_id=$id'>Select Walk"?></a></td> <td><?php echo $row['walk_date']=$date_of_walk; ?></td> <td><?php echo $row["title"]; ?></td> <td><?php echo $row["distance"]; ?></td> <td><?php echo $row["ascent"]; ?></td> <td><?php echo $row["time"]; ?></td> <td><?php echo $row["area_id"]; ?></td> </tr> <?php } } else { $row= mysql_fetch_assoc($sql_result);$sql_result= mysql_query ($sql); ?> <tr><td colspan="5">No results found.</td> <?php } mysql_close()?> Link to comment https://forums.phpfreaks.com/topic/273048-php-mysql-order-by-not-working/ Share on other sites More sharing options...
Jessica Posted January 12, 2013 Share Posted January 12, 2013 The problem is? You've done what to debug it? There's nothing that stands out as a problem. Link to comment https://forums.phpfreaks.com/topic/273048-php-mysql-order-by-not-working/#findComment-1405077 Share on other sites More sharing options...
Christian F. Posted January 12, 2013 Share Posted January 12, 2013 Also, Please use the [code][/code] tags around your code, as it helps make both your post and your code a lot easier to read. Thanks. One final thing: How did you define that "walk_date" field when creating the table? Link to comment https://forums.phpfreaks.com/topic/273048-php-mysql-order-by-not-working/#findComment-1405135 Share on other sites More sharing options...
heydj1234 Posted January 12, 2013 Author Share Posted January 12, 2013 Hi all Thanks for your replys It turned out to be this line $sql = "SELECT * FROM walk WHERE walk_id>\"\"".$search_string.$search_area_id ; It did not require the .$search_string onward to work it did take a while to figure it as the code worked it then needed sort by walk_ date DESC Thanks all Link to comment https://forums.phpfreaks.com/topic/273048-php-mysql-order-by-not-working/#findComment-1405202 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.