Foros del Web » Programando para Internet » PHP »

Convertir una consulta en un ARRAY

Estas en el tema de Convertir una consulta en un ARRAY en el foro de PHP en Foros del Web. Amigos tengo una parte de un codigo que tiene un arreglo el cual se le coloca los datos para que aparesca en un calendario, el ...
  #1 (permalink)  
Antiguo 18/07/2006, 13:25
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Arreglo dinamico,,,,urgente???

Amigos tengo una parte de un codigo que tiene un arreglo el cual se le coloca los datos para que aparesca en un calendario, el pedazo de codigo que hace eso es:


Código PHP:
  /*Aqui se colocas los eventos por cada dias y con enlace si quieres*/
 
$remind=array(
  
'1-7-2006'=>array('blog.php?id=01072006','A day to remember'),
  
'12-7-2006'=>array('#','Don\'t need any link'),
  
'26-7-2006'=>array('http://www.google.com','Debo revisar google'),  
  
'30-7-2006'=>array('#','Debo ir a Clasesfgfdgfxgdfxgxcfgxcfbxcfghxdfghfggh dfghxdfgxdfgdfx !!'),
  
'31-7-2006'=>array('#','Debo ir a Clasesfgfdgfxgdfxgxcfgxcfbxcfghxdfghfggh dfghxdfgxdfgdfx !!'),
  
'11-6-2006'=>array('#','Also for previous Month !!')
  );
   
   
  
$calendar = new NiceCalendar($remind,1,$_GET['month'],$_GET['year']); 
  
$calendar->draw(); 
YO LO ESTOY TRATANDO DE MODIFICAR PARA QUE LO LEA DESDE UNA BASE DE DATOS, Y EL CODIGO QUE ESTOY TRATANDO DE ARMAR ES ESTE:

Código PHP:
$conectar=mysql_connect('localhost','root','') or die("No se puede establecer conexión con el servidor");
mysql_select_db('eventosCalen',$conectar);

$result=mysql_query("select * from eventos ",$conectar);

