Foros del Web » Programando para Internet » PHP »

Guardar como array javascript de xml con php

Estas en el tema de Guardar como array javascript de xml con php en el foro de PHP en Foros del Web. Hola, No sé si esto debe de ir en php o javascript, creo que aqui. Contacto con otra página web por get y saco información ...
  #1 (permalink)  
Antiguo 06/10/2018, 09:44
 
Fecha de Ingreso: mayo-2009
Mensajes: 367
Antigüedad: 9 años, 4 meses
Puntos: 5
Guardar como array javascript de xml con php

Hola,
No sé si esto debe de ir en php o javascript, creo que aqui.

Contacto con otra página web por get y saco información de un xml.

Del xml saco fechas de disponibilidad que me gustaría usar en datepicker para desactivar las fechas

Este es la parte del php donde saco la información

$cifraexcursion = 9;
$xml = new SimpleXMLElement($viajes);
foreach ($xml->excursion as $excursion) {
if ($tour->idmodelo == $cifraexcursion) {

echo "<br>Fechas ".$tour->fecha;

Necesito guardar esas fechas como array javascript
El datepicker abajo funciona perfectamente con las fechas puestas manualmente en el array de javascript.
Pero no soy capaz de hacerlo con $excursion->fecha

<script>
var array = ["2018-10-14","2018-10-15","2018-10-16"];

$('input').datepicker({
beforeShowDay: function(date){
var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [ array.indexOf(string) == -1 ]
}
});
(function() {
$.datepicker.setDefaults({
regional: 'en',
buttonImage: "/images/calendar_blue.png",
buttonImageOnly: true,
firstDay: 1,
})

})();
</script>

Este echo php imprime 4 fechas

echo "<br>Fechas ".$excursion->fecha;

Sin embargo si intento guardarlo como array javascript funciona, pero solo me da la ultima fecha de los cuatro.

var array=["<?php echo ($excursion->fecha);?>",];

Muchas gracias si me pueden ayudar
  #2 (permalink)  
Antiguo 06/10/2018, 10:24
 
Fecha de Ingreso: mayo-2009
Mensajes: 367
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Guardar como array javascript de xml con php

Si hago esto:
$fecha = $excursion->fecha;

$array = json_encode($fecha);
Me imprime todas las fechas pero asi:
{"0":"2018-10-10"}

Veo un fallo arriba por cambiar los nombres
Esto
echo "<br>Fechas ".$tour->fecha;
debe de ser:
echo "<br>Fechas ".$excursion->fecha;

Última edición por helenp; 06/10/2018 a las 12:16
  #3 (permalink)  
Antiguo 06/10/2018, 15:17
 
Fecha de Ingreso: mayo-2009
Mensajes: 367
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Guardar como array javascript de xml con php

Ya está funcionando:
Código PHP:
Ver original
  1. $xml = new SimpleXMLElement($viajes);
  2.     $tmpArrayFechas = [];
  3.     foreach ($xml->excursion as $excursion) {
  4.     if ($excursion->idmodelo == $cifraexcursion) {
  5.     $tmpArrayFechas[] = $excursion->fecha;
  6.      }
  7.     }
  8.     $tmpArrayFechas = implode(',', $tmpArrayFechas);
  9.     ?>
  10.     <input type="hidden" id="plazasDisponibles"
  11.      name="plazasDisponibles"
  12.     value="<?php echo $tmpArrayFechas; ?>">
  13.     <script>
  14.  
  15.     var arrayDiasDisponibles =
  16.     document.querySelector("#plazasDisponibles").value.split(',');
  17.     $('input').datepicker({
  18.     beforeShowDay: function(date){
  19.     var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
  20.     return [ arrayDiasDisponibles.indexOf(string) !== -1 ]
  21.     }
  22.     });
  23.  
  24.     (function() {
  25.     $.datepicker.setDefaults({
  26.     regional: 'en',
  27.     buttonImage: "/images/calendar_blue.png",
  28.     buttonImageOnly: true,
  29.       firstDay: 1,
  30.     })
  31.     })();
  32.     </script>



La zona horaria es GMT -6. Ahora son las 18:01.