Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

117
Vistas
Mostrar una ID basada en ID de categoría múltiple con bucle en PHP

Lo siento por el título, pero no sé cómo explicarlo en Título. Entonces, aquí está mi caso.

yo tenia una mesa

identificación categoría subcategoría
1 1 Manzana
2 1 Naranja
3 2 Coche
4 2 Motocicleta

Lo que quiero hacer es hacer un bucle y la salida es así en PHP

 <script type="text/javascript"> const subkategoris = { "1":[ {value:1,desc:"Apple"}, {value:2,desc:"Orange"}, ], "2":[ {value:3,desc:"Car"}, {value:4,desc:"Motorcycle"}, ], ...etc </script>

Ya estoy tratando de hacer un bucle, pero lo que obtuve es así

 <script type="text/javascript"> const subkategoris = { "1":[ {value:1,desc:"Apple"}, ], "1":[ {value:2,desc:"Orange"}, ], "2":[ {value:3,desc:"Car"}, ], "2":[ {value:4,desc:"Motorcycle"}, ...etc </script>

¿Puede alguien ayudarme?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

No está claro qué quiere lograr y en qué idioma. Estás pidiendo una solución PHP pero todo el código en JS.

Aquí hay una solución JS de lo que entiendo que estás tratando de hacer.

 const initialData = [ { id: 1, category: 1, subCategory: 'Apple' },{ id: 2, category: 1, subCategory: 'Orange' },{ id: 3, category: 2, subCategory: 'Car' },{ id: 4, category: 2, subCategory: 'Motorcycle' }, ] const groupedByCategory = initialData.reduce((res, {id, category, subCategory}) => { const existing = res[category] || [] return { ...res, [category] : [...existing, {value: id, desc: subCategory}] } }, {}); console.log(groupedByCategory)

Puedes hacer lo mismo en PHP usando array_reduce

 $data = [...]; // array with the same payload of the js $result = array_reduce($data, function($res, $item){ $category = $item['category']; $existing = $res[$category] ?? []; $existing[] = ['value' => $item['id'], 'desc' => $item['subCategory']]; $res[$category] = $existing; return $res; }, []);
about 4 years ago · Juan Pablo Isaza Denunciar

0

Como parece obtener sus datos de una base de datos SQL con PHP, su solicitud puede hacer el trabajo sin necesidad de hacer un bucle con PHP o JS.

¿Puedes probar algo como esto?

 $select = $conn->prepare( "SELECT DISTINCT category, id AS subkategoris_value, subcategory AS subkategoris_desc FROM sometable" ); $select->execute([]); $result = $select->fetchAll(PDO::FETCH_ASSOC|PDO::FETCH_GROUP);

Aquí, reemplace sometable con el nombre de su tabla y $conn con su conexión a MySQL DB.

Su salida será directamente como se esperaba.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda