Foros del Web » Programando para Internet » PHP »

mostrar registros con los id en un array php

Estas en el tema de mostrar registros con los id en un array php en el foro de PHP en Foros del Web. Hola necesito mostrar registros de la bd con un id en concreto que este esta en un array php, pero no se muy bien como ...
  #1 (permalink)  
Antiguo 15/10/2014, 05:30
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años, 6 meses
Puntos: 10
mostrar registros con los id en un array php

Hola necesito mostrar registros de la bd con un id en concreto que este esta en un array php, pero no se muy bien como tendria que hacer la consulta seria algo asi:

Código PHP:
Ver original
  1. $id=array(2,3,4,5,6,7,8,9,66,54,33);
  2. $sql="select * from empresa where id=1";

podria crear un bucle para recorrer una a una la consulta pero no creo que sea la manera de hacerlo, saludos.
  #2 (permalink)  
Antiguo 15/10/2014, 05:51
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 10 años, 4 meses
Puntos: 30
Respuesta: mostrar registros con los id en un array php

tienes que hacer un bucle for con la cantidad máxima de id que contiene el array $id.

Dentro del bucle for tienes que poner el código para realizar la consulta y sería así:

Si utilizas la variable $i para contar en el bucle for....
Código PHP:
Ver original
  1. $sql="select * from empresa where id=".$id[$i];

De nada! ;)
  #3 (permalink)  
Antiguo 15/10/2014, 05:58
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: mostrar registros con los id en un array php

Hola triby2 gracias por tu ayuda, una duda entonces de esta forma para mostrar los resultados en pantalla tengo que crear un array para guardar los datos de cada registro no con el tipico fetch() de una consulta, haber si me puedes aclarar eso, gracias.
  #4 (permalink)  
Antiguo 15/10/2014, 07:13
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 10 años, 4 meses
Puntos: 30
Respuesta: mostrar registros con los id en un array php

Cita:
Iniciado por pithon Ver Mensaje
Hola triby2 gracias por tu ayuda, una duda entonces de esta forma para mostrar los resultados en pantalla tengo que crear un array para guardar los datos de cada registro no con el tipico fetch() de una consulta, haber si me puedes aclarar eso, gracias.
cuando haces la consulta a la base de datos, el resultado es un array con todos los datos de ese registro. con lo cual fetch() no es válido, tienes que utilizar mysqli_fetch_array() para extraer esos datos en una variable y poderlos mostrar.
  #5 (permalink)  
Antiguo 15/10/2014, 07:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: mostrar registros con los id en un array php

Cita:
Iniciado por Triby2 Ver Mensaje
cuando haces la consulta a la base de datos, el resultado es un array con todos los datos de ese registro. con lo cual fetch() no es válido, tienes que utilizar mysqli_fetch_array() para extraer esos datos en una variable y poderlos mostrar.
¿Con lo cual fetch() no es válido? ¿De donde sacas tremenda burrada?

Creo que a eso se refiere con mysql_fetch_array() y es totalmente válido.

Que claro, hace falta un loop porque se tratan de varios registros, eso es bastante obvio.

Además tu código inicial es malo ¿para qué hacer 10 consultas separadas si se puede hacer una sola usando IN() para comparar?

Cita:
SELECT * FROM table WHERE id IN(1,2,3,4,5,6,7,8,9,10)
Cuando quieras ayudar de menos piensa dos veces las cosas antes de comentar algo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 15/10/2014, 08:18
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 10 años, 4 meses
Puntos: 30
Respuesta: mostrar registros con los id en un array php

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Con lo cual fetch() no es válido? ¿De donde sacas tremenda burrada?

Creo que a eso se refiere con mysql_fetch_array() y es totalmente válido.

Que claro, hace falta un loop porque se tratan de varios registros, eso es bastante obvio.

Además tu código inicial es malo ¿para qué hacer 10 consultas separadas si se puede hacer una sola usando IN() para comparar?



Cuando quieras ayudar de menos piensa dos veces las cosas antes de comentar algo.
ya habló el que falta el respeto hablando!! lo que tu digas señor todopoderoso! ah!! y recuerda que que la libería mysql está obsoleta así que piensa dos veces antes de comentar nada!!

PD: fetch() tal cual... NO EXISTE! Así que piensa antes de hablar...
PD2: Y te voy a decir más, tu absolutamente experta opinión de tu IN en la sentencia select es inútil si la cantidad de id varía, quizás mañana sean 20 y después 30... por eso mi solución es más que correcta y cualquier otra que no sea la tuya.

Última edición por Triby2; 15/10/2014 a las 08:27
  #7 (permalink)  
Antiguo 15/10/2014, 13:14
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: mostrar registros con los id en un array php

Cita:
Y te voy a decir más, tu absolutamente experta opinión de tu IN en la sentencia select es inútil si la cantidad de id varía...
¿Y eso?

Creo que a lo que @pateketrueke se refiere es algo como esto:
Código PHP:
Ver original
  1. <?php
  2. $id=array(2,3,4,5,6,7,8,9,66,54,33);
  3. $sql="SELECT * FROM empresa WHERE id IN (".implode(", ", $id).")";

Que efectivamente sera mas rapido que 11 selects individuales, de hecho cuantos mas ids halla, mas se notara la diferencia.

Cita:
por eso mi solución es más que correcta y cualquier otra que no sea la tuya.
No hay soluciones "mas correctas", estan las que funcionan y las que no. Dentro de las que funcionan están las que funcionan rápido y las que funcionan lento.

Tu solución y la de @pateketrueke son de las que funcionan, la tuya funciona lento y la de el rápido, es la única diferencia, ambos códigos son validos.
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #8 (permalink)  
Antiguo 23/10/2014, 10:30
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 10 años, 4 meses
Puntos: 30
Respuesta: mostrar registros con los id en un array php

Sí no te lo discuto, lo que ocurre es que @peteketrueke me saca de mis casillas con su forma pre-potente de expresarse.

Etiquetas: registro, registros, select, sql
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 22:38.