Jump to content


Photo

Php + Xml


  • Faça o login para participar
3 replies to this topic

#1 Ryck

Ryck

    Normal

  • Usuários
  • 84 posts
  • Sexo:Não informado

Posted 15/01/2006, 11:20

Objetivo:Pegar dados do mysql atraves do php transformar em XML e exibi-los na tela formatados.

Caso:Eu tenho no meu BD varios nomes de pessoas com cep telefone e etc.Eu poderia exibir tudo de vez porem acho melhor exibir somente o nome e utilizar o recursso ARVORE do XML para que qndo a pessoa clicasse no nome os dados referentes a ela aparecessem.Ja tentei CSS e XSL porem eles não usam o RECURSSO ARVORE E NEM exibem o nome da tag de maneira formatada!

#2 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 15/01/2006, 11:56

E aonde está a sua dificuldade em pegar os dados do MySQL, criar uma string com as tags criada com os dados contidos na tabela referente a query e salvar o .xml e exibi-los como você quer?
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#3 Ryck

Ryck

    Normal

  • Usuários
  • 84 posts
  • Sexo:Não informado

Posted 16/01/2006, 19:04

Aquele + do XML quando vc formata simplesmente desaparece!!

#4 PHP-man

PHP-man

    12 Horas

  • Usuários
  • 257 posts
  • Sexo:Masculino

Posted 16/01/2006, 23:51

Oi cara blz, fiquei meio confuso no que vc quer.

Fiz este script para um site todo em FLASH e com atualização dinamica em PHP e XML.

Talve o ajude.

<?
require_once("verifica.php");
session_start();
include ("config.php");

$area = $_POST['slarea'];
$limitar_ext = "sim";
$extensoes_validas = array".jpg");
$caminho_absoluto = "/home/dominio/public_html/$area/";
$limitar_tamanho = "nao";
$tamanho_bytes = "50000";
$sobrescrever = "nao";

$link = "form_inserir.php?area=$area";
//set_time_limit(200);
$nome_arquivo = $_FILES['arquivo']['name'];
$tamanho_arquivo = $_FILES['arquivo']['size'];
$arquivo_temporario = $_FILES['arquivo']['tmp_name'];

  if (!empty($nome_arquivo))
  { 
    if ($sobrescrever == "nao" && file_exists($caminho_absoluto.$nome_arquivo))
   {
     echo "<script>alert(\"Este arquivo já existe no servidor!\")
                window.location=\"$link\"</script>";
  exit();     
   }
	if ($limitar_tamanho == "sim" && ($tamanho_arquivo > $tamanho_bytes))
   {
      echo "<script>alert(\"O arquivo é muito grande!\")
                window.location=\"$link\"</script>";
  exit();
   }
	$ext = strrchr($nome_arquivo, '.');
	if ($limitar_ext == "sim" && !in_array($ext,$extensoes_validas))
   {
     echo "<script>alert(\"Extensão de arquivo inválida!\")
                window.location=\"$link\"</script>";
  exit();
   }
// copia o arquivo para a pasta no servidor    
    $upload = move_uploaded_file($arquivo_temporario, $caminho_absoluto.$nome_arquivo);
    }
	if ($upload) {

// define a imagem a partir da qual será gerada a minuatura
$miniatura = $nome_arquivo;

// **** configurações da miniatura *******
$tamanho_fixo = "N";    // S ou N
$largura_fixa = 192;    // usado somente com tamanho_fixo=S
$altura_fixa = 144;     // usado somente com tamanho_fixo=S
$percentual = 40;       // usado somente com tamanho_fixo=N
// **************************************

//chdir("home");
if(!file_exists($caminho_absoluto.$miniatura))
{
    echo "Arquivo da imagem não encontrado!";
    exit;
}
if($tamanho_fixo=="N" && ($percentual<1 || $percentual>100))
{
    echo "O percentual deve ser um número entre 1 e 100!";
    exit;
}

// monta o nome do arquivo resultante
$arquivo_miniatura = explode('.', $miniatura);
$arquivo_miniatura = $arquivo_miniatura[0]."_th.jpg";

// lê a imagem de origem e obtém suas dimensões
$img_origem = ImageCreateFromJPEG("$caminho_absoluto/$miniatura");
$origem_x = ImagesX($img_origem);
$origem_y = ImagesY($img_origem);

// se não for tamanho fixo, calcula as dimensões da miniatura
if($tamanho_fixo=="S")
{
    $x = $largura_fixa;
    $y = $altura_fixa;
}
else
{
    $x = intval ($origem_x * $percentual/100);
    $y = intval ($origem_y * $percentual/100);
}

// cria a imagem final, que irá conter a miniatura
$img_final = ImageCreateTrueColor($x,$y);

// copia a imagem original redimensionada para dentro da imagem final
ImageCopyResampled($img_final, $img_origem, 0, 0, 0, 0, $x+1, $y+1, $origem_x , $origem_y);

// salva o arquivo
ImageJPEG($img_final, $caminho_absoluto.$arquivo_miniatura);

// libera a memória alocada para as duas imagens
ImageDestroy($img_origem);
ImageDestroy($img_final);

$inserir = mysql_query("INSERT INTO imagens (area,img,img_th)
VALUES ('$area','$nome_arquivo','$arquivo_miniatura')") or die (mysql_error());
if ($inserir) {
  $fp = fopen("../$area.xml","w+");
  $sql = mysql_query("SELECT * FROM imagens WHERE area='$area'");
echo "<br><br>";
  fwrite ($fp,"<images directory=\"$area\">\r\n");
  
  while ($dados = mysql_fetch_array($sql)) {
    $id = $dados['id'];
	$area2 = $dados['area'];
	$img = $dados['img'];
	$img_th = $dados['img_th'];
      echo "Atualizando dados ->$id, $area, $img, $img_th";
   echo "<br>";
   fwrite($fp, "      <imageNode jpegURL=\"$img\" thumbURL=\"$img_th\" title=\"$id\">Comments on Image $id</imageNode>\r\n");
  }
    fwrite ($fp,"</images>");
	fclose($fp);
echo "<br><br>";
echo "<script>alert(\"A imagem foi inserida com sucesso!\")
                 window.location=\"form_inserir.php\"</script>";
  } else {
    echo "<script>alert(\"Erro ao inserir imagem!\")
                window.location=\"$link\"</script>";
    }
	} elseif (empty($nome_arquivo))
  {
  echo "<script>alert(\"Por favor selecione um arquivo em seu computador!\")
	window.location=\"$link.php\"</script>";
	}
?>

T+
Existe uma grande diferença entre a Sabedoria e a Inteligência. A Inteligência vem acompanhada de Arrogância e Irônias. A Sabedoria vem acompanhada de Humildade e Paciência. by PHP-man




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq