Wszystko w kodzie wygląda na poprawne i wszystko działa, ale nie sortuje i czsami nawet zmienia kolejnośc wyświetlania przy odświeżaniu strony.
W czym może tkwić błąd? Wklejam kod odpowiadający za wyświetlanie rekordów:
Kod: Zaznacz cały
<?PHP
$conn = mysql_connect('db.st.interia.pl', '46302', 'y1NGihKMFx66'); // uchwyt połšczenia
mysql_select_db('db46302', $conn); //wybór bazy
function exec_query($query)
{
global $conn;
$result_q = mysql_query($query, $conn); //wysyła zapytanie
return $result_q;
}
$query = "SELECT * FROM oferta WHERE sprzedany = 'f' ORDER BY 'opis_krotki' 'asceding'";
$result = exec_query($query);
var_dump($result);
$num_rows = @mysql_num_rows($result);
?>
Kod: Zaznacz cały
<?PHP
if(!$num_rows)
{
?>
<TABLE STYLE="width: 100%" BORDER=0 CELLSPACING="5" CELLPADDING=0>
<TR>
<TD STYLE="width: 100%; color: #FFFFFF" VALIGN="middle" ALIGN="center" BGCOLOR="#000000"><H1>Brak ofert</H1></TD>
</TR>
</TABLE>
<?PHP
}
else
{
?>
<p>Oferta aktualna:
<TABLE STYLE="width: 400" BORDER=0 CELLSPACING=5 CELLPADDING=0>
<?PHP
// -------------- ten fragment określa jakie rekordy na podstawie zmiennej str majš być wyświetlone -----------------------------
if ($str == "undefined") // jeśli ten plik nie został wywolany przez siebie samego zmienna str będzie undefined, (ku pamięci - funkcja dalej)
$num_begin = $str = 0;
else
$num_begin = $str;
$num_end = $num_begin + 5;
if ($num_end > $num_rows) // ustala ilość rekordów na ostatniej stronie, gdy true
$num_end = $num_rows;
else
$num_end = $num_begin + 5;
//-------------------------------------------------------------------------------------------------------------------------------
for($num_begin; $num_begin < $num_end; $num_begin++)
{
?>
<TR valign="middle">
<TD bgcolor="#000000" ALIGN=center width="110"><img src="zdjecia/<?PHP echo mysql_result($result, $num_begin, "nazwa_pliku1"); ?>" STYLE="width: 28mm;"></TD>
<td bgcolor="#000000" width="230" style="font-family: Verdana; font-size: 11px; color: #9f9f9f; font-weight: bold; text-align: left; margin: 5"><?PHP echo mysql_result($result, $num_begin, "opis_krotki"); ?> </TD>
<td bgcolor="#000000" align="center"><A HREF="javascript:dalej('3','<?PHP echo mysql_result($result, $num_begin, "id"); ?>');">więcej »</A></TD>
</TR>
<?PHP
}
?>
<TR valign="middle">
<TD STYLE="width: 50%" ALIGN=center BGCOLOR="#000000" COLSPAN=3>
<hr size="1" color="gray">
<?PHP
$strona = floor($num_rows/5); //wstępna ilość stron
if($strona == $num_rows/5) //dokładna ilośc stron - jeśli zmienna strona po zaokršgleniu jest równa "num_rows/5" oznacza to że jest równa ilość rekordów np 10 lub 25 itp
$ilosc_stron = $strona;
else
$ilosc_stron = $strona+1; //jesli warunek nie spełniony to jest nierówna ilość wierszy np 22 i na ostatniej stronie jest dwa rekordy
if ($str > 0)
{
?>
<A HREF="javascript:dalej('11','','<?PHP echo $str-5;?>');"><< Poprzednia</A>
<?PHP
}
$str_zm = 0;
for ($i=1; $i<=$ilosc_stron; $i++)
{
?>
<A <?PHP if($str_zm == $str) echo "STYLE=\"color: #9f9f9f;\""; ?> HREF="javascript:dalej('11','','<?PHP echo $str_zm; ?>');">[<?PHP echo $i; ?>]</A>
<?PHP
$str_zm = $str_zm + 5;
}
if (!($str == ($str_zm - 5)))
{
?>
<A HREF="javascript:dalej('11','','<?PHP echo $str+5;?>');">Następna >></A>
<?PHP
}
?>
</TD>
</TR>
</TABLE>
<?PHP
} //end else
?>

