Foros del Web » Programando para Internet » Javascript »

var funcion = [

Estas en el tema de var funcion = [ en el foro de Javascript en Foros del Web. S@|u2 a todos antes de nada, tengo esta funcion: var SPECIAL_DAYS2 = [ [2009, 1, 8], //january [2009, 4, 8], //April ]; function dateIsSpecial2(year, month, ...
  #1 (permalink)  
Antiguo 03/06/2008, 08:23
 
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 16 años
Puntos: 0
Pregunta var funcion = [

S@|u2 a todos antes de nada, tengo esta funcion:

var SPECIAL_DAYS2 = [
[2009, 1, 8], //january
[2009, 4, 8], //April
];

function dateIsSpecial2(year, month, day) {
for (ii = 0; ii < SPECIAL_DAYS2.length; ii++) {
if (((SPECIAL_DAYS2[ii] [0]) == year) &&
((SPECIAL_DAYS2[ii] [1]) == month) &&
(((SPECIAL_DAYS2[ii] [2]) == day))) {
return true;
}
}
return false;
};

function dateChanged(calendar) {
var preview = document.getElementById("preview");
if (preview) {
preview.value = calendar.currentDate.print('%Y-%m-%d');
}
};

La funcion esta en un php donde tengo una variable $row que contiene fechas con formato yyyy, mm, dd puedo asignar a "var SPECIAL_DAYS2" este valor dinamico para que cambie sin necesidad de introducirlo manualmente?.
Algo como:

var SPECIAL_DAYS2 = [
[$row[0]], //January
[$row[1]], //February
];

Cambiando el numero de filas segun el resultado de $row?
Gracias de antemano.
  #2 (permalink)  
Antiguo 03/06/2008, 08:39
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Respuesta: var funcion = [



<?
foreach($row as $fecha){
if($fechas!=""){$fechas.=",";
$fechas.="[".$fecha."]";
}
?>
var SPECIAL_DAYS2 = [<?=$fechas;?>];

así?
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 03/06/2008, 10:08
 
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 16 años
Puntos: 0
Respuesta: var funcion = [

pregunte en el foro correspondiente a php el codigo exacto a usar para que me devolviera los registros de la bd en un formato especifico y funciona correctamente obtengo estas fechas:

[2008, 06, 18]
[2008, 07, 03]
[2008, 07, 12]

Son tres los registros que tengo en la bd y son mostrados correctamente en el formato "var SPECIAL_DAYS2", el codigo php es este:

$query = "select arrival from confirmed where room_id = 1";

$result = mysql_query($query);

while ($row = mysql_fetch_assoc($result)) {
list( $anio, $mes, $dia ) = explode( "-", $row['arrival'] );
echo "[$anio, $mes, $dia]<br />";
}

Por ultimo me gustaria meter los datos que recibo y que sean el valor de "var SPECIAL_DAYS2" si fuera posible.

Muchas gracias de verdad, a todo el equipo.
Gracias a ustedes estoy avanzando.
S@|u2.
  #4 (permalink)  
Antiguo 03/06/2008, 10:13
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Respuesta: var funcion = [



Código:
echo "var SPECIAL_DAYS2=[";

$query = "select arrival from confirmed where room_id = 1";

$result = mysql_query($query);

while ($row = mysql_fetch_assoc($result)) {
list( $anio, $mes, $dia ) = explode( "-", $row['arrival'] );
echo "[$anio, $mes, $dia],\n";
}
echo "]";
Y la próxima vez pregunta en un solo sitio.
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #5 (permalink)  
Antiguo 03/06/2008, 13:00
 
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 16 años
Puntos: 0
Respuesta: var funcion = [

Muchas gracias por la respuesta.

No pretendia ir de listo", solo queria mantener organizado el foro, la proxima vez preguntare todo en un post. Sorry

Probare el codigo y comento.

S@|u2.
  #6 (permalink)  
Antiguo 03/06/2008, 13:19
 
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 16 años
Puntos: 0
Respuesta: var funcion = [

He probado el codigo y tengo un pequeño problemilla:

efectivamente el codigo me imprime en pantalla el var completo que es ademas exactamente como se debe de quedar.

Lo que ocurre es lo siguiente el codigo usado es php y me encuentro que el javascript que hace la llamada depende del var quiero decir, este es el javascript:
Código:
<script type="text/javascript">

	var SPECIAL_DAYS2 = [[2008, 06, 18],
         [2008, 07, 03],
         [2008, 07, 12],
];

	function dateIsSpecial2(year, month, day) {
		for (ii = 0; ii < SPECIAL_DAYS2.length; ii++) {
			if (((SPECIAL_DAYS2[ii] [0]) == year) &&
			((SPECIAL_DAYS2[ii] [1]) == month) &&
			(((SPECIAL_DAYS2[ii] [2]) == day))) {
				return true;
			}
		}
		return false;
	};
Mi intencion es reemplazar ese var SPECIAL_DAYS2 por el resultado dado por ti, y he probado:

En php añadi este valor:

Código:
$query = "select arrival from confirmed where room_id = 1";

$result = mysql_query($query);

while ($row = mysql_fetch_assoc($result)) {
list( $anio, $mes, $dia ) = explode( "-", $row['arrival'] );
echo "[$anio, $mes, $dia],\n";
$fecha = "[$anio, $mes, $dia],\n";
}
y en la linea var lo modifique asi para hacer referencia al valor que necesito y está en php, quedando de esta manera entonces:

Código:
var SPECIAL_DAYS2 = '<?php$fecha?>';

	function dateIsSpecial2(year, month, day) {
		for (ii = 0; ii < SPECIAL_DAYS2.length; ii++) {
			if (((SPECIAL_DAYS2[ii] [0]) == year) &&
			((SPECIAL_DAYS2[ii] [1]) == month) &&
			(((SPECIAL_DAYS2[ii] [2]) == day))) {
				return true;
			}
		}
		return false;
	};
Pero no funciona. Que puedo hacer?

Gracias de antemano.

S@|u2.

Última edición por akenateb; 03/06/2008 a las 14:29
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

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 19:20.