Napisałem taki prymitywny kod. Niestety nie działa.
if($_GET['page']<6)
{
for($i=1; $i<11; $i++)
{
echo ' '.$i.''.$i.'';
}
}
else
{
$strona[1]=($_GET['page']-4);
$strona[2]=($_GET['page']-3);
$strona[3]=($_GET['page']-2);
$strona[4]=($_GET['page']-1);
$strona[5]=$_GET['page'];
$strona[6]=($_GET['page']+1);
$strona[7]=($_GET['page']+2);
$strona[8]=($_GET['page']+3);
$strona[9]=($_GET['page']+4);
for($i=1; $i<10; $i++)
{
echo ' '.$i.''.$strona[$i].'';
}
}[/code]
1. Jeśli page jest większe niż 5 to wywala mi błędy w
[code]$strona[1]=($_GET[‘page’]-4); $strona[2]=($_GET[‘page’]-3); $strona[3]=($_GET[‘page’]-2); $strona[4]=($_GET[‘page’]-1); $strona[5]=$_GET[‘page’]; $strona[6]=($_GET[‘page’]+1); $strona[7]=($_GET[‘page’]+2); $strona[8]=($_GET[‘page’]+3); $strona[9]=($_GET[‘page’]+4);
- Za każdym razem wyświetla mi numerki od 1 do 9.
adpawl
(adpawl)
#2
Dziwne to porcjowanie …ale twoja sprawa.
<?php
if($_GET['page']<6)
{
for($i=1; $i<11; $i++)
{
echo ' '.$i.'';
}
}
else
{
$strona[1]=($_GET['page']-4);
$strona[2]=($_GET['page']-3);
$strona[3]=($_GET['page']-2);
$strona[4]=($_GET['page']-1);
$strona[5]=$_GET['page'];
$strona[6]=($_GET['page']+1);
$strona[7]=($_GET['page']+2);
$strona[8]=($_GET['page']+3);
$strona[9]=($_GET['page']+4);
for($i=1; $i<10; $i++)
{
echo ' '.$strona[$i].'';
}
}
?>[/code]
Jeśli skrypt stosuje poza kodem wszystko jest ok. Jeśli wkomponuję go w kod to już nie jest tak kolorowo w linijkach:
$strona[1]=integer(($_GET['page'])-4);
$strona[2]=integer(($_GET['page'])-3);
$strona[3]=integer(($_GET['page'])-2);
$strona[4]=integer(($_GET['page'])-1);
$strona[5]=integer($_GET['page']);
$strona[6]=integer(($_GET['page'])+1);
$strona[7]=integer(($_GET['page'])+2);
$strona[8]=integer(($_GET['page'])+3);
$strona[9]=integer(($_GET['page'])+4);
pokazuje się błąd: Cannot use a scalar value as an array in …
PS. heh faktycznie dziwne, ale tylko na taki pomysł wpadłem ;d A może ktoś podesłać mi jakieś inne rozwiązanie??
adpawl
(adpawl)
#4
A co to ma być?
jak chcesz zwalidować zmienną, to od tego są wyrażenia regularne np. preg_match
…a rzutowanie typu wygląda np. tak
$strona[1]=(int)($_GET['page']-4);
czyli nie integer(xxx) a (int)x
Poza tym piszesz że po implementacji tego kodu sypie błędami, ale nie podałeś kodu całej strony - więc o powód nie pytaj.
Poza tym nic nie piszesz do czego to ma być porcjowanie …co chcesz porcjować? tekst, tablice, zapytanie mysql?
…aaa, dodam jeszcze, że na początku wypadało by dać: $strona=array();