Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/10/2014, 16:18
Matuha
 
Fecha de Ingreso: diciembre-2006
Mensajes: 35
Antigüedad: 17 años, 5 meses
Puntos: 0
if que se cumple siempre aun cuando no debe

Hola, con este código lo que pretendo hacer es extraer de la base de datos unas referencias y buscarlas en un fichero csv, las que no existan en el fichero csv deberían hacer que cumpla el if "if(!stristr($handle, $ref)){" y si que se cumple pero el problema es que se cumple siempre, existan o no las referencias...

¿Alguna idea sobre como lo podría hacer? gracias anticipadas.

Código PHP:
$handle fopen("csv-temp/productos.csv""r");
 
if (
$borrar_productos == "1") {
        echo 
"<br/>Buscando productos que ya no existan...<br/>";
$registros_encontrados $link->query("SELECT * FROM ps_product") or die (mysql_error());
 
while (
$registro mysqli_fetch_array($registros_encontrados)){
              
$ref $registro['reference'];
                          if(!
stristr($handle$ref)){
$buscaid $link->query("SELECT id_product FROM ps_product WHERE reference='$reference'") or die (mysql_error()); $id_product mysqli_fetch_row($buscaid); $id $id_product[0];
    
$link->query("delete from ps_product where reference = $ref");
        
$link->query("delete from ps_product_shop where id_product= $id");
        
$link->query("delete from ps_category_product where id_product= $id");
        
$link->query("delete from ps_product_lang where id_product= $id and id_lang=1");
        
$link->query("delete from ps_product_lang where id_product= $id and id_lang=2");
        
$link->query("delete from ps_product_lang where id_product= $id and id_lang=3");
        
$link->query("delete from ps_specific_price where id_product= $id");
        
$link->query("delete from ps_stock_available where id_product= $id");
        
$link->query("delete from ps_image where id_product= $id");
        
$link->query("delete from ps_image_shop where id_image= $id");
        
$link->query("delete from ps_image_lang where id_image= $id and id_lang=1");
        
$link->query("delete from ps_image_lang where id_image= $id and id_lang=2");
        
$link->query("delete from ps_image_lang where id_image= $id and id_lang=3");
$cuentaid strlen($id);
if (
$cuentaid == or $cuentaid == or $cuentaid == or $cuentaid == or $cuentaid == 5) {  
$caracter1 $id[0];
}
if (
$cuentaid == or $cuentaid == or $cuentaid == or $cuentaid == 5) {  
$caracter2 $id[1];
}
if (
$cuentaid == or $cuentaid == or $cuentaid == 5) {
$caracter3 $id[2];
}
if (
$cuentaid == or $cuentaid == 5) {
$caracter4 $id[3];
}
if (
$cuentaid == 5) {
$caracter5 $id[4];
}
 
if (
$cuentaid == 5) {
$dir "../img/p/".$caracter1."/".$caracter2."/".$caracter3."/".$caracter4."/".$caracter5."/";
}
if (
$cuentaid == 4) {
$dir "../img/p/".$caracter1."/".$caracter2."/".$caracter3."/".$caracter4."/";
}
if (
$cuentaid == 3) {
$dir "../img/p/".$caracter1."/".$caracter2."/".$caracter3."/";
}
if (
$cuentaid == 2) {
$dir "../img/p/".$caracter1."/".$caracter2."/";
}
if (
$cuentaid == 1) {
$dir "../img/p/".$caracter1."/";
}
$ficheroseliminados0;
$handle opendir($dir);
while (
$file readdir($handle)) {
 if (
is_file($dir.$file)) {
  if ( 
unlink($dir.$file) ){
   
$ficheroseliminados++;
  }
 }
}
echo 
"<br/>Producto con referencia: <b> $ref </b> eliminado con éxito<br/>";
 
}
}