Foros del Web » Programando para Internet » PHP »

Borrar parte de una cadena si tiene ciertos caracteres

Estas en el tema de Borrar parte de una cadena si tiene ciertos caracteres en el foro de PHP en Foros del Web. Tengo por ejemplo, esta declaración en MySQL que generé mediante unas condiciones. $sql = "SELECT * FROM pedimento WHERE VComercial BETWEEN '30000' AND '49999' Vaduana ...
  #1 (permalink)  
Antiguo 28/08/2012, 12:42
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Borrar parte de una cadena si tiene ciertos caracteres

Tengo por ejemplo, esta declaración en MySQL que generé mediante unas condiciones.

$sql = "SELECT * FROM pedimento WHERE VComercial BETWEEN '30000' AND '49999' Vaduana BETWEEN '100' AND '49' VSeguros BETWEEN '75000' AND '99999' AND"

De esta cadena necesito quitar el último "AND" solo en caso de que las condiciones generen ese resultado. ¿Cómo le hago?

Saludos
  #2 (permalink)  
Antiguo 28/08/2012, 12:47
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Borrar parte de una cadena si tiene ciertos caracteres

Yo creo que estás generando tu condición mediante concatenación, algo así:

$consulta.='xxx and';
$consulta.='yyy and';
$consulta.='zzz and';

De ser así, más que quitar el último and, te recomiendo manejar arreglos e implode:

$consulta[]='xxx';
$consulta[]='yyy';
$consulta[]='zzz';
$consulta=implode(' and ',$consulta);

y así no tendrás el último and.
  #3 (permalink)  
Antiguo 28/08/2012, 12:48
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 17 años, 11 meses
Puntos: 58
Respuesta: Borrar parte de una cadena si tiene ciertos caracteres

Y cuales son las condiciones? Probablemente con una variable que te indique si se cumplen o no las condiciones puedas hacerlo facilmente
  #4 (permalink)  
Antiguo 28/08/2012, 12:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Borrar parte de una cadena si tiene ciertos caracteres

Creo que la corrección la deberías hacer al momento de crear la cadena, no después.

Ya que de otra forma siempre vas a estar limpiando consultas mal formadas y eso no es muy inteligente que digamos.

Edito: ya ocp001a te ha dado la razón, ahora te toca reflexionarla.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 28/08/2012, 13:03
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Respuesta: Borrar parte de una cadena si tiene ciertos caracteres

No me funciona porque dentro del las condiciones, si el usuario no ingresa un dato, no se muestra la cadena que le corresponde al dato, y acá a todos le pone AND

SELECT * FROM pedimento WHERE AND AND AND AND AND AND AND AND AND AND AND AND AND AND AND AND AND AND AND AND AND AND AND AND AND AND AND AND AND
  #6 (permalink)  
Antiguo 28/08/2012, 13:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Borrar parte de una cadena si tiene ciertos caracteres

Pues evidentemente no tienes control sobre lo que estás haciendo, ya que te puedo asegurar que una buena implementación resulta bien.

Me pregunto como lo estarías haciendo, es complicado adivinar sin ver nada de código.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 28/08/2012, 13:17
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 17 años, 11 meses
Puntos: 58
Respuesta: Borrar parte de una cadena si tiene ciertos caracteres

Código PHP:
Ver original
  1. if(existe_dato1){
  2. $consulta[]='consulta SQL';
  3. }
  4. if(existe_dato2){
  5. $consulta[]='consulta SQL';
  6. }
  7. if(existe_dato3){
  8. $consulta[]='consulta SQL';
  9. }
  10.  
  11. $consulta=implode(' and ',$consulta);
  #8 (permalink)  
Antiguo 28/08/2012, 14:03
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Respuesta: Borrar parte de una cadena si tiene ciertos caracteres

Bingo, ya salió. Muchas gracias

Etiquetas: caracteres, ciertos, mysql, parte, sql, 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 13:44.