Paginacja oraz inne linki a NiceUrl

2012-02-22 20:15:36 Post #1 barcelona

 
Witam, nie będę drążył poprzedniego tematu bo to już jest inna tematyka.
Poradziliśmy sobie z mechanizmem tworzenia ładnych linków a teraz muszę te wszystkie linki pozamieniać za pomocą funkcji Url, bo w końcu po to ona została napisana.

A więc są linki proste oraz linki poplątane. Przykładem linku prostego jest np. "strona=test&podstrona=test" i taki link to czysta przyjemność umieścić w funkcji URL.

Jednak jak patrze na taki link:
1
$skrypt "?strona=admin&podstrona=pojemniki".$s_au."&s=";

To już siwieje.
Zrobiłem tak:
1
$skrypt $nurl->Url('strona=admin&podstrona=pojemniki'.$s_au.'&s');

I działa to, ale efektem jest wynik: admin/pojemniki/s//2, podwójny //
Skrypt działa, ale nie wiem czy jest to poprawna forma.
P.S. Ten link służy do stronicowania wyników.

2012-02-22 20:26:12 Post #2 nospor

 
&s
no a nie powinno byc:
&s=strona
?

2012-02-22 21:00:56 Post #3 barcelona

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
function pasek($rekordow,$na_stronie,$na_pasku,$skrypt,$s) {
  
$stron ceil($rekordow/$na_stronie);
  if (
$s<1$s=1;
  if (
$s>$stron$s=$stron;
  
$koniec $s+$na_pasku;
  if (
$s<=$na_pasku$koniec $na_pasku*2+1;
  if (
$koniec>$stron$koniec $stron;
  
$start $koniec-$na_pasku*2;
  if (
$start<1$start=1;
  if (
$s>1$p "<a href='$skrypt".($s-1)."'>&lt;&lt;&lt;</a>";
  else 
$p "<span style='color:gray'>&lt;&lt;&lt;</span>";
  if (
$s<$stron$n "<a href='$skrypt".($s+1)."'>&gt;&gt;&gt;</a>";
  else 
$n "<span style='color:gray'>&gt;&gt;&gt;</span>";
  for (
$i=$start$i<=$koniec$i++) {
    if (
$i==$s$l .= "&nbsp;<span style='color:#cc0000;'><b>$i</b></span>&nbsp;";
    else 
$l .= "&nbsp;<a href='$skrypt$i'>$i</a>&nbsp;";
  }
  if (
$rekordow<1$wynik "brak informacji spełniających kryteria wyszukiwania";
  else 
$wynik "znalezionych: $rekordow, strona $s z $stron<br />";
  if (
$stron>1$wynik .= "$p&nbsp; - $l - &nbsp;$n";
  return 
$wynik;
}
 
$s = ($_GET["s"]>1)?number_format($_GET["s"], 0""""):1// numer strony
$na_stronie 15;         // liczba rekordow widocznych na stronie
$na_pasku   3;          // liczba odpowiedzi/2 na pasku
$s_au trim($_GET["pojemniki"]);
$skrypt $nurl->Url('strona=admin&podstrona=pojemniki&s='.$s_au.''); // skrypt do wysyłania danych
while($wynik and $dane mysql_fetch_assoc($wynik)) {
  echo 
"<p>";
  foreach(
$dane as $pole) echo " [$pole] ";
  
// lub echo $dane["id"], itd...
  
echo "</p>";
}


Drobna literówka, ale nie zmienia faktu, że daje dwa //
Dziwna sprawa

2012-02-22 21:06:44 Post #4 barcelona

 
Dobra, moja wina, znowu namieszałem. Następnym razem pogrzebie w skrypcie zanim napisze temat.
EOT

Odpowiedz