Foros del Web » Programando para Internet » PHP »

filtrar por nombre

Estas en el tema de filtrar por nombre en el foro de PHP en Foros del Web. hola amigos tengo un foreach para mostrar un listado en donde mi idea es solo mostrar los items que tenga sierto parametro igual y q ...
  #1 (permalink)  
Antiguo 22/03/2012, 22:08
 
Fecha de Ingreso: abril-2008
Mensajes: 310
Antigüedad: 16 años
Puntos: 4
filtrar por nombre

hola amigos

tengo un foreach para mostrar un listado en donde mi idea es solo mostrar los items que tenga sierto parametro igual y q los otros item q no cumplan la funcion no se muestren

ej

parametro a filtrar at

1 carro at
2 casa xt
3 empleo at

entonces q solo muestre esto
1carro
2 empleo

y mi idea seria q quitare el parametro hace mostrarlo

espero me entiendan y colaboren
gracias
  #2 (permalink)  
Antiguo 22/03/2012, 22:16
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 9 meses
Puntos: 641
Respuesta: filtrar por nombre

si es una base de datos, supongo que será con una consulta

si es una lista en formato de texto, tendrás que usar expresiones regulares.
  #3 (permalink)  
Antiguo 23/03/2012, 07:24
 
Fecha de Ingreso: abril-2008
Mensajes: 310
Antigüedad: 16 años
Puntos: 4
Respuesta: filtrar por nombre

lo datos los extraigo del api de youtube y lo muestro asi

Código PHP:
Ver original
  1. <?php
  2.     // set feed URL
  3.     $feedURL = 'http://gdata.youtube.com/feeds/api/users/xxxx/playlists';
  4.    
  5.     // read feed into SimpleXML object
  6.     $sxml = simplexml_load_file($feedURL);
  7.    
  8.     // iterate over entries in feed
  9.  
  10.  
  11.     foreach ($sxml->entry as $entry) :
  12.       $titlecate = $entry->title;
  13.    
  14.         // get nodes in media: namespace for media information
  15.         $media = $entry->children('http://search.yahoo.com/mrss/');
  16.    
  17.         // obtener <yt:playlistId> node    
  18.         $yt = $entry->children('http://gdata.youtube.com/schemas/2007');
  19.         $playlistId = $yt->playlistId;
  20.    
  21.         echo "<li>".html::link("index/categoria/$titlecate/$playlistId",$entry->title)."</li>";
  22.    
  23.     endforeach;
  24.  
  25. ?>

asi como lo tengo me muestra el listado completo,
como hago la condicion para q me filtre por un parametro ya determinado
  #4 (permalink)  
Antiguo 23/03/2012, 11:19
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 9 meses
Puntos: 641
Respuesta: filtrar por nombre

supongamos que quieres filtrar por titlecat

Código PHP:
Ver original
  1. <?php
  2.  // set feed URL
  3.  $feedURL = 'http://gdata.youtube.com/feeds/api/users/xxxx/playlists';
  4.  
  5.  // read feed into SimpleXML object
  6.  $sxml = simplexml_load_file($feedURL);
  7.  
  8.  // iterate over entries in feed
  9.  
  10.  
  11.  foreach ($sxml->entry as $entry) :
  12.  $titlecate = $entry->title;
  13.  
  14.      if($titlecat == 'param'):
  15.  // get nodes in media: namespace for media information
  16.  $media = $entry->children('http://search.yahoo.com/mrss/');
  17.  
  18.  // obtener <yt:playlistId> node * *
  19.  $yt = $entry->children('http://gdata.youtube.com/schemas/2007');
  20.  $playlistId = $yt->playlistId;
  21.  
  22.  echo "<li>".html::link("index/categoria/$titlecate/$playlistId",$entry->title)."</li>";
  23.  endif;
  24.  
  25.  endforeach;
  26. ?>

de ese modo solo salen las categorías que son iguales a param.

esto suponiendo que sabes que categorías filtrar, si no, pues como te dije expresiones regulares con preg_match, y preg_match_all,
  #5 (permalink)  
Antiguo 23/03/2012, 21:22
 
Fecha de Ingreso: abril-2008
Mensajes: 310
Antigüedad: 16 años
Puntos: 4
Respuesta: filtrar por nombre

memoadian de la manera que me dises con el If if($titlecat == 'param'):

pero solo muestra el valor q sea igual necesito que sea el q contenga sea

carro at
casa xt
moto xt
empleo at

muestre
carro
empleo

gracias por la ayuda

////////////////

googleando mire
esto y creo q funciona bien

$titlecate = $entry->title;
$buscar = "at";

if( strpos( $titlecate, $buscar ) !== false ):


///////////////

ahora como quito el parametro osea tengo carro at
quiero q solo se muestre carro

graicas por la ayuda


//////////////////

encontre estoy y me funciona bien


$titlecate = str_replace($buscar," ",$titlecate);

////////////////

muchas gracias por la ayuda

Última edición por charlescuellar; 23/03/2012 a las 22:49

Etiquetas: filtrar, nombre
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 04:44.