Witam.
Mam pewien problem. Mam w bazie table category.
Mam zamiar przechowywać w niej kategorie pod które podpięte będą później artykuły.
Z powodu mojego widzi mi się chciałem zmieniać kolejność ich wyświetlania na stronie.
Baza wygląda tak:
name | ord | id
n1 1 1
n2 2 2
n3 3 3
Mam więc kod, który wyświetla wszystkie kategorie:
<?php
include "config.php";
$result = mysql_query("SELECT ord, id FROM cms_category ORDER BY ord ") or
die("Zapytanie niepoprawne"); while ($num <> $liczba_rekordow)
{
$num = $num + 1;
$tablica[$num] = $rows[id];
}
$result = mysql_query("SELECT name, ord, id FROM cms_category ORDER BY ord ") or
die("Zapytanie niepoprawne");
while($n <> $num_rows)
{
$n = $n + 1;
$new_id = $tablica[$n + 1];
if ($old_id == "") {
echo "<table width=31% border=1> <tr>
<td width=30%>$row[name]</td>
<td width=38%><a href=?mode=edit&id=$row[id]>EDYTUJ</a>|<a href=?mode=delete&id=$row[id]>USUŃ</a></td>
<td width=32%><a href=?mode=down&id=$row[id]&new_id=$new_id>DÓŁ</a></td>
</tr>
</table>";
}
elseif($old_id <> "" AND $new_id <> "")
{
echo "<table width=31% border=1> <tr>
<td width=30%>$row[name]</td>
<td width=38%><a href=?mode=edit&id=$row[id]>EDYTUJ</a>|<a href=?mode=delete&id=$row[id]>USUŃ</a></td>
<td width=32%><a href=?mode=up&id=$row[id]&old_id=$old_id>GÓRA</a>|<a href=?mode=down&id=$row[id]&new_id=$new_id>DÓŁ</a></td>
</tr>
</table>";
}
elseif ($new_id == "")
{
echo "<table width=31% border=1> <tr>
<td width=30%>$row[name]</td>
<td width=38%><a href=?mode=edit&id=$row[id]>EDYTUJ</a>|<a href=?mode=delete&id=$row[id]>USUŃ</a></td>
<td width=32%><a href=?mode=up&id=$row[id]&old_id=$old_id>GÓRA</a></td>
</tr>
</table>";
}
$old_id = $row[id];
}
echo "<br><br><a href=?mode=add>DODAJ</a> <br>"; echo "<a href=menu.php><- POWRÓT</a>"; ?>
Oraz dalej części odpowiadające za zmianę pola 'ord' w bazie:
<?php
//przesunięcie kategorii do góry
//Pobranie kolejności kategorii, która ma być przeniesiona do góry
$result_id = mysql_query("SELECT ord FROM cms_category WHERE id = '$_GET[id]'") or
die("Niepoprawne zapytanie MySQL");//Pobranie kolejności kategorii, która ma być przeniesiona w dół
$result_old_id = mysql_query("SELECT ord FROM cms_category WHERE id = '$_GET[old_id]'") or
die("Niepoprawne zapytanie MySQL");
//Zmiana kolejności
$update = mysql_query("UPDATE cms_category SET ord = '$row_old_id[ord]' WHERE id = '$_GET[id]'") or
die("Niepoprawne zapytanie MySQL");$upd = mysql_query("UPDATE cms_category SET ord = '$row_id[ord]' WHERE id = '$_GET[old_id]'") or
die("Niepoprawne zapytanie MySQL2"); echo "Kategoria przeniesiona"; echo "<br><a href=category.php><- Powrót</a>"; ?>
Problem jest mianowicie taki, że klikając na Góra albo w ogóle nic się nie dzieje, albo gdy klikam na ostatnią kategorię przenosi ją na samą górę, a nie o jeden.
--------------
Problem rozwiązany. Można usunąć.
Ten post edytował zlw 2.05.2007, 09:00:23