Foros del Web » Programando para Internet » PHP »

buscar los registros q se encuentren en esa lista Excepto la letra "x"

Estas en el tema de buscar los registros q se encuentren en esa lista Excepto la letra "x" en el foro de PHP en Foros del Web. Amigos tengo la siguiente variable: $lista= 1,2, x ,3,4,5,6,7,8,9.... Supongamos q quiero buscar los registros q se encuentren en esa lista Excepto la letra x ...
  #1 (permalink)  
Antiguo 03/11/2008, 13:12
 
Fecha de Ingreso: julio-2008
Mensajes: 96
Antigüedad: 15 años, 9 meses
Puntos: 0
buscar los registros q se encuentren en esa lista Excepto la letra "x"

Amigos tengo la siguiente variable:

$lista=1,2,x,3,4,5,6,7,8,9....
Supongamos q quiero buscar los registros q se encuentren en esa lista Excepto la letra x.

Tengo la siguiente consulta,

Código PHP:
SELECT idPagomontoPagadocuentaEmpresa FROM pagos WHERE idPago IN(".$lista."); 
Pero me genera error puesto q en esa tabla no existe un idPago con ese valor...
Como hago para resolver eso amigos? Intente con vectores pero no lo he logrado resolver. Gracias Muchachos espero de su ayuda, de antemano muchas pero muchisimas gracias....!!!
  #2 (permalink)  
Antiguo 03/11/2008, 13:19
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: buscar los registros q se encuentren en esa lista Excepto la letra "x"

Puedes hacer un str_replace de "x, " y reemplazarlo por nada: ""
  #3 (permalink)  
Antiguo 03/11/2008, 13:57
 
Fecha de Ingreso: julio-2008
Mensajes: 96
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: buscar los registros q se encuentren en esa lista Excepto la letra "x"

Cita:
Iniciado por Keysher Ver Mensaje
Puedes hacer un str_replace de "x, " y reemplazarlo por nada: ""
Ok Amigo asi me funciono perfectamente y te lo agradezco por tu ayuda, pero q pasaria si la x esta en la ultima posicion? Porq la linea de codigo dice "x, "...


Gracias amigo,
  #4 (permalink)  
Antiguo 03/11/2008, 14:00
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: buscar los registros q se encuentren en esa lista Excepto la letra "x"

Bueno, podrías usar expresiones regulares....
O añadir otro str_replace después del primero....
  #5 (permalink)  
Antiguo 03/11/2008, 14:09
 
Fecha de Ingreso: julio-2008
Mensajes: 96
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: buscar los registros q se encuentren en esa lista Excepto la letra "x"

Cita:
Iniciado por Keysher Ver Mensaje
Bueno, podrías usar expresiones regulares....
O añadir otro str_replace después del primero....
tengo las 2 siguientes lineas de codigo:

$lista2=str_replace("x,","",$lista);
$lista2=str_replace("x","",$lista);

Es decir q en la primera si no encuenra la cadena exacta "x," pasa a la siguiente linea y me toma la otra?

Gracias Amigo....!!!
  #6 (permalink)  
Antiguo 03/11/2008, 14:15
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: buscar los registros q se encuentren en esa lista Excepto la letra "x"

En realidad ejecutará las dos líneas siempre.... No es el método más efectivo, pero es algo sencillo, todo depende de lo compleja que sea la lista.
  #7 (permalink)  
Antiguo 03/11/2008, 14:35
 
Fecha de Ingreso: julio-2008
Mensajes: 96
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: buscar los registros q se encuentren en esa lista Excepto la letra "x"

