Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) PHP_SELF para JavaScript


Yugi Moto

Pergunta

Bem, peguei um script PHP aqui no SB, funciona tudo beleza.

porem ele faz paginação dos resultados do DB, e claro vai gerando links para as proximas paginas, os links são gerados assim:

echo "<a href=".$PHP_SELF."?pg=".($pg+1)." class=pg><b>próximo &raquo;</b></a>";
mas eu estou utilizando uma função em JS, para carregar as paginas em uma DIV, para carregar as paginas na DIV eu faço assim:
<a href="java script:ajaxpage('pagina.php', 'rightcolumn');">Pagina</a>

o rightcolumn é o ID da DIV...

teria como gerar os links da paginação para carregar na mesma DIV ??

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Yugi Moto.

Aquele código que eu fiz, que o By_oby passou, eu fiz exatamente isso que você ta querendo fazer, você percebe que os links que eu criei lá são sempre (i+1) ?

você só olhou o onclick do meu código =s, a lógica que usei lá é essa que está procurando. O.o

De qualquer forma, se você não entendeu, poste o php aqui mesmo, não tem problema.

Kelabrassssss

Link para o comentário
Compartilhar em outros sites

  • 0

Sim olhei só o evento onclick, pois é lá que ele informe onde carregar e como carregar...

ID('pgLinks').innerHTML=""
ID('tabela').innerHTML=""

    for(i=1; i<=paginas; i++)
    ID('pgLinks').innerHTML+="<a href='#' target='_self' onclick=\"JsGallery("+tamanho+","+i+","+q+",'"+dir+"'); return false\">"+i+"</a>"
olhando isso, da pra entender que ele carrega na DIV ID pgLinks, apos o evento onclick mas isso seria com sua função certo !!! eu uso esta função em JS
function AJAX() {
this.Updater=carregarDados;
function carregarDados(caminhoRetorno,idResposta,metodo,mensagem) {
var conteudo=document.getElementById(idResposta)
conteudo.innerHTML= mensagem;
var xmlhttp = getXmlHttp();
//Abre a url
xmlhttp.open(metodo.toUpperCase(), caminhoRetorno,true);
//Executada quando o navegador obtiver o código
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4){
//Lê o texto
var texto=xmlhttp.responseText;
//Desfaz o urlencode
texto=texto.replace(/\+/g," ");
texto=unescape(texto);
//Exibe o texto no div conteúdo
var conteudo=document.getElementById(idResposta);
conteudo.innerHTML=texto;
}
}
xmlhttp.send(null);
}
}
function getXmlHttp() {
var xmlhttp;
try{
xmlhttp = new XMLHttpRequest();
}catch(ee){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){
xmlhttp = false;
}
}
}
return xmlhttp;
}
Chamo a função assim:
var loadedobjects=""
var rootdomain="http://"+window.location.hostname

function ajaxpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
page_request.open('GET', url, true)
page_request.send(null)
}
e para chamar os links eu faço assim:
<a href="java script:ajaxpage('pagina.php', 'rightcolumn');">Pagina</a>

mas e para chamar um link que usa PHP_SELF+?pg=".($pg+1)."
<a href=".$PHP_SELF."?pg=".($pg+1)." class=pg><b>próximo &raquo;</b></a>

eu fiz assim:
<a href="java script:ajaxpage('pagina.php?pg=".($pg+1)."', 'rightcolumn');">Pagina</a>
pois seria o mais simples, porem não funciona....

Editado por Yugi Moto
Link para o comentário
Compartilhar em outros sites

  • 0

Então yugi moto...eu não disse que o meu código iria solucionar o problema, mas a lógica realmente é igual, eu fiz aquilo primeiramente em PHP pra depois passar pra Js.

O problema é que tá uma senhora salada essas funções que está usando, elas fazem testes condicionais repetidamente, duas funções que fazem a mesma coisa...Também não consegui identificar o que a função loadpage faz....

Não tenho os códigos php e não dá pra eu ver funcionando, o que complica pra mim, pois não estou familiarizado com o sistema que está montando tanto quanto você está.

Vamos ver pelos problemas, que problema ele dá quando você coloca a linha que comentou?

Esta:

<a href="java script:ajaxpage('pagina.php?pg=".($pg+1)."', 'rightcolumn');">Pagina</a>

Eu já sei que não funcionou, mas que problema que dá?

E o que o php retorna? Ele funciona sozinho sem o ajax? Tem como postar ele funcionando sozinho ? Se não puder postar não tem problema.

Link para o comentário
Compartilhar em outros sites

  • 0

e ae !!!

valeu kakaroto, mas consegui arrumar o código...

fiz umas coisas aqui e deu certo !!!

no fim o link deve ficar assim:

if($pagina < $paginas) {
$mais = $pagina + 1;
$url = "pagina.php"."?pagina=".$mais;
//proximo
echo "<a href="."java script:ajaxpage('$url','rightcolumn');"."> Proximo</a>";

aqui não teve erros !!!

Link para o comentário
Compartilhar em outros sites

  • 0

Ainda bem cara que solucionou.

Eu já não sabia mais como ajudar, sem esse fragmento de código do php ae eu não saberia como ajudar.

É melhor assim, quando soluciona sozinho né? Aprende mais e tal. Que bom que postou a solução!!

Parabéns.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...