Foros del Web » Programando para Internet » PHP »

duda con array de una session.

Estas en el tema de duda con array de una session. en el foro de PHP en Foros del Web. Buenos dias, necesito aclarar una duda. tengo un calendario con una class php. entonces en la web que imprimo el calendario, cada vez que clickeo ...
  #1 (permalink)  
Antiguo 23/10/2008, 01:51
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 15 años, 6 meses
Puntos: 0
duda con array de una session.

Buenos dias, necesito aclarar una duda.

tengo un calendario con una class php. entonces en la web que imprimo el calendario, cada vez que clickeo un dia, con este codigo cada dia que pincho se colorea:

Código PHP:
$calendar->highlighted_dates $_SESSION['date']; //FUNCIONA PERFECTO. 
mi intencion es que cuando se carga la web con cada usuario los dias seleccionados se coloreen tambien. entonces hice lo siguiente:

Código PHP:
$username=$_SESSION['username'];
$query="SELECT fechas FROM solicitados WHERE username='$username' ORDER BY fechas";
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
while (
$row=mysql_fetch_array($result))
{
echo 
$row['fechas']."<br>";
$calendar->highlighted_dates = echo $row['fechas'];

Esto ultimo no funciona, y el ECHO si que imprime todos los dias perfectamente, me da la sensacion que es tema de arrays o algo, ya que si imprimo:
echo $row['fechas']."<br>";
salen los dias, y si imprimo esto
echo $_SESSION['date'];
imprime ARRAY.

alguna sugerencia al respecto ??
  #2 (permalink)  
Antiguo 23/10/2008, 03:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: duda con array de una session.

claro, una muy buena... leete la referencia del lenguaje antes de experimentar...

primero, la asignación de valores no debe llevar echo ... eso seguro te da un error, o no??

ahora, un arreglo no se puede imprimir como una cadena... ya que no es una cadena... es un arreglo!!!
(entonces... si necesitas un arreglo, debes convertirlo en uno.... si tu variable no lo es, claro...)

osea, los valores de $_SESSION['date'] y $row['fechas'] son equivalentes, ambos son arrays ??


echo imprime cadenas, enteros, etc. no arreglos... para eso debes usar otras funciones (que conviertan el array en string) como join, implode, print_r, etc...

suerte!


PDTA: no se te olvide leer la documentación sobre tipos de variable en la pagina de PHP

http://php.net
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/10/2008, 03:53
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: duda con array de una session.

Realmente no entiendo tu "respuesta" si se puede considerar una respuesta, lo unico que veo claro es tu afan de superioridad respecto a un principiante en el tema. Si te parece divertido reirte pues alla tu...pero mi intencion era una respuesta coherente, para
alguien que esta empezando.

Lo que me quieres decir es que para imprimir un Arreglo,matriz, array se hace con implode,print_r y tal, No se si es una respuesta que me valga, me lo tengo que imaginar ??
POSTDATA: La verdad que no te falta razon tardo menos en leerme la documentacion, que esperar una respuesta tuya, que me ayude en algo, ya que lo unico que has echo ha sido ofuscarme mas.
  #4 (permalink)  
Antiguo 23/10/2008, 05:51
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: duda con array de una session.

realmente el codigo lo tengo asi desde el principio, simplemente al copiarlo y hacer un cambio me he equivocado.

fallo que habia puesto:
$calendar->highlighted_dates = echo $row['fechas'];

Código PHP:
$username=$_SESSION['username'];
$query="SELECT fechas FROM solicitados WHERE username='$username' ORDER BY fechas";
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
while (
$row=mysql_fetch_array($result))
{
echo 
$row['fechas'];
$calendar->highlighted_dates $row['fechas']; 
si pongo esto:
Código PHP:
$calendar->highlighted_dates $row['fechas']; 
, no lo colorea.

si pongo esto si colorea:
Código PHP:
$calendar->highlighted_dates $_SESSION['date']; 
Esto es el dia que seleccionas.
  #5 (permalink)  
Antiguo 23/10/2008, 09:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: duda con array de una session.

$_SESSION['date'] que valor es... (supongo que un array)

en base a este tipo vemos que funciona correcto, entonces... que valor es el de $row['fechas']??

seguramente no es del mismo tipo que tu variable de sesion... es ahí donde no veo que entiendas lo que lees....

vaya.....

el valor que obtienes de la BD y que le intentas asignar al calendario obviamente debes ser un tipo string o int .... o que tipo es???

en eso radica tu problema, no en mis aires... ni humores, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 23/10/2008, 09:43
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: duda con array de una session.

realmente esta aqui lo raro del asunto :

$_SESSION['date']; es un array, en el que cada click que hago en el calendario, vale por ejemplo 08-07-2008, si le doy otra vez se actualiza la web, suma una posicion y vale por ejemplo 10-07-2008, luego imprimo el array con un for , o lo guardo en una BD y va perfecto.


$row['fechas'] --> hace referencia a los dias que saco de la BD, si te fijas pongo los ECHO para comprobar que los esta recogiendo correctamente. Es un string.

Código PHP:
$username=$_SESSION['username'];
$query="SELECT fechas FROM solicitados WHERE username='$username' ORDER BY fechas";
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
while (
$row=mysql_fetch_array($result))
{
echo 
$row['fechas'];
$calendar->highlighted_dates $row['fechas']; 

Sigo sin ver el fallo...realmente $_SESSION['date'] va coloreando dia a dia, pincho un dia lo colorea, suma una posicion y refresca la web, y asi continuamente.
Pero realmente contienen fechas las 2 variables...
  #7 (permalink)  
Antiguo 23/10/2008, 10:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: duda con array de una session.

Cita:
luego imprimo el array con un for , o lo guardo en una BD y va perfecto.
puedes explicar como haces eso???

o bien, has un print_r() de el valor de la sesion, y el que sacas de la BD (ponlos en este post)
(recuerda que en la BD no se pueden guardan arrays como tal... ojo con eso)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 24/10/2008, 02:39
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: duda con array de una session.

Código PHP:
print_r($_SESSION['date']);
$calendar->highlighted_dates $_SESSION['date'];//Pinta los dias seleccionados. 
print_r imprime asi, empiezo desde la posicion 2, la posicion 1 siempre esta vacia, es un fallo que ya tengo resuelto y ya no me da problemas.

Array ( [1] => [2] => 2008-05-16 )

----------------------------------------------------
Asi saco los datos de la BD,
Código PHP:
$query="SELECT fechas FROM solicitados WHERE username='$username' ORDER BY fechas";
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
while (
$row=mysql_fetch_array($result))
{
echo 
$row['fechas'];
$calendar->highlighted_dates $row['fechas']; 

2008-11-12 //ASI IMPRIME UN DIA
2008-05-162008-11-12 //ASI IMPRIME DOS DIAS
  #9 (permalink)  
Antiguo 27/10/2008, 08:56
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: duda con array de una session.

me respondo a mi mismo por si le vale a alguien mas, Ok ??

la solucion era...
Código PHP:
$calendar->highlighted_dates[] = $row['fechas']; 
en vez de...
Código PHP:
$calendar->highlighted_dates $row['fechas']; 
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 05:24.