Remove last comma from page [duplicate]

0

I created a page, which is displayed 1,2,3, I would like to know how can I remove the last comma from the last page? And another, the first pages show 1,2,3, and when I pass from 3, it shows 1,2,3,4, does it all show only 3? If you can help me in these two things I will be very happy and grateful! The code I have: '

if ($ action == "") {

$num_por_pagina = 14; 

$pagina = mysql_real_escape_string($_GET["pagina"]);


if (!$pagina) {

   $pagina = 1;

   }

$ first_register = ($ page * $ num_on_page) - $ num_on_page;

}

$sql1 ="SELECT * FROM user_badges WHERE user_id = '$usr_id' ORDER BY id";

$res1= mysql_query($sql1) or die(mysql_error());



$prev = $pagina - 1;

$next = $pagina + 1;


$total = mysql_num_rows($res1);

$total_paginas = $total/$num_por_pagina;


if ($pagina > 1) {

    $prev_link = "<a href='javascript:void();' onclick='paginacao($prev, $usr_id)'>&laquo;</a>";

} else { 

    $prev_link = "&laquo;";

}


// se número total de páginas for maior que a página corrente, então temos link para a próxima página

if ($total_paginas > $pagina) {

    $next_link = "<a href='javascript:void();' onclick='paginacao($next, $usr_id)'>&raquo;</a>";

} else { // senão não há link para a próxima página

    $next_link = "&raquo;";

}   

// vamos arredondar para o alto o número de páginas que serão necessárias para exibir todos os registros. Por exemplo, se temos 20 registros e mostramos 6 por página, nossa variável $total_paginas será igual a 20/6, que resultará em 3.33. Para exibir os 2 registros restantes dos 18 mostrados nas primeiras 3 páginas (0.33), será necessária a quarta página. Logo, sempre devemos arredondar uma fração de número real para um inteiro de cima e isto é feito com a função ceil().

$total_paginas = ceil($total_paginas);

$painel = "";



$f = $pagina + 2;

$f = ($f > $total_paginas)?$total_paginas:$f;

$n = $pagina - 2;

$n = ($n<1)?1:$n;



if($n == 1 && $total_paginas >600){

    $f=600;

}else{

    $f=$pagina+2;

    $f=($f<=$total_paginas)?$f:$total_paginas;

}



for ($x=$n; $x<=$f; $x++) {

    if ($x==$pagina) { // se estivermos na página corrente, não exibir o link para visualização desta página

        $painel .= "$x, ";

    } else {

        $painel .= "<a href='javascript:void();' onclick='paginacao($x, $usr_id)'>$x</a>, ";

    }

}
        $paginacao = "$prev_link $painel $next_link";


    echo "".$paginacao;

?> '

    
asked by anonymous 01.05.2017 / 19:06

1 answer

0

Try something like this:

$total_paginas = ceil($total_paginas);
$painel = "";

$f = $pagina + 2;
if($f > $total_paginas){
    $f = $total_paginas;
}

$n = $pagina - 2;
if($n < 1){
    $n = 1;
}

for ($x=$n; $x<=$f; $x++) {

    if ($x==$pagina) {
        $painel .= "$x";
    } else {
        $painel .= "<a href='javascript:void();' onclick='paginacao($x, $usr_id)'>$x</a>";
    }

    if ($x < $f) {
        $painel .= ", ";
    }
}

At the time of creating pagination, condition append the comma only if it is not the last iteration of the.

    
01.05.2017 / 19:43