Ver Mensaje Individual
  #20 (permalink)  
Antiguo 22/08/2005, 13:16
Avatar de ShaqUC
ShaqUC
 
Fecha de Ingreso: agosto-2005
Ubicación: Estación Central
Mensajes: 14
Antigüedad: 18 años, 8 meses
Puntos: 0
Haber no toy muy clarito con el tema....la idea tuya es buscar productos con XML....mira qe yo tengo un codigo para buscar diferentes productos a travéz de Mercado Libre...

Código PHP:
<?
# ID 213525
# En La inea 114 Va este numero "213525" que es nuestro site ID 

//Variable de URL as_categ_id
$id_categ=$HTTP_GET_VARS[as_categ_id];
if (
$HTTP_GET_VARS[as_categ_id]=="") { $id_categ="1000"; }
//Variable de URL buscar
$buscar=$HTTP_GET_VARS[buscar];
//Variable de URL pais (MLA,MLB,etc)
$pais=strtoupper($HTTP_GET_VARS[pais]);

//Elije el dominio de MercadoLibre
switch ($pais) {
case 
"MLA":
    
$dominio="www.mercadolibre.com.ar";
    break;
case 
"MLB":
    
$dominio="www.mercadolivre.com.br";
    break;
case 
"MLM":
    
$dominio="www.mercadolibre.com.mx";
    break;
case 
"MLC":
    
$dominio="www.mercadolibre.cl";
    break;
case 
"MLV":
    
$dominio="www.mercadolibre.com.ve";
    break;
case 
"MCO":
    
$dominio="www.mercadolibre.com.co";
    break;
case 
"MLU":
    
$dominio="www.mercadolibre.com.uy";
    break;
case 
"MEC":
    
$dominio="www.mercadolibre.com.ec";
    break;
case 
"MLP":
    
$dominio="www.mercadolibre.com.pe";
    break;
default:
    
$dominio="www.mercadolibre.cl";
}
?>
<html>
<head>
<title>Articulos en Mercadolibre</title>
<link href="http://www.ceatolei.cl/estiloml.css" rel="stylesheet" type="text/css">
</head>
<body>
<dl>
  
  <table width="120" heigh ="600" border="0" cellpadding="0" cellspacing="0">
    <?php

$insideitem 
false;
$item = array();
$tag "";
$title "";
$description "";
$link "";
$price "";
$image="";
$currency"";

function 
startElement($parser$name$attrs) {
    global 
$insideitem$tag$title$description$link$price$image$currency$item;
    if (
$insideitem) {
        
$tag $name;
    } elseif (
$name == "ITEM") {
        
$insideitem true;
    }
}

function 
endElement($parser$name) {
    global 
$insideitem$tag$title$description$link$price$image$currency$item$attrs;
    if (
$name == "ITEM") {
        echo 
"<tr>";
        echo 
"<td><div align=\"center\"><img src=\"".$image."\" height=\"59\"></div>";
        echo 
"<div align=\"center\"><a href=\"".$link."\" target=\"_blank\">".substr($title,0,55)."</a></div><div align=\"center\"><font class=\"precio\">".$currency.$price."</font></div></td>";
        echo 
"</tr>";
        echo 
"<tr>";
        echo 
"<td height=\"1\" bgcolor=\"#000000\"></td>";
        echo 
"</tr>";
        
$title "";
        
$description "";
        
$link "";
        
$price "";
        
$item "";
        
$image "";
        
$currency "";
        
$insideitem false;
    }
}

function 
characterData($parser$data) {
    global 
$insideitem$tag$title$description$link$price$image$currency$item$attrs;
    if (
$insideitem) {
    switch (
$tag) {
        case 
"ITEM":
        
$id .= $item['ID'];
        break;
        case 
"TITLE":
        
$title .= $data;
        break;
        case 
"DESCRIPTION":
        
$description .= $data;
        break;
        case 
"LINK":
        
$link .= str_replace("XXX","213525",$data); 
        break;
        case 
"PRICE":
        
$price .= $data;
        break;
        case 
"IMAGE_URL":
        
$image .= $data;
        break;
        case 
"CURRENCY":
        
$currency .= $data;
        break;        
    }
    }
}

//========================================================
// Esta Sentencia Nos Muestra Los Articulos Mas Vendidos  
//========================================================

$xml_parser xml_parser_create();
xml_set_element_handler($xml_parser"startElement""endElement");
xml_set_character_data_handler($xml_parser"characterData");
$fp fopen("http://".$dominio."/jm/searchXml?as_categ_id=".$id_categ."&as_order_id=MAS_OFERTADOS&as_filtro_id=PRECIO_FIJO&as_display_type=G&as_qshow=2","r")
    or die(
"Error reading data.");
while (
$data fread($fp4096))
    
xml_parse($xml_parser$datafeof($fp))
        or die(
sprintf("XML error: %s at line %d"
            
xml_error_string(xml_get_error_code($xml_parser)), 
            
xml_get_current_line_number($xml_parser)));
fclose($fp);
xml_parser_free($xml_parser);
?>
  </table>
</dl>
</body>
</html>