[QUOTE=Keysher;2646019]En realidad ejecutará las dos líneas siempre.... No es el método más efectivo, pero es algo sencillo, todo depende de lo compleja que sea la lista.[/QUOTE

Amigo me arroja un error, sabes donde puedo conseguir en este foro manejo o ejemplos de expresiones regulares? Gracias... Amigo..!!!
  #8 (permalink)  
Antiguo 03/11/2008, 14:37
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: buscar los registros q se encuentren en esa lista Excepto la letra "x"

¿Qué error te da?

Con respecto a las expresiones regulares, busca aquí mismo y en internet, hay mucha información sobre el tema.
  #9 (permalink)  
Antiguo 03/11/2008, 14:37
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 6 meses
Puntos: 101
Respuesta: buscar los registros q se encuentren en esa lista Excepto la letra "x"

Hola,
Prueba esta funcion que cree para un caso paresido:
Código PHP:
$lista="1,2,x,3,4,5,6,7,8,9";
function 
borrarCadena($array,$sep,$text){
$array=explode($sep,$array);
$cadena=array();
foreach(
$array as $arra){
if(
$arra!=$text)
$cadena[]=$arra;
}
return 
implode($sep,$cadena);
}
echo 
borrarCadena($lista,',','x'); // borrarCadena(lista, separado por, que sacar); 
Suerte
Salu2
__________________
Half Music - www.halfmusic.com

Última edición por pato12; 03/11/2008 a las 15:19 Razón: Reparar el error.
  #10 (permalink)  
Antiguo 03/11/2008, 14:45
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: buscar los registros q se encuentren en esa lista Excepto la letra "x"

Me parece algo enrevesado, se podría hacer algo parecido:
- creando el array (explode)
- buscando el elemento en el array (array_search)
- si lo encuentra eliminarlo (array_splice)
- volver a crear una cadena de texto a partir del array (implode)
  #11 (permalink)  
Antiguo 03/11/2008, 14:49
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: buscar los registros q se encuentren en esa lista Excepto la letra "x"

@pato12
Código PHP:
$c=implode($sep,$cadena); 
$r=explode($sep,$c); 
return 
implode($sep,$r); 
Juntas, separas, y vuelves a juntar?

Saludos,
  #12 (permalink)  
Antiguo 03/11/2008, 15:18
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 6 meses
Puntos: 101
Respuesta: buscar los registros q se encuentren en esa lista Excepto la letra "x"

Cita:
Iniciado por okram Ver Mensaje
@pato12
Código PHP:
$c=implode($sep,$cadena); 
$r=explode($sep,$c); 
return 
implode($sep,$r); 
Juntas, separas, y vuelves a juntar?

Saludos,
Hola,
Es que es una parte de la funcion y se me olvido sacarla (la funcion es mas larga, pero esa parte le sirve).
Ya lo reparo.
Gracias
Salu2
__________________
Half Music - www.halfmusic.com
  #13 (permalink)  
Antiguo 04/11/2008, 06:50
 
Fecha de Ingreso: julio-2008
Mensajes: 96
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: buscar los registros q se encuentren en esa lista Excepto la letra "x"

Cita:
Iniciado por pato12 Ver Mensaje
Hola,
Prueba esta funcion que cree para un caso paresido:
Código PHP:
$lista="1,2,x,3,4,5,6,7,8,9";
function 
borrarCadena($array,$sep,$text){
$array=explode($sep,$array);
$cadena=array();
foreach(
$array as $arra){
if(
$arra!=$text)
$cadena[]=$arra;
}
return 
implode($sep,$cadena);
}
echo 
borrarCadena($lista,',','x'); // borrarCadena(lista, separado por, que sacar); 
Suerte
Salu2
Buenos dias Amigos,

Probe esta solucion de Pato12, pero al estar la x en la ultima posicion no la toma, puesto q no tiene la (,)...
  #14 (permalink)  
Antiguo 04/11/2008, 07:01
 
Fecha de Ingreso: julio-2008
Mensajes: 96
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: buscar los registros q se encuentren en esa lista Excepto la letra "x"

Código PHP:
$lista=implode(',',$seleccion);                 
                
                if (
in_array ("x"$seleccion))
                {
                    print 
"Encontrada la x"
                    
$lista2=str_replace("x,","",$lista); } 
Ahora amigo yo estoy utilizando este codigo, Funciona perfecto, excepto si la x esta en la ultima posicion.

COmo se si la x esta en la ultima posicion de ese arreglo?


Gracias amigo espero de su ayuda, Saludos...!!!
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:32.