Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/02/2014, 15:55
helenp
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 15 años, 9 meses
Puntos: 6
Pdo prepared statements con ajax

Hola,
Ya me estoy tirando de los pelos!!!!!!
No sé si debe de ir aqui o en javascript.
Tengo un script con pdo consulta preparada que funciona.
Estoy intentando añadir Ajax y no se ejecuta la consulta preparada.
En la consulta como uso la misma variable varias veces tuve que llamarlo de distinas maneras en el query pero la variable es la misma.

En este los echos se imprimen correctamente pero no se ejecuta la consulta (con Ajax)

Código PHP:
$percentage  htmlspecialchars($_POST['percentage']);  
$propiedad  htmlspecialchars($_POST['propiedad']); 
$terms  htmlspecialchars($_POST['terms']);
$day htmlspecialchars($_POST['day']);
$month htmlspecialchars($_POST['month']);
$day2 htmlspecialchars($_POST['day2']);
$month2 htmlspecialchars($_POST['month2']);
 
$llegada $month."-".$day;
  
$salida $month2."-".$day2;
if (
$salida $llegada){
    echo 
$salida;
    echo 
$llegada;
//miramos si disponible
$query $dbh->prepare("SELECT DATE_FORMAT(llegada, '%e %b %Y') as lleg, DATE_FORMAT(salida, '%e %b %Y') as sal, 
tiporeserva, propiedad, TO_DAYS(:salida) - TO_DAYS(:llegada) as dias from bookings where ( propiedad = :propiedad )
AND ((:llegada2 BETWEEN llegada AND date_sub(salida, interval +1 day)) 
or (:salida2 BETWEEN date_sub(llegada, interval -1 day) AND salida) or (llegada <= :llegada3 AND salida >= :salida3) 
or (llegada >= :llegada4 AND salida <= :salida4))"
);
$query->execute(array(
 
'salida' => $salida
     
'llegada' => $llegada
   
'propiedad' => $propiedad
    
'llegada2' => $llegada
    
'salida2' => $salida
    
'llegada3' => $llegada
        
'salida3' => $salida
    
'llegada4' => $llegada
    
'salida4' => $salida
    
)); 
En el javascript declaro los variables del formulario asi y funciona en las paginas que no usa pdo.
Debo de declarar las todas las variables que figura en la consulta preparada?:
Código Javascript:
Ver original
  1. function enviarDatosSolicitud(){
  2.  
  3.   //div donde se mostrará lo resultados
  4.   divResultado = document.getElementById('resultado');
  5.   //recogemos los valores de los inputs
  6.   propiedad = document.solicitud.propiedad.value;
  7.   day = document.solicitud.day.options[document.solicitud.day.selectedIndex].value;
  8.   day2 = document.solicitud.day2.options[document.solicitud.day2.selectedIndex].value;
  9.   month = document.solicitud.month.options[document.solicitud.month.selectedIndex].value;
  10.   month2 = document.solicitud.month2.options[document.solicitud.month2.selectedIndex].value;
  11.     ajax.send("propiedad="+propiedad+"&enviar="+enviar+"&day="+day+"&day2="+day2+"&month="+month+"&month2="+month2+""

Última edición por helenp; 10/02/2014 a las 16:01