Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nielsen Tomazini

Selecionar 5 últimas entradas de um arquivo XML

Recommended Posts

Olá,
Tenho um script para mostrar um texto que vem de um XML. O XML tem um texto para cada dia do mês. O script é este:

<script type="text/javascript">

var d = new Date();
var day = d.getDate();

$(document).ready(function(){
    $.ajax({
    type: "GET",
    url: "cadadia.xml",
    dataType: "xml",
    success: function(xml) {
	  $(xml).find("devocional").each(function(){
		   
    if($(this).find('dia').text() == day) {
  
		
        titulo = $(this).find("titulo").text();
        leia = $(this).find("leia").text();
        mensagem = $(this).find("mensagem").text();
        ore = $(this).find("ore").text();
         $("#conteudo").append('<div>');
         $("#conteudo").append('<h3>'+ titulo + '</h3>');
         $("#conteudo").append('Leer: '+ leia + '<br />');
         $("#conteudo").append('<p>'+ mensagem + '<br/><br/></p>');
         $("#conteudo").append('Ore: '+ ore +'<br />');
         $("#conteudo").append('</div>');
	}
		  });
        }
     });
 });


</script>

O XML pode ser visto aqui: www.ministerioreforma.com/app/cadadia.xml

 

Agora estou sofrendo para fazer o seguinte:
Como fazer com que o texto dos últimos 5 dias (por enquanto não estou preocupado com os meses anteriores) apareçam numa lista para que então o usuário possa selecionar um destes últimos 5 resultados?

Tentei o script abaixo mas não funciona:

<script type="text/javascript">

var d = new Date();
var day = d.getDate();


$(document).ready(function(){
    $.ajax({
    type: "GET",
    url: "cadadia.xml",
    dataType: "xml",
    success: function(xml) {
	  $(xml).find("devocional").each(function(){


    for(var i=0; $(this).find('dia').text() == day - i; i++) {
  
		
        titulo = $(this).find("titulo").text();
        leia = $(this).find("leia").text();
        mensagem = $(this).find("mensagem").text();
        ore = $(this).find("ore").text();
         $("#conteudo").append('<div>');
         $("#conteudo").append('<h3>'+ titulo + '</h3>');
         $("#conteudo").append('Leer: '+ leia + '<br />');
         $("#conteudo").append('<p>'+ mensagem + '<br/><br/></p>');
         $("#conteudo").append('Ore: '+ ore +'<br />');
         $("#conteudo").append('</div>');

	}
		  });
        }
     });
 });
</script>

E também assim:
Só que aqui ele limita apenas a 5 resultados, mas não consigo definir que são os últimos 5 dias á partir da data de hoje.

<script type="text/javascript">

var d = new Date();
var day = d.getDate();
var i = 0;


$(document).ready(function(){
    $.ajax({
    type: "GET",
    url: "cadadia.xml",
    dataType: "xml",
    success: function(xml) {
	  $(xml).find("devocional:lt(5)").each(function(){
		
		
		

			titulo = $(this).find("titulo").text();
			$("#lista").append('<li><a href="#page2">'+ titulo + '</a></li>');
		 
		  }); // fim função devocional. 
		
		        } // fim sucesso do xml
		
     }); // fim do ajax
 });  // fim da função


</script>

Agradeço qualquer ajuda. Dá para ver que sou muito iniciante, certo?
Valeu a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, eu fiz algo aqui rapidinho pra te ajudar, espero que de certo. Tenta algo nesse nipe:

 

var d = new Date();
var day = d.getDate();
var day_init = day - 4;
var i = 0;


$(document).ready(function(){
  $.ajax({
    type: "GET",
    url: "cadadia.xml",
    dataType: "xml",
    success: function(xml) {
      $(xml).find("devocional").each(function(){
        
        day_xml = parseInt($(this).find('dia').text());
        
        if (day_init >= day_xml && day_xml <= day) {
          
          titulo = $(this).find("titulo").text();
          $("#lista").append('<li><a href="#page2">'+ titulo + '</a></li>');
          
        }
        

      }); // fim função devocional. 

    } // fim sucesso do xml

  }); // fim do ajax
});  // fim da função

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.