Foros del Web » Programando para Internet » PHP »

$extraccion=mysqli_query($cnx,$sql)[Alpha][Omega];

Estas en el tema de $extraccion=mysqli_query($cnx,$sql)[Alpha][Omega]; en el foro de PHP en Foros del Web. Me gustaria saber como extraer un valor/Array de un Array/objeto sin tener que recorrer la extración $extraccion=mysqli_query($cnx,$sql)[Alpha][Omega];...
  #1 (permalink)  
Antiguo 21/01/2019, 08:16
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
$extraccion=mysqli_query($cnx,$sql)[Alpha][Omega];

Me gustaria saber como extraer un valor/Array de un Array/objeto sin tener que recorrer la extración

$extraccion=mysqli_query($cnx,$sql)[Alpha][Omega];
  #2 (permalink)  
Antiguo 21/01/2019, 20:22
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: $extraccion=mysqli_query($cnx,$sql)[Alpha][Omega];

Necesitas ser más específico en tu pregunta; de entrada, mysqli_query() ejecuta una consulta y no devuelve array ni objeto, para eso necesitas:

1- Analizar si la consulta devolvió resultados
2- Obtener los resultados con alguna de las funciones mysqli_fetch*

Después de esto ya puedes tener acceso a los datos, pero hay que conocer la estructura de tu tabla y los campos que quieres obtener para poder sugerirte algo.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 22/01/2019, 08:04
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: $extraccion=mysqli_query($cnx,$sql)[Alpha][Omega];

Es generar un calendario a partir de dos INNER JOIN, obteniendo un día de la semana y una hora, e ir rellenado cada una de las horas de la agenda, respetando las horas vacías mostrando el espacio vació dando opción a rellenar esa hora próximamente, de tal manera que aparezca en el calendario, las notas correspondientes

Última edición por quico5; 22/01/2019 a las 08:12
  #4 (permalink)  
Antiguo 22/01/2019, 17:32
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: $extraccion=mysqli_query($cnx,$sql)[Alpha][Omega];

Tu lógica no tiene mucha lógica

Yo haría:
1- Generar un arreglo con días y horas
2- Ejecutar la consulta para obtener todas las citas de la semana
3- Leer todos los resultados y poner en el arreglo las citas que correspondan a día y hora
4- Crear el HTML necesario para mostrar la agenda

No se puede sugerir otra cosa con la poca información que proporcionas, espero puedas solucionar tu problema.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 23/01/2019, 05:50
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: $extraccion=mysqli_query($cnx,$sql)[Alpha][Omega];

Gracias Triby, lo he replanteado de varias formas, pero parece un poco complejo, hacer el query y pasarlo directamente por un foreach fue lo primero que hice, luego pensé lo que preguntaba, la idea es tener cinco columnas de Lunes a Viernes, con 12 filas, desde las 9 de la mañana hasta las 8 de la tarde, las horas alineadas en los cinco días

De la consulta SQL, extraigo un array donde vienen filas con días, horas, e usuarios, en una de las pruebas he cogido el día y la hora para usarlos como keys en una replica de array creada con un foreach intermedio, pero no me acaba de convencer, igual hay una forma mas simple

La consulta SQL son 2 INNER JOIN, para unir 3 tablas
  #6 (permalink)  
Antiguo 23/01/2019, 17:55
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: $extraccion=mysqli_query($cnx,$sql)[Alpha][Omega];

Entonces podría funcionar como te comentaba, creando un array:

Supongamos que se trata de esta semana, 21 al 25 de enero de 2019 y que obtienes la fecha en el formato 2019-01-21

Código PHP:
Ver original
  1. // Creas primero los índices por día
  2. $citas = array(
  3.     '2019-01-21' => array(),
  4.     '2019-01-22' => array(),
  5.     '2019-01-23' => array(),
  6.     '2019-01-24' => array(),
  7.     '2019-01-25' => array(),
  8. );
  9. // Agregas los índices por hora 9hrs a 20hrs (8pm)
  10. foreach($citas as $dia => $horas) {
  11.     for($i = 9; $i <= 20; $i++) {
  12.         $citas[$dia][$i] = ''; // Vacía, no hay cita
  13.     }
  14. }
  15.  
  16. // Ejecutas y lees la consulta
  17. // Debes obtener fecha y hora por separado
  18. while($row = $mysqli_fetch_assoc($res)) {
  19.     $citas[$row['dia']][int $row['hora']] = $row['datos_de_cita'];
  20. }
  21.  
  22. // Finalmente generas el HTML según tu gusto o necesidad

Se complicaría un poco si las citas no son en horas exactas, pero ahí está la idea.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: print
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 11:00.