while(
$remind=mysql_fetch_assoc($result))  
 {  
 foreach(
$remind as $link => $cita) { 
     
"$remind['fecha']"=>array('$link: $cita');
     } 

ME DE EL SIGUIENTE ERROR:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\wamp\www\calendari nuevo\calen.php on line 108


ESE NUEMRO DE LINEA QUE DA ERROR ES:
Código PHP:
 "$remind['fecha']"=>array('$link: $cita'); 
ALGUIEN ME ORIENTA PR FAVOR, ESTOY DESESPERADO
__________________
Miguel Padrón :cool:
  #2 (permalink)  
Antiguo 18/07/2006, 16:18
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
E ehecho esto hasta el momento:

Código PHP:
$conexion mysql_connect() or die ("Error"); 
mysql_select_db("eventosCalen",$conexion) or die ("Error"); 

$consulta mysql_query("SELECT * FROM eventos"$conexion); 
$num mysql_num_rows($consulta); 

for (
$i=0$i $num$i++) 

  
//$remind  = mysql_fetch_array($consulta); 
    //echo '<tr><td>'.$remind["fecha"].'</td>';  

    //$vec[$i]=mysql_result($consulta,$i,'fecha')." ".mysql_result($consulta,$i,'link')." ".mysql_result($consulta,$i,'cita');

    
    
$var=array(mysql_result($consulta,$i,'fecha')=>array(mysql_result($consulta,$i,'link'),mysql_result($consulta,$i,'cita')));
    

     
$calendar = new NiceCalendar($var,1,$_GET['month'],$_GET['year']); 
  
//echo '<td>'.$datos["nomdepto"].'</td></tr>'; 

Y siolo me trae la ultima fecha pore favos ayuda o sugerencia
__________________
Miguel Padrón :cool:
  #3 (permalink)  
Antiguo 18/07/2006, 16:38
Avatar de the_scorpion  
Fecha de Ingreso: mayo-2006
Ubicación: Cuba
Mensajes: 696
Antigüedad: 11 años, 6 meses
Puntos: 3
Si lo que tu quieres es que te muestre un listado en una web lo que sea relacionado al dia actual quizas esto te sirva de algo

Código PHP:
$conectar=mysql_connect('localhost','root','') or die("No se puede establecer conexión con el servidor"); 
mysql_select_db('eventosCalen',$conectar); 
   
$fecha date("d-m-Y");
$result=mysql_query("select * from eventos where date='$fecha'",$conectar); 

   echo 
"<table>";
   while (
$row mysql_fetch_array($result))
  {
    
printf("<a href='%s'>%s</a><br>",$row['link'], $row['cita']);
   }
   echo 
"</table>"
No he probado revisa y postea si existe algun error
__________________
Que hablen mal de uno es espantoso. Pero hay algo peor: que no hablen.
Quien hace, puede equivocarse. Quien nada hace, ya está equivocado".
  #4 (permalink)  
Antiguo 18/07/2006, 16:45
Avatar de the_scorpion  
Fecha de Ingreso: mayo-2006
Ubicación: Cuba
Mensajes: 696
Antigüedad: 11 años, 6 meses
Puntos: 3
cualquier cosa
revisa
$fecha = date("d-m-Y");
o
$fecha = date("Y-m-d");
__________________
Que hablen mal de uno es espantoso. Pero hay algo peor: que no hablen.
Quien hace, puede equivocarse. Quien nada hace, ya está equivocado".
  #5 (permalink)  
Antiguo 18/07/2006, 16:54
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Gracias scorpion por contestar pero lo que necesito es pasar este codigo:
Código PHP:
/*Aqui se colocas los eventos por cada dias y con enlace si quieres*/ 
 
$remind=array( 
  
'1-7-2006'=>array('blog.php?id=01072006','A day to remember'), 
  
'12-7-2006'=>array('#','Don\'t need any link'), 
  
'26-7-2006'=>array('http://www.google.com','Debo revisar google'),   
  
'30-7-2006'=>array('#','Debo ir a Clasesfgfdgfxgdfxgxcfgxcfbxcfghxdfghfggh dfghxdfgxdfgdfx !!'), 
  
'31-7-2006'=>array('#','Debo ir a Clasesfgfdgfxgdfxgxcfgxcfbxcfghxdfghfggh dfghxdfgxdfgdfx !!'), 
  
'11-6-2006'=>array('#','Also for previous Month !!'
  ); 
    
    
  
$calendar = new NiceCalendar($remind,1,$_GET['month'],$_GET['year']);  
  
$calendar->draw(); 
A uno dinamico, ya e conseguido que me busque en la Base de Datos pero me presenta el ultimo arrego es decir la utima fecha, con este codigo:

Código PHP:
$conexion mysql_connect() or die ("Error");  
mysql_select_db("eventosCalen",$conexion) or die ("Error");  

$consulta mysql_query("SELECT * FROM eventos"$conexion);  
$num mysql_num_rows($consulta);  

for (
$i=0$i $num$i++)  
{  
  
//$remind  = mysql_fetch_array($consulta);  
    //echo '<tr><td>'.$remind["fecha"].'</td>';   

    //$vec[$i]=mysql_result($consulta,$i,'fecha')." ".mysql_result($consulta,$i,'link')." ".mysql_result($consulta,$i,'cita'); 

     
    
$var=array(mysql_result($consulta,$i,'fecha')=>array(mysql_result($consulta,$i,'link'),mysql_result($consulta,$i,'cita'))); 
     

     
$calendar = new NiceCalendar($var,1,$_GET['month'],$_GET['year']);  
  
//echo '<td>'.$datos["nomdepto"].'</td></tr>';  

Por favor me pueden ayudar
__________________
Miguel Padrón :cool:
  #6 (permalink)  
Antiguo 19/07/2006, 06:34
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Por fa ya regrese ayuda o sugerencia, PORQUE ME IMPRIME EL ULTIMO DATO DE LA BASE DE DATOS

LO QUE QUIERO HACER UNA CONSULTA A LA BASE DE DATOS Y INCLUIRLA EN UNA ARRAY DE LA FORMA:

'fecha'=>array('link','cita');

plissss ayuda
__________________
Miguel Padrón :cool:
  #7 (permalink)  
Antiguo 19/07/2006, 10:31
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
plissssss necesito de todas su ayuda estoy desesperadoi
__________________
Miguel Padrón :cool:
  #8 (permalink)  
Antiguo 19/07/2006, 13:01
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Convertir una consulta en un ARRAY

Amigos tengo una consulta que se hace a una base de datos perfectamente, el cual la quiero transformar en un arreglo de la siguiente forma:


variable=array('fecha'=>array('link'.'cita'));


Co mo puedo logar eso por favor o alguna orientacion
__________________
Miguel Padrón :cool:
  #9 (permalink)  
Antiguo 19/07/2006, 13:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 11 años, 6 meses
Puntos: 2122
mmm cual es tu codigo? ya que no explicas bien, pero la funcion mysql_query siempre te devuelve un array...
  #10 (permalink)  
Antiguo 19/07/2006, 13:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por GatorV
mmm cual es tu codigo? ya que no explicas bien, pero la funcion mysql_query siempre te devuelve un array...
Supongo que quisistes decir:

mysql_fech_array()

(aplicada al "resultado" de mysql_query())

También está mysql_fetch_row() ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 19/07/2006, 13:18
 
Fecha de Ingreso: diciembre-2003
Mensajes: 213
Antigüedad: 14 años
Puntos: 0
$miarray= array();
$tmparray= array();
while ($tupla=mysql_fetch_row($resultado))
{
$tmparray[0]=$Tupla["link"];
$tmparray[1]=$Tupla["cita"];
$miarray[$tupla["fecha"]]=$tmparray;
}

Creo que eso te podrá servir de ayuda. suerte!!
  #12 (permalink)  
Antiguo 19/07/2006, 13:19
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Código PHP:
$conectar=mysql_connect('localhost','root','') or die("No se puede establecer conexión con el servidor");
mysql_select_db('eventosCalen',$conectar);

$result=mysql_query("select * from eventos ",$conectar);
//echo $result;
while($valor=mysql_fetch_array($result))  
 {  
//echo "<br>".$valor['fecha'];
$f=$valor['fecha'];
//echo "<br>".$valor['link'];
$l=$valor['link'];
//echo "<br>".$valor['cita'];
$c=$valor['cita'];
//echo "<br>********************";
$var=array("$f"=>array("$l","$c"));
//$var=array('fecha'=>array('link'.'cita'));

//echo "<br>".$var;
     
}

El original del arreglo que trajo el modulo es este
este es el codigo realize ayer, GATORV, hace la consulta bien pero me trae el ultimo dato de la Base de Datos, lo que quiero es que esa consulta se convierta en ese arreglo para utilizarlo en un codigo que despliega un calendario con eventos segun las fechas de la base de datos plisss

Código PHP:
/*Aqui se colocas los eventos por cada dias y con enlace si quieres*/
  
$var=array(
  
'1-7-2006'=>array('blog.php?id=01072006','A day to remember'),
  
'12-7-2006'=>array('#','Don\'t need any link'),
  
'26-7-2006'=>array('http://www.google.com','Debo revisar google'),  
  
'30-7-2006'=>array('#','Debo ir a Clasesfgfdgfxgdfxgxcfgxcfbxcfghxdfghfggh dfghxdfgxdfgdfx !!'),
  
'31-7-2006'=>array('#','Debo ir a Clasesfgfdgfxgdfxgxcfgxcfbxcfghxdfghfggh dfghxdfgxdfgdfx !!'),
  
'11-6-2006'=>array('#','Also for previous Month !!')
  ); 
__________________
Miguel Padrón :cool:
  #13 (permalink)  
Antiguo 19/07/2006, 13:24
 
Fecha de Ingreso: diciembre-2003
Mensajes: 213
Antigüedad: 14 años
Puntos: 0
redeclaracion

Creo que el problema esta en que estas redeclarando el array en cada iteracion del bucle: $var=array("$f"=>array("$l","$c"));

intenta algo como lo que te puse antes, que no se si sintacticamente es correcto, pero la idea es esa.
  #14 (permalink)  
Antiguo 19/07/2006, 13:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 11 años, 6 meses
Puntos: 2122
Usa esto:
Código PHP:
$var = array();
while(
$valor=mysql_fetch_array($result))  
 {  
//echo "<br>".$valor['fecha'];
$f=$valor['fecha'];
//echo "<br>".$valor['link'];
$l=$valor['link'];
//echo "<br>".$valor['cita'];
$c=$valor['cita'];
//echo "<br>********************";
$var[$f] = array("$l","$c");
//$var=array('fecha'=>array('link'.'cita'));

//echo "<br>".$var;
     

  #15 (permalink)  
Antiguo 19/07/2006, 13:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No deberías repetir tus mensajes ... así se pierde el hilo de tus mensajes, respuestas obtenidas y la gente empieza a repetirte lo que ya has leido antes.

Uní ambos temas.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #16 (permalink)  
Antiguo 19/07/2006, 13:31
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Kurlak, lo que me sugiere es logico pero solo imprime esto:

array array array

En otros codigo que e hecho me da lo mismo que en tu codigo
otra sugerencia y gracias por ayudarme
__________________
Miguel Padrón :cool:
  #17 (permalink)  
Antiguo 19/07/2006, 13:34
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Tiene razon cluster lo siento y pido disculpa al foro y a toso sus integrantes, PERO COMO EN OTRO NADIE RESPODIA, YO MODIFIQUE LA PREGUNTA EN UNEUVO FORO Y ES A HORA QUE ESTOY CONSIGUIENDO RESPUESTA, UNA VEZ MAS PIDO DISCULPA

AQUI SIEMPRE EN CONSEGUIDO RESPUSTA A MIS GRANDES DUDAS EN ESTE MUNDO DE PROGRAMACION WEB

SALUDOS, POR FAVOR AYUDENME EN LO QUE PUEDA.
__________________
Miguel Padrón :cool:
  #18 (permalink)  
Antiguo 19/07/2006, 13:42
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Gracias GAtorV, funciona al pelo mil gracias, espero contar contigo y todos ustedes, saludos


Otra pergunta pude cambiar el mes en español, con la funcion setlocale y funciona bien en mi servidor local, pero cuando lo kllevo en el externo de la institucion para la que trabajo que es en linux me sale en ingles

Como puedo resolver eso por favor

USO esto:

Código PHP:
setlocale(LC_ALL'es_ES.ISO8859-1');//Linea para cambiar el mes en español
       
$loc setlocale(LC_TIMENULL);//Linea para cambiar el mes en español
       
$time=strftime(" %B %Y"mktime(0,0,0,$this->month,1,$this->year)); 
__________________
Miguel Padrón :cool:
  #19 (permalink)  
Antiguo 19/07/2006, 14:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por 8461277
Gracias GAtorV, funciona al pelo mil gracias, espero contar contigo y todos ustedes, saludos


Otra pergunta pude cambiar el mes en español, con la funcion setlocale y funciona bien en mi servidor local, pero cuando lo kllevo en el externo de la institucion para la que trabajo que es en linux me sale en ingles

Como puedo resolver eso por favor

USO esto:

Código PHP:
setlocale(LC_ALL'es_ES.ISO8859-1');//Linea para cambiar el mes en español
       
$loc setlocale(LC_TIMENULL);//Linea para cambiar el mes en español
       
$time=strftime(" %B %Y"mktime(0,0,0,$this->month,1,$this->year)); 
Disculpa que sea "pesado" .. pero sigue el hilo de tus temas abiertos .. contestalos si notas que no obtienes respuestas haciendo las acotaciones que necesites .. NO mezcles preguntas en un tema .. Es sólo un tema de orden mis sugerencias.

Entiendo que tomas al foro como un lugar donde resolver dudas (OK) .. pero intenta respetar un poco el orden (no hace falta que te disculpes .. simplemente: hazlo).

Para el que quiera ayudarte .. por favor sigan el tema iniciado al respecto:
http://www.forosdelweb.com/f18/mes-que-quero-pasar-espanol-409452/

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #20 (permalink)  
Antiguo 19/07/2006, 15:48
Avatar de jorge25  
Fecha de Ingreso: noviembre-2005
Ubicación: Venezuela, San Juan de Los Morros.
Mensajes: 165
Antigüedad: 12 años, 1 mes
Puntos: 1
Disculpa "8461277" de qué parte de de san juan de los morros eres? Y disculpen también las demás personas
__________________
Debian GNU/Linux 4.0 "Etch"

La felicidad no es un camino, es un estado de ánimo. Jorge Morgado
  #21 (permalink)  
Antiguo 19/07/2006, 16:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por jorge25
Disculpa "8461277" de qué parte de de san juan de los morros eres? Y disculpen también las demás personas
Pueden contactarse por el sistema de "Mensajes privados" para ese tipo de cosas ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #22 (permalink)  
Antiguo 20/07/2006, 07:18
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Cita:
Iniciado por 8461277
Gracias GAtorV, funciona al pelo mil gracias, espero contar contigo y todos ustedes, saludos


Otra pergunta pude cambiar el mes en español, con la funcion setlocale y funciona bien en mi servidor local, pero cuando lo kllevo en el externo de la institucion para la que trabajo que es en linux me sale en ingles

Como puedo resolver eso por favor

USO esto:

Código PHP:
setlocale(LC_ALL'es_ES.ISO8859-1');//Linea para cambiar el mes en español
       
$loc setlocale(LC_TIMENULL);//Linea para cambiar el mes en español
       
$time=strftime(" %B %Y"mktime(0,0,0,$this->month,1,$this->year)); 

nadie me puede dar la mano a ver como soluciono esto e un servidor LINUX externo, e tratado de hacer un ciclo que me identifique la variable para modificar el mes en espñol y nada

El setlocal funciona bien en mi maquina pero cuando lo llevo al servidor linux sale en INGLES
__________________
Miguel Padrón :cool:
  #23 (permalink)  
Antiguo 20/07/2006, 09:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 11 años, 6 meses
Puntos: 2122
Pregunta en tu server si tienen mas idiomas instalados, como te digo setlocale es dependiente de las librerias del sistema, asi que si no tienen en tu server instaladas las librerias simplemente no va a funcionar.
  #24 (permalink)  
Antiguo 20/07/2006, 09:50
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
ok averiguare, com los que presta el serviciosi se te ocurre otra forma TE LO AGADECERIA
__________________
Miguel Padrón :cool:
  #25 (permalink)  
Antiguo 20/07/2006, 10:13
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Gatorv, acabo de entrar al cpanel de mi proveedor, y sale ayi que la configuraciones en español la cambia a spanish para ver y nada, que me suigieres
__________________
Miguel Padrón :cool:
  #26 (permalink)  
Antiguo 20/07/2006, 10:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por 8461277
Gatorv, acabo de entrar al cpanel de mi proveedor, y sale ayi que la configuraciones en español la cambia a spanish para ver y nada, que me suigieres
No sé donde "tocastes" .. pero lo que dice cPanel sobre idiomas se refiere a tu panel de control .. nada que ver con los idomas instalados en el servidor.

Tienes dos opciones:
1) Insistes a tu proveedor a ver si tienen forma de activar lo que necesitas.
2) No usas "setlocale()" (buena opción .. pero no siempre se puede) y te basas en arrays para hacer tu conversión de nombres de meses ..

En este caso te recomendaría abrir un nuevo tema, pues este ya se fué por otro camino. Expón el tema claro: que variable contiene tu fecha y en que formato .. ahí se podrá aconsejar mejor que hacer en basea a "arrays".


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #27 (permalink)  
Antiguo 20/07/2006, 10:46
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Ok cluster gracias lo hare como tu dices, abrire otro tema con mayor explicaion del caso
__________________
Miguel Padrón :cool:
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 19:07.