Código PHP :
<?php
// Variable con el nombre del fichero a importar
$xml_file = 'Untitled-1.xml';
if (file_exists($xml_file))
{
$xml = simplexml_load_file($xml_file);
}
else
{
exit('Error al intentar abrir el fichero '.$xml_file);
}
// Todo bien asi que abrimos BD para importar
require ('Untitled-2.php');
/* Recorremos el XML */
$count=0;
foreach ($xml->libro as $libro)
{
// Inserta el libro en la tabla
$codigo=$libro->ref;//almaceno en una variable el valor del nodo "ref" del xml
//realizo la consulta a la bd
$sql = "SELECT * FROM libros";
$query = mysqli_query($conexion, $sql) or die ('error');
$row = mysqli_fetch_assoc($query);
//realizo la comprobacion entre campo codigo y la variable codigo
if($codigo != $row['codigo'])
{
//y desde aki comienza la insercion
$qry = "INSERT INTO libros (codigo, titulo, editorial, autor, descripcion,precio)
VALUES ('$libro->ref', '$libro->titulo', '$libro->editorial','$libro->autor','$libro->desc','$libro->precio')";
// Ahora ejecutamos el INSERT en la BD
$result = mysqli_query($conexion,$qry) or die (mysqli_error($conexion));
// Y necesitamos recuperar el ultimo ID para relacionar sus imagenes
$libro_id = mysqli_insert_id($conexion);
// Y ahora sus imágenes (en este caso tiene 3)
for ($i=0;$i<=2;$i++)
{
$img_url = $libro->images->image[$i]->url;
$img_des = $libro->images->image[$i]->titulo;
$qry = "INSERT INTO img_libros (libro_id, url, descripcion)
VALUES ('$libro_id', '$img_url', '$img_des')";
$result = mysqli_query($conexion,$qry) or die(mysqli_error($conexion));
}
// Incrementamos contado para ver cuantos libros se importan.
$count++;
}
else
{
echo 'ya existe el codigo "'.$row['codigo'].'"';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>
<table width="80%" align="center" cellpadding="0" cellspacing="0" border="0" style="font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif; color:#FFF; font-weight:bold; font-size:1.1em;">
<tr bgcolor="#003399">
<td align="center">id</td>
<td align="center">Código</td>
<td align="center">Titulo</td>
<td align="center">Editorial</td>
<td align="center">Autor</td>
<td align="center">Precio</td>
</tr>
<?php
/*echo '-------------------------------------------<br/>Total de libros importados:'.$count.'<br/>-------------------------------------------<br/>';*/
$sql = "SELECT * FROM libros ORDER BY precio";
$query = mysqli_query($conexion, $sql) or die ('error');
$num_rows = mysqli_num_rows($query);
while($row = mysqli_fetch_assoc($query))
{
$id = $row['id'];
$codigo = $row['codigo'];
$titulo = $row['titulo'];
$editorial = $row['editorial'];
$autor = $row['autor'];
$precio = $row['precio'];
if($num_rows > 0)
{
echo
'<tr bgcolor="#eeeeee" style="color:#444;">
<td align="center">'.$id.'</td>
<td align="center">'.$codigo.'</td>
<td align="center">'.$titulo.'</td>
<td align="center">'.$editorial.'</td>
<td align="center">'.$autor.'</td>
<td align="center">'.$precio.'</td>
</tr>';
}
}
?>
</table>
</body>
</html>
