Foros del Web » Programando para Internet » PHP »

Problema con cadena PHP y MySQL

Estas en el tema de Problema con cadena PHP y MySQL en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 28/08/2012, 10:53
 
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
  #2 (permalink)  
Antiguo 28/08/2012, 11:05
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con cadena PHP y MySQL

Sabes, acabo de probar tu código y hay algo mal con el.

El carácter de separador no es un guión, es mas bien otro por eso no funciona.

Con un guión normal funciona muy bien, mira: http://ignite.io/code/503cf93bef167b2b63000000
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 28/08/2012, 11:24
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Respuesta: Problema con cadena PHP y MySQL

Con el código que me pasaste me aparece esto:

SELECT * FROM pedimento WHERE VComercial BETWEEN '3000049999' AND ''Vaduana BETWEEN '1500029999' AND ''
  #4 (permalink)  
Antiguo 28/08/2012, 11:29
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 2 meses
Puntos: 155
Respuesta: Problema con cadena PHP y MySQL

el código que te dio pakete imprime el array ya formado, mas bien pon el código que te esta sacando eso , por lo menos comas y guiones ya no hay
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #5 (permalink)  
Antiguo 28/08/2012, 11:31
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Respuesta: Problema con cadena PHP y MySQL

Es este:

$vcomercial = $_POST['vcomercial'];
$Vrango=preg_replace('/[^\d-]/', '', $vcomercial);
$Vrango = explode('-', $Vrango);
  #6 (permalink)  
Antiguo 28/08/2012, 12:12
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Respuesta: Problema con cadena PHP y MySQL

Ya vi por qué, así me lo imprime con el print_r

Array ( [0] => 30000 – 49999 )

Ahora, la cosa es como le hago para que se guarde en 2 arrays
  #7 (permalink)  
Antiguo 28/08/2012, 12:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con cadena PHP y MySQL

¿Si leíste la parte donde te decía que en tus datos de ejemplo no tienes un guión normal?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 28/08/2012, 13:08
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Respuesta: Problema con cadena PHP y MySQL

Si, ya lo cambié y funcionó

Etiquetas: mysql, sql, variables, cadenas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:15.