Foros del Web » Programando para Internet » PHP »

PHP OO Problema while dentro de array

Estas en el tema de Problema while dentro de array en el foro de PHP en Foros del Web. Hola, estoy tratando de insertar un while dentro de un array. Es para uso personal me he hecho una pequeña web para hacer gráficos con ...
  #1 (permalink)  
Antiguo 22/02/2014, 10:35
 
Fecha de Ingreso: febrero-2014
Mensajes: 3
Antigüedad: 10 años, 2 meses
Puntos: 0
Problema while dentro de array

Hola, estoy tratando de insertar un while dentro de un array. Es para uso personal me he hecho una pequeña web para hacer gráficos con rrdtool. No soy para nada profesional es que me gusta y lo veo cómodo para saber como esta funcionando mi red.

Comienzo explicando la situación.

Saco los datos de una base de datos y lo que quiero es que unas cadenas de texto de la array se repita tantas veces como filas tengo dentro de esa base de datos.

Un pequeño ejemplo:

Código PHP:
$sql="select * from basede datos";
    
$res=mysql_query($sql,$con);
    while (
$reg=mysql_fetch_array($res))
{
}
$options = array("cadena1","cadena2","cadena3","cadena4","cadena","cadena","cadena","cadena8",); 
Algunas cadenas de texto tienen variables dentro. Lo que me gustaria es que desde la cadena5 a la cadena8 se repitan tantas veces como filas tengo en la base de datos y que las variables cambien segun el valor que tengo puesto en esa fila.
Esto ultimo se que es poniendo "$reg["nombre"]". Lo que no se es como hacer para que se repitan las cadenas de texto segun las filas que tengo en la base de datos.

Agradezco cualquier ayuda porque estoy muy perdido.
  #2 (permalink)  
Antiguo 22/02/2014, 11:22
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Problema while dentro de array

Pues es tan simple como usar el while que tienes ahí, y que por casualidad se repite según las lineas que tengas en tu base de datos.

A contrario de lo que tienes en tu titulo que es imposible meter un while dentro de un array, tienes que generar ese array a partir de ese while que tienes sin uso.

Un saludo
  #3 (permalink)  
Antiguo 22/02/2014, 11:47
 
Fecha de Ingreso: febrero-2014
Mensajes: 3
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Problema while dentro de array

Pero es no quiero repetir todo el array quiero repetir ciertas cadenas de ese array. Porque ese array es para hacer un gráfico y los primeros campos son iguales pero después hay que repetir campos con una variable que cambia segun la base de datos. Pregunto si existe alguna forma de hacerlo?
  #4 (permalink)  
Antiguo 22/02/2014, 11:51
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Problema while dentro de array

Quien ha dicho que repitas todo el array, solo tienes que rellenarlo, y eso se hace con el bucle while.

Y aunque los campos sean iguales, creo que todos los datos vendrán de la base de datos.

$array[] = $reg['campo'];
  #5 (permalink)  
Antiguo 22/02/2014, 13:13
 
Fecha de Ingreso: febrero-2014
Mensajes: 3
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Problema while dentro de array

Haber tengo esto en el array. Lo que quiero es que a partir de ("DEF:$nodo=/ruta/traf.rrd:ds1:AVERAGE",) hasta ("GPRINT:$nodo"."_bits:LAST:%7.2lf %Sb/s\\n") se repita tantas veces como filas tengo en la base de datos y que varible $nodo la cambio por $reg["nombre"] para q cambie.
¿Eso como se pone en codigo php?

$options = array(
"--slope-mode",
"--start", "$empieza",
"--end", "$termina",
"--title=Bajada",
"--vertical-label=bits/seg",
"-w 600 -h 120",
"--watermark", "$date",
"--x-grid", "MINUTE:30:HOUR:2:MINUTE:120:0:%R",
"COMMENT: Maximo Promedio Actual \\n",

"DEF:$nodo=/ruta/traf.rrd:ds1:AVERAGE",
"CDEF:$nodo"."_bits=$nodo,8,*",
"LINE1:$nodo"."_bits#0000FF:$nodo\\t",
"GPRINT:$nodo"."_bits:MAX:%7.2lf %Sb/s\\t",
"GPRINT:$nodo"."_bits:AVERAGE:%7.2lf %Sb/s\\t",
"GPRINT:$nodo"."_bits:LAST:%7.2lf %Sb/s\\n",);

Etiquetas: select, sql, variable
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 23:22.