Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/08/2012, 10:53
alvarols
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Problema con cadena PHP y MySQL

Tengo una duda:

Estoy tratando de hacer una declaración de MySQL en base a condiciones en PHP pero no me interpreta la cadena como yo quiero.

Hago esto:

Primero extraigo el resultado de $vcomercial y $vaduana, donde hago un explode porque en base al resultado quiero que en MySQL me busque rangos:

Esto es lo que contienen las variables

$vcomercial = 30,000 – 49,999
$vaduana = 15,000 – 29,999

Después, le hago un explode y quito las comas

Código PHP:
$vcomercial $_POST['vcomercial'];
    
$Vrango=explode('-',str_replace(',','',$vcomercial));
$vaduana $_POST['vaduana'];
    
$VArango=explode('-',str_replace(',','',$vaduana)); 
Haciendo esto, busco genero una parte de la declaración en MySQL. Con esto lo hago:


Código PHP:
if ($vcomercial=="todo"){$sqlvcomercial "";
    } elseif (
$vcomercial=="mas") {$sqlvcomercial "VComercial => 2000000";
    } else {
        
$sqlvcomercial "VComercial BETWEEN '$Vrango[0]' AND '$Vrango[1]'";
    }
    if (
$vaduana=="todo"){$sqlvaduana "";
    } elseif (
$vaduana=="mas") {$sqlvaduana "VAduana => 2000000";
    } else {
        
$sqlvaduana "Vaduana BETWEEN '$VArango[0]' AND '$VArango[1]'";
    } 
Las situación estriba en que no me aparece el resultado como yo quiero, esto lo compruebo con un "echo":

Resultado esperado:
SELECT * FROM pedimento WHERE VComercial BETWEEN '30000' AND '49999' Vaduana BETWEEN '15000' AND '29999'

Resultado real:
SELECT * FROM pedimento WHERE VComercial BETWEEN '30000 – 49999' AND ''Vaduana BETWEEN '15000 – 29999' AND ''

Espero me puedan ayudar, muchas gracias