Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP/MYSQL] Nie chce działać?
Forum PHP.pl > Forum > PHP
nitro18
na początku przepraszam za tytuł postu, ale nie wiem jak go zatytułować.

Otóż mam w tabeli menu. Kolumna poz odpowiada za pozycję linka w menu, np:

O nas -> ma poz. 1
Link2 -> poz. 2

i tak będzie wyświetlane menu. Chce żeby klient mógł sobie ustawiać te linki jak chce. Oczywiście nie powinno być tutaj żadnego problemu.

Głównym problemem jest wyświetlanie odsyłaczy, które mają przesuwać. [dół] odpowiada za przesuwanie w dół linka o 1 poziom, ale z nim nie ma problemu, natomiast głównym problemem jest przesuwanie w górę.
Otóż warunek:

  1. <?php
  2. if($r[poz]<$ile_menu){
  3. $goras=$r[poz]+1;
  4. $gora = "<a HREF="?a=przenies&move=up&id=$r[id]&poz=$goras">[góra]</A>";
  5. }
  6. ?>


nie chce działać mi. Nie rozumiem tego. Może jakiś zrobiłem błąd. $ile_menu pobiera ilość wierszy. Jeżeli ostatni numer wiersza będzie równy pozycji to nie wyświetla linku przesuwania do góry. Dlatego sprawdzam czy pozycja jest mniejsza od ilości wierszy i jeżeli tak to wyświetlam ten link. Ale tutaj nie działa.

np. mam 5 wierszy

poz. 1 < 5 -> ok, wyświetlam link
poz. 2 < 5 -> ok, wyświetlam link
poz. 3 < 5 -> ok, wyświetlam link
poz. 4 < 5 -> ok, wyświetlam link
poz. 5 < 5 -> nie, już nie ma tej opcji

podaje pełny kod:

  1. <? 
  2. include 'config.php';
  3. $a=$_GET[a];
  4. if($a==""){
  5. $sql=mysql_query("select count(*) as ile from radiokreska_menu");
  6. $ile_menu = mysql_result($sql,0,"ile");
  7. echo "<table>";
  8. $sql=mysql_query("select * from radiokreska_menu order by poz ASC");
  9. while($r=mysql_fetch_array($sql)){
  10.  
  11. if($r[poz]>1){
  12. $dols=$r[poz]-1;
  13. $dol = "<td><a HREF="?a=przenies&move=down&id=$r[id]&poz=$dols">[dół]</A></TD>";
  14. }
  15.  
  16. if($r[poz]<$ile_menu){
  17. $goras=$r[poz]+1;
  18. $gora = "<a HREF="?a=przenies&move=up&id=$r[id]&poz=$goras">[góra]</A>";
  19. }
  20.  
  21.  
  22. echo "<tr><td>$r[nazwa]</TD><td>$r[poz]</TD><td>$gora</TD><td>$dol</TD></TR>";
  23.  
  24.  
  25. }
  26. echo "</TABLE>";
  27.  
  28. }
  29. ?>



Może wiecie jak to naprawić? Z góry dziękuję.
starach
Nie jestem pewien czy dobrze przeczytałem,
ale wydaje mi się że powinno być tak:
if($r[poz]<=$ile_menu){
$goras=$r[poz]+1;
$gora = "<a HREF=\"?a=przenies&move=up&id=$r[id]&poz=$goras\">[góra]</A>";
}
nitro18
nie.

dlatego że przy ostatniej pozycji nie ma być linku do góry, tak samo ma być przy linku na dół przy pierwszej pozycji.
starach
Dobra to wyjaśnij jeszcze raz w którym momencie nie wyświetla się 5 pozycja bo zwyczajnie nie rozumiem. - Chyba ci chodzi o to że się 5 nie wyświetla ?
nitro18
to ja daje obrazek:

starach
Mnie się dziwnie wydaje że dobrze ci napisałem w moim pierwszym poście.
No zobacz jeśli limit menu jest ustawiony na 5 a menu 5 ma pozycję piątą to warunek nie zostaje spełniony więc powinno być mniejsze-równe $ile_menu
nitro18
raczej źle mówisz. owszem jeżeli 5<=5 to tak a jeżeli 5<5 nie. Kod który podałeś jest niepoprawny. Może ten skrypt jakoś inaczej przebudować. sad.gif
starach
:lol: ? Czekaj czy my się aby dobrze rozumiemy ?
Sprawdź co się stanie jak dasz ten znak równa się i mi napisz. Ja nie mogę tego przetestować, bo szczerze mówiąc a) mam inne rzeczy do roboty B) nie podałeś całego kodu
nitro18
jeżeli napisze to się wyświetla to co an tym powyższym obrazku + to co przekreśliłem.

w sumie już rozwiązałem ten problem inną drogą

  1. <?php
  2. if($r[poz]==$ile_menu){
  3. $gora='';
  4. }else{
  5. $goras=$r[poz]+1;
  6. $gora = "<a HREF="?a=przenies&move=up&id=$r[id]&poz=$dols">[góra]</A>";
  7. }
  8. ?>
sad.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.