robie sobie takiego cms'a na potrzeby mojej www i doszedłem do buttonów. i teraz chce dopisać do nich taki moduł by ustalać im pozycje dotychczas zrobiłem coś takiego:
wypis wszystkich buttonów i linki up / down do pozycjonowania:
  1. <?
  2. function buttony_wypisz() {
  3. global $buttony;
  4.  
  5. $q = mysql_query(&#092;"SELECT id,link,poz FROM `$buttony` ORDER BY poz ASC\") or die(mysql_error());
  6. $ile = mysql_num_rows($q);
  7. if($ile<1) die(&#092;"Brak rekordów!\");
  8.  
  9. ?>
  10. <table border=0 width=400>
  11. <tr bgcolor=F2F2F2>
  12.  <td width=5%>
  13.   <center>Nr</center>
  14.  </td>
  15.  <td>
  16.   <center>Link</center>
  17.  </td>
  18.  <td>
  19.  </td>
  20.  <td>
  21.  </td>
  22.  <td>
  23.  </td>
  24. </tr>
  25. <?
  26. $l = $ile;
  27. while($cz=mysql_fetch_array($q)) {
  28. ?>
  29. <tr onmouseover=\"this.style.backgroundColor='#FFFFFF'\" onmouseout=\"this.style.backgroundColor='#F2F2F2'\" bgcolor=F2F2F2>
  30.  <td>
  31.   <center><? echo $cz['id']; ?></center>
  32.  </td>
  33.  <td>
  34.   <a href=\"<? echo $cz['link']; ?>\" target_blank><? echo $cz['link']; ?></a>
  35.  </td>
  36.  <td>
  37.   <center><a href=\"?mod=buttony&action=edit&id=<? echo $cz['id']; ?>\">Edit</a></center>
  38.  </td>
  39.  <td>
  40.   <center><a href=\"?mod=buttony&action=del&id=<? echo $cz['id']; ?>\" onclick=\"return confirm('Czy na pewno chcesz usunąć button nr: <? echo $cz['id']; ?>?')\">Del</a></center>
  41.  </td>
  42.  <td>
  43.   <center><? if($cz['poz']!=&& $cz['poz']>1){ ?><a href=\"?mod=buttony&action=up&id=<? echo $cz['id']; ?>\">up</a><? } ?> / <? if($cz['poz']!=$l && $cz['poz']<$l) { ?><a href=\"?mod=buttony&action=down&id=<? echo $cz['id']; ?>\">down</a><? } ?></center>
  44.  </td>
  45. </tr>
  46. <?
  47. }
  48. ?>
  49. </table>
  50. <?
  51. }
  52. ?>

i funkcja która jest odpowiedzialna za ich pozycjonowanie (nie działa do końca dobrze ;]):
  1. <?php
  2.  
  3. function buttony_move($where) {
  4. global $buttony;
  5.  
  6. $id = $_GET['id'];
  7. if(!ereg( &#092;"[0-9]{1,10}\", $id)) die(\"Błędny id!\");
  8.  
  9. $q = mysql_query(&#092;"SELECT poz FROM `$buttony` WHERE id='$id'\") or die(mysql_error());
  10. $cz = mysql_fetch_array($q);
  11. $poz = $cz['poz'];
  12.  
  13. if($where==&#092;"up\") {
  14.  $move1 = $poz-1;
  15.  $move2 = $poz;
  16.  $else = $move1;
  17. } elseif ($where==&#092;"down\") {
  18.  $move1 = $poz+1;
  19.  $move2 = $poz;
  20.  $else = $move1;
  21. } else die(&#092;"Błąd!\");
  22.  
  23. $q1 = mysql_query(&#092;"UPDATE `$buttony` SET poz=$move1 WHERE id='$id'\") or die(mysql_error());
  24. $q2 = mysql_query(&#092;"UPDATE `$buttony` SET poz=$move2 WHERE poz='$else'\") or die(mysql_error());
  25.  
  26. header(&#092;"Location: admin.php?mod=buttony\");
  27.  
  28. }
  29.  
  30. ?>

gdzie tu jest błąd? szukałem, próbowałem nowych kombinacji i nic :/ proszę o pomoc ;] z góry dzięki ;]
($buttony to jest nazwa tabeli z prefixem, poprzez $where podaje czy button ma iść up czy down ;])
jak zajdzie potrzeba moge wstawić to do neta i pokazać w praktyce ;]

[EDIT] gdzie & # 3 3 ; to jest '!' - wykrzyknik[napisałem na wszelki wypadek jakby mi znowu krzaka wstawiło haha.gif]

=============================

dobra ;] sam sobie to juz zrobiłęm ;]
zamieszczam kod jakby komuś się to przydało:
  1. <?
  2. function buttony_move($where) {
  3. global $buttony;
  4.  
  5. $id = $_GET['id'];
  6. if(!ereg( &#092;"[0-9]{1,10}\", $id)) die(\"Błędny id!\");
  7.  
  8. $q = mysql_query(&#092;"SELECT poz FROM `$buttony` WHERE id='$id'\");
  9. $cz = mysql_fetch_array($q);
  10. $poz = $cz['poz'];
  11.  
  12. if($where==&#092;"up\") {
  13.  $move1 = $poz-1;
  14.  $move2 = $poz;
  15.  $else = $poz-1;
  16. }
  17. elseif($where==&#092;"down\") {
  18.  $move1 = $poz+1;
  19.  $move2 = $poz;
  20.  $else = $poz+1;
  21. } else die(&#092;"Błąd\");
  22.  
  23. $q2 = mysql_query(&#092;"UPDATE `$buttony` SET poz='$move2' WHERE poz='$else'\") or die(mysql_error());
  24. $q1 = mysql_query(&#092;"UPDATE `$buttony` SET poz='$move1' WHERE id='$id'\") or die(mysql_query());
  25.  
  26. header(&#092;"Location: admin.php?mod=buttony\");
  27.  
  28. }
  29. ?>