Cita:
Iniciado por UkySoft
Buenas noches,
Primero de todo MIL gracias.
Tengo un problema que me reconcome todo el dia y ya no puedo más.
Tengo el siguiente codigo:
Código PHP:
$xml_file = 'xml/categoria.xml';
if (file_exists($xml_file)) {
$xml = simplexml_load_file($xml_file);
} else {
exit('Error al intentar abrir el fichero '.$xml_file);
}
$ids = array();
foreach($xml->CategoriesControllerCategoryView as $CategoriesControllerCategoryView) {
$ids[] = $CategoriesControllerCategoryView->CategoryId;
$query = 'SELECT categoryid FROM categorias';
/
$res = mysql_query($query);
while(list($id) = mysql_fetch_row($res)) {
if(in_array($id, $ids)) {
} else {
$sql = "DELETE FROM categorias WHERE CategoryId = '$id'";
$result2 = mysql_query($sql) or die(mysql_error());
echo $sql; echo "</br>";
}
}
Vale el problema lo tengo en que realmente necesito cargar esta función varias veces, es decir, tengo una base de datos en la cual hay unos ID's, esos ID's estan asociados a nombres de ficheros xml en este caso esta función funciona perfectamente el problema es cuando realizo una consulta a la DB para ver el nombre del fichero y en la funcion completa hago otro while para que me realice esta funcion con todos los archivos XML que se han cargado a traves de la ID de la DB
Espero haber explicado bien, el tema es que si meto otro WHILE me hace un DELETE de todo lo que hay en la base de datos no compara
Buenas noches
no termino de entender tu problema, por qué no divides la función en dos, una función para una cosa y otra para otra cosa, le pasa parámetros y listo, si trabajas con objetos pues un método para una cosa y otro para otra o directamente dos clases.