Войти

Показать полную графическую версию : [решено] Вывод таблицы БД в обратном порядке


binders
11-09-2009, 04:20
Как вывести БД с обратном порядке?

в нормальном порядке так :

<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="7" align="center"><div class="moduletable">
<h3 align="center"><i>Все зарегистрированные пользователи</i></h3></div><br></td>
</tr>
<?
$sql=mysql_query("select*from users");
$row=mysql_fetch_array($sql);
if($row>0):
?>
<tr>
<td align="left">ID</td>
<td align="left">Логин</td>
<td align="left">E-mail</td>
<td align="left">Уровень</td>
<td align="left">Дата рег.</td>
<td align="left">Дата актив.</td>
<td align="left">Действие</td>
</tr>
<?
endif;
$sql=mysql_query("select*from users");
$row=mysql_fetch_array($sql);
if($row==0):
$sql2=mysql_query("select*from pages");
$row2=mysql_fetch_array($sql2);
?>
<tr>
<td colspan="7" align="center"><font color="blue">Пользователей нет!</font></td>
</tr>
<?
endif;
$sqlrecords=mysql_query("select*from sysvals");
$rowrecords=mysql_fetch_array($sqlrecords);
$limit=$rowrecords['user_records'];
$result=mysql_query("SELECT count(*) FROM users");
$row=mysql_fetch_row($result);
$numrows=$row['0'];
if (empty($_GET['page'])) $page=0;
$sql = "SELECT * FROM users ORDER BY id LIMIT $page,$limit";
$result = mysql_query($sql) or die(mysql_error());
while($row=mysql_fetch_array($result)){
$id=$row['id'];
?>
<tr>
<td align="left"><?=$id;?></td>
<td align="left"><a href="edit_users.php?uid=<?=$id;?>" title="Редактировать"><?=$row['user'];?></a></td>
<td align="left"><a href="send.php?to=<?=$row['email'];?>"><?=$row['email'];?></a></td>
<td align="left"><?=$row['rang'];?></td>
<td align="left"><?=$row['date_reg'];?></td>
<td align="left"><?=$row['date_active'];?></td>
<td align="left"><a href="edit_users.php?uid=<?=$id;?>" title="Редактировать"><img src="../images/buttons/edit.gif" alt="Редактировать" width="22" height="18" border="0"></a> <a href="users.php?delete&id=<?=$id;?>" title="Удалить"><img src="../images/buttons/del.gif" alt="Удалить" width="22" height="18" border="0"></a></td>
</tr>
<?
}
?>
</table><br>
<?
$sqluser=mysql_query("select*from users");
$rowuser=mysql_fetch_array($sqluser);
$sqlrecords=mysql_query("select*from sysvals");
$rowrecords=mysql_fetch_array($sqlrecords);
$limitrecords=$rowrecords['user_records'];
if ($rowuser>$limitrecords):
echo '<table width=100% border=0 align=center cellpadding=0 cellspacing=0><tr><td class=tabletext><span style=float:left>Страницы:&nbsp;';
$pages=ceil($numrows/$limit);
for ($i=1;$i<=$pages;$i++) {
$newoffset=$limit*($i-1);
if ($page ==$newoffset) {
print ''.($i).'&nbsp;';
}
else {
echo '<a href="users.php?page='.($newoffset).'">'.($i).'</a>&nbsp;';
}
}
echo '</span><span style=float:right><a href=javascript:window.scroll(0,0);><img src=../images/buttons/up.png width=33 height=15 border=0 title=Наверх alt=Наверх></a></span></td></tr></table>';

А как сделать в обратном ?

Ответ
select * from table order by field desc


тему можно или нужно удолить

Sham
11-09-2009, 04:44
так не выходит »
SELECT * FROM `table` ORDER BY `field` DESC
если field - текстовое поле, то сортировка происходит с учетом кодировки поля/таблицы (должна соответствовать кодировке текста). Т.е. если кодировка таблицы/поля latin а текст там кириллический, то сортировка будет некорректной...

binders
21-10-2010, 05:39
почему при сортировке по DECS
http://img220.imageshack.us/img220/1672/20101021042006.png
выдаёт такое ?

Sham
21-10-2010, 08:23
поле небось текстовое (не инт).

binders
21-10-2010, 08:37
да varchar опаньки я и не подумал об этом




© OSzone.net 2001-2012