Ir para conteúdo

Arquivado

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

fmda

ler varios xml e imprimir em tela

Recommended Posts

Faz salvar no notepad o número que vc tá também.

Assim vai saber se tá pulando ou se o XML vem faltando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou fazer isso pra ver, mas acho que da algum problema na leitura do xml e como tem aquela validação de pular o xml ele nao le ele



vou mudar tbm, ao invez de jogar direto pro banco vou escrever no txt pra ver que acontece



eh ta pulando tbm, com o txt pula mesmo. mas ainda pulando uns 10 a cada 100

tem como eu fazer se der algum problema ele imprimir em um outro txt o link que ele ta no momento, porque assim pego manual depois

 

unica forma q pensei agora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é vou fazer isso, quando ver que nao tem aquela tag criar um else e por pra imprimir a $pos. acho que a $pos pega o link todo né do array

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa e ae blz?

te perguntar o assunto é fora do xml, mas tem ligação

 

podia me dar um exemplo de como posso fazer uma query pra ranking? tipo

tem o sql que tem os dados Nome e Valor, aí queria fazer uma forma de que quando o valor for maior aparece na pagina um icone de "+", se for menor icone de "-" se o nome for novo ou entao mesmo valor aparece nada

 

parte de comparar de boa, mas n to conseguindo entender a logica pra aplicar

Compartilhar este post


Link para o post
Compartilhar em outros sites

No campo "valor" da tabela vc armazena valores positivos e negativos INT, é isso?

 

Vc quer apenas colocar o sinal na hora de imprimir, certo?

 

<?php
include("conexao.php");

$sql = "SELECT Nome, Valor FROM tabela ORDER BY Valor";
$sql = mysql_query($sql);

while ($rs = mysql_fetch_array($sql)) {
    echo $rs->Nome . ': ';

    if ($rs->Valor > 0) echo '+'; //apenas verifico se é positivo, pois o negativo já vem com o sinal.

    echo $rs->Valor;
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, estou apanhando novamente no xml, tem como me dar uma maozinha novamente, rsrs

 

Eu to querendo fazer um forma de ler o xml e se por exemplo tiver 30 IDs, ele listar o nome dele e do lado listar uma combobox para cada ID com as opções: Selecionado e Nâo selecioado. Assim o usuario vai escolhendo, "ahh este eu quero", "este não quero" isso para os 30IDs e gravar isso no banco.

 

Eu ja fiz listar todos com as combos e ta gravando no banco, mas sempre que eu escolho por exemplo o combo 3 ele pega sempre a ultima combo.

 

Como posso fazer isso, tá tenso. Porque o xml pode variarar, pode ser que tenha 30 Id, outro que tenha 10 ID. Então o numero de combos deveria ser de acordo com o total de IDs

 

 

 

<?php

$id = 1;
$idReferencia = 2;
$url = "https://www.site.com/arquivo.xml?id=" . "$id" . "&idreferencia=" . "$idReferencia";
$xml = simplexml_load_file($url);
foreach($xml->Dados as $dados){
?>

<tr>
<td width="4%"><img src="...."></td>
<td width="29%"><?php echo $dados->nome); ?></td>
<td width="65%">
<select name="combo1" size="1">
<option value="0" <?php echo ("0" == trim($variavel) ? "selected" : "");?>>Não selecionado</option>
<option value="<?php echo $dados->Id; ?>" <?php echo ("<?php echo $dados->Id; ?>" == trim($variavel) ? "selected" : "");?>>Selecionado</option>
</select>
</td>
</tr>

<?php
}
?>

 

aí quando eu clicar no botão ele joga estes dados no banco da seguinte forma

 

 

 

INSERT INTO tabela(
id,
nome1,
nome2
)
VALUES
(
id,
'" . $_POST['combo1'] . "',
'" . $_POST['combo2'] . "'
)"

 

a unica forma que achei é criar 100 coluna destas combo, combo2.... n sei fazer de uma forma. Deve existir uma forma mais inteligente mas n to sabendo. Aí no codigo talvez ponha um contato que muda o name do tipo <select name="combo<?php echo $i?>" size="1"> num sei, unica forma q to pensando

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui resolver, o problema acima criei 100 variveis e coloquei um contato no nome da combo, incrementando

unica forma que encontrei

 

 

mas uma duvida agora. eu uso este foreach pra percoer o xml e me retornar os dados. porém como faço pra so mostrar determinadors ID neste xml? porque tenho que puxar uns dados do banco e preciso so mostrar os dados conforme estes resultados do banco

 

Exemplo:

resultado do banco de dados: (ID: 1, 2, 3 e 10)

ai preciso ler o xml e so retornar os resultados dos ID 1, 2, 3 e 10 do banco)

como posso fazer isso?

 

foreach($xml->Data->ID as $id){

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sò preciso retornar o conteudos dos ID 1 e 2

 

 

 

<response>
<Data>
<Id>1</Id>
<Referencia>url_info</Referencia>
</Data>
<Status>ok</Stat>
</response>

 

<response>
<Data>
<Id>2</Id>
<Referencia>url_info</Referencia>
</Data>
<Status>ok</Stat>
</response>

 

<response>
<Data>
<Id>3</Id>
<Referencia>url_info</Referencia>
</Data>
<Status>ok</Stat>
</response>

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes eu tentei em json, mas acabei enfrentando problemas

aí achei mais facil xml, e como toquei tudo em xml fica dificil agora voltar pro json ou usar os dois juntos

 

mas acho que resolvid aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma duvida rapida, tem como passar o resultado de uma variavel pra parte de cima numa pagina

 

linha 1: preciso do resultado aqui

linha 30: query

linha 31: aqui consigo resultado da query, mas preciso dela tbm na linha 1

 

so que nao posso repetir a mesma query la em cima

Compartilhar este post


Link para o post
Compartilhar em outros sites

é porque tipo: no topo da minha página precisso retornar a quantidade de registro tem uma determinada query.

so que eu realizo a contagem apenas no final da página. Então eu não consigo usar uma variavel porque so la no final dela que consigo este valor valor

 

existe uma forma de dentro da própria pagina recuperar uma variavel que é definina apenas la em baixo?

 

 

1.

2. A quantidade de registro é <?php echo $Qte;?>

3.

4.

5.

6. $Qte = minha_query

7. <?php echo $Qte;?>

8.

9.

 

repare que só na linha 7 que consigo este valor, mas precisaria dela la na linha 2 (de baixo pra cima)

So que nao posso usar a query la em cima que fica muito sobrecarregar a pagina

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não amigo, não tem como. Mas não entendi sobre sua página ficar sobrecarregada, ela executa a variável de qualquer jeito, qual seria o problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

é porque tem 1 xml que tenho que ler de servidor externo, e com isso demora de mais a leitura

se eu passar isso novamente la em cima, vai ter que ler 2x e vai demorar o dobro de tempo.

 

o correto seria eu passar este endereço de xml no comeco da pagina, assim consigo usar tudo em baixo.

mas não estou sabendo porque quando jogo la em cima em baixo que existe outro trecho de <?php ;?> não consegue enxergar

Compartilhar este post


Link para o post
Compartilhar em outros sites

é porque la em baixo eu tenho que fazer um for pra retornar uma soma e mostra este valor da soma em uma tabela

então a cada volta lança uma <td> pra mim, se eu jogar la em cima, vai mostrar varios <td> e varias <table> que nao precisaria

 

acho que resolvi. crie uma variavel pra somar os valores e salvar ela em banco assim consigo recuperar la em cima

 

froid, n entender muito que agente acabando esquecendo das oturas artimanhas, hehe

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.