Hej,
Jag använder denna kod för att generera nästa & föregående navigering på en sida.
Koden:
<html>
<body>
<?
//connect to database
$link_id = mysql_connect("localhost","root");
$db = mysql_select_db("test");
//see how many total rows are in table
$query = "SELECT COUNT(*) FROM names";
$result = mysql_query($query);
$count = mysql_result($result,0);
//reset $page. make sure someone doesn't
//set it below zero in the url
if(!isset($page) || $page < 0)
{
$page = 0;
}
//records per page
$per_page = 5;
//starting record for this page
$start = $page * $per_page;
if($start > $count)
{
echo "No more records<BR>\n";
$page = ceil($count / $per_page);
}
else
{
$query = "SELECT name,age FROM names ORDER BY id ASC LIMIT $start,$per_page";
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
echo $row[name] . " -- ";
echo $row[age] . "<BR>\n";
}
}
if($page > 0)
{
$prev = $page - 1;
echo "<a href='$PHP_SELF?page=$prev'><<Prev</a><BR>\n";
}
if($start + $per_page < $count)
{
$next = $page + 1;
echo "<a href='$PHP_SELF?page=$next'>Next>></a><BR>\n";
}
?>
</body>
</html>
MySQL tabellen ser ut så här:
+----+--------+------+
| id | name | age |
+----+--------+------+
| 1 | John | 25 |
| 2 | George | 23 |
| 3 | Fred | 45 |
+----+--------+------+
(Jag har såklart andra tebeller och variabler, så här såg skriptet ut som orginal)
Problemet är att jag vill sortera länkarna i alfabetisk ordning och inte efter 'id' variabeln
Exempel: Länkarna ordnas nu så här, id=1, id=2, id=3 etc, men jag vill ha dom ordnade efter tabellen 'name', alltså så att dom kan bli så här, id=3, id=2, id=4 etc i alfabetisk ordning.
Jag har testat att lägga till "ORDER BY name" i select men det hjälper inte. Går det att göra med detta skript?
[Redigerat av Elric den 31 jan 2002]