24 octubre, 2018
Consulta avanzada en Laravel para mostrar una palabra por cada letra del alfabeto de una BD MYSQL, usando like y métodos array para dicha tarea.
Suscríbete a nuestro canal en Youtube
SuscríbirseEn ocaciones necesitamos mostrar o extraer de una lista de nombres de miles de nombre, solo aquellos que tengan la primera letra coincidente con el alfabeto. Ojo no queremos clasificar si no extraer de un conjunto de nombres que empiezen con la letra A solo uno, y asi sucesivamente.
Pues para lograr ello podemos hacerlo usando Laravel veamos el código PHP:
for($i=65; $i<=90; $i++){
$letra = chr($i);
$c=nombres::where("nombre","like",$letra."%")->pluck('nombre');
if(!empty($c)){
foreach ($c as $key) {
if(!empty($key)){
array_push($tags,$key);
}
}
}
}
Pues bien hasta ahi lo que se ha hecho es extraer todos los nombres sin excepción y se a almacenado en el array $tags
Ahora veamos el código para solo extraer un nombre por cada letra.
if(!empty($tags)){
$elegido = array_rand($tags,1);
array_push($itags,$tags[$elegido]);
}
Ahora vemos el código completo:
public function generadorNombresUnicos()
{
$itags=array();
for($i=65; $i<=90; $i++){
$letra = chr($i);
$tags=array();
$c=itags::where("nombre","like",$letra."%")->pluck('nombre');
if(!empty($c)){
foreach ($c as $key) {
if(!empty($key)){
array_push($tags,$key);
}
}
}
if(!empty($tags)){
$elegido = array_rand($tags,1);
array_push($itags,$tags[$elegido]);
}
}
return view('front.nombres',compact('itags'));
}
Como puedes ver este còdigo nos permite extraer aleatoriamente de una lista basta de nombres, solo uno por cada letra del alfabeto, ideal para realizar aplicaciones web de interacción social. juegos, generadores de frases, acrósticos, etc.
PD. Me demoré un fin de semana en construir el código, bueno pero lo implemente con la librerìa fabrics para realizar un generador de acrósticos con cada nombre en forma aleatoria, más adelante publicaré los códigos para realizarlo.
Leido 3860 veces | 1 usuarios
Código fuente no disponible.
© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024