Foros del Web » Programando para Internet » PHP »

Consultar si datos estan en BD y hacer operaciones

Estas en el tema de Consultar si datos estan en BD y hacer operaciones en el foro de PHP en Foros del Web. Hola! Estoy realizando un formulario con PHP, Javascript y consultas de SQL Mis datos son: Edificio (select - option) Habitaciones (hacer una funcion de javascript ...
  #1 (permalink)  
Antiguo 21/01/2013, 14:39
 
Fecha de Ingreso: enero-2013
Ubicación: Distrito Federal
Mensajes: 88
Antigüedad: 11 años, 10 meses
Puntos: 1
Consultar si datos estan en BD y hacer operaciones

Hola!
Estoy realizando un formulario con PHP, Javascript y consultas de SQL

Mis datos son:
Edificio (select - option)
Habitaciones (hacer una funcion de javascript que muestra resultados de mi BD dependiendo el Edificio que selecciono.
Tarifa (con una funcion Javascript hago una consulta a mi BD para que me muestre el precio de la habitacion seleccionada anteriormente.
Fecha Inicio
Fecha Fin
(estas opciones tienen un calendario Js para seleccionar las fechas.

Lo que necesito es que al seleccionar mi Fecha Final necesita validar si los 5 datos se encuentran en mi BD, de no estar poder sacar una diferencia de los días y el total.

Tengo este codigo que no me ha resultado

index.php

Código PHP:
Ver original
  1. <input type="text" name="fechafin" id="fechafin" class="ingresor" onchange="validaCantidad();" />
  2. // Llama a funcion al terminar de seleccionar la Fecha Final

Código PHP:
Ver original
  1. function validaCantidad() {
  2.   var ed=document.nueva.edificio.value;
  3.   var hab=document.nueva.habitaciones.value;
  4.   var tar=document.nueva.tarifa.value;
  5.   var fi=document.nueva.fechainicio.value;
  6.   var ff=document.nueva.fechafin.value;
  7.  
  8.   // Guarda variables de formulario y los envia a archivo PHP
  9.   location.href="procesos.php?ed="+ed+"&hab="+hab+"&tar="+tar+"&fi="+fi+"&ff="+ff+"";  
  10. }

Mi archivo procesos.php es

Código PHP:
Ver original
  1. <?php
  2. include 'includes/conexion.php';
  3.  
  4. // Verifica variables
  5. if(!isset($_GET['ed']))$_GET['ed']=0;
  6. $edificio=$_GET['ed'];
  7. if(!isset($_GET['hab']))$_GET['hab']=0;
  8. $habitacion=$_GET['hab'];
  9. if(!isset($_GET['tar']))$_GET['tar']=0;
  10. $tarifa=$_GET['tar'];
  11. if(!isset($_GET['fi']))$_GET['fi']=0;
  12. $fechainicio=$_GET['fi'];      
  13. if(!isset($_GET['ff']))$_GET['ff']="";                            
  14. $fechafin=$_GET['ff'];
  15.  
  16. // Hace consulta a mi BD
  17. conectar();
  18. $consulta=mysql_query("SELECT * FROM reservaciones WHERE idedificio='$ed' AND idhabitacion='$hab' AND fecha_inicio='fi' AND fecha_fin='ff'");
  19. desconectar();
  20.  
  21. $res = mysql_num_rows($consulta);
  22.  
  23. // Compara si  mi resultado esta vacio
  24. if($res == 0) {
  25.     if ($fechainicio <= $fechafin ) { //
  26.         echo "<script>alert('La Fecha de Salida no puede ser menor que la Fecha de Entrada')</script>";  
  27.     } else {
  28.                 // Separo mis fechas
  29.         $FI = explode("-", $fechainicio);
  30.         $FF = explode("-", $fechafin);
  31.        
  32.         // Fecha 1
  33.         $ano1 = $FI[0];
  34.                 $mes1 = $FI[1];
  35.                 $dia1 = $FI[2];
  36.  
  37.         // Fecha 2
  38.         $ano2 = $FF[0];
  39.         $mes2 = $FF[1];
  40.         $dia2 = $FF[2];
  41.  
  42.         // Calculo TIMESTAM de las dos fechas
  43.         $timestamp1 = mktime(0,0,0,$mes1,$dia1,$ano1);
  44.         $timestamp2 = mktime(4,12,0,$mes2,$dia2,$ano2);
  45.  
  46.         // Resto a una fecha la otra
  47.         $segundos = $timestamp1 - $timestamp2;
  48.  
  49.         // Convierto segundos en días
  50.         $noches = $segundos / (60 * 60 * 24);
  51.  
  52.         // Obtengo valor de los días (quito el posible signo negativo)
  53.         $noches = abs($noches);
  54.  
  55.         // Quito decimales a los días de diferencia
  56.         $noches = floor($noches);
  57.            
  58.     $total=$noches*$tarifa;
  59.  
  60.     }
  61. }
  62.  
  63. // envio variables a mi formulario para mostrar resultado de variables
  64. $direccion='index.php?noches='.$noches.'&total='.$total;
  65. header("Location: $direccion");
  66. ?>

index.php

Código PHP:
Ver original
  1. <?php echo $noches ?>
  2. <?php echo $total ?>

Que es lo que me falla???
  #2 (permalink)  
Antiguo 21/01/2013, 15:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Consultar si datos estan en BD y hacer operaciones

Así como rescatas en procesos.php, tienes que rescatar las variables en tu index usando $_GET.

Saludos.
  #3 (permalink)  
Antiguo 21/01/2013, 16:06
 
Fecha de Ingreso: enero-2013
Ubicación: Distrito Federal
Mensajes: 88
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: Consultar si datos estan en BD y hacer operaciones

En mi index tenia esto tambien

Código PHP:
Ver original
  1. if(!isset($_GET['noches']))$_GET['noches']=0;
  2. $noches=$_GET['noches'];
  3.  
  4. if(!isset($_GET['total']))$_GET['total']=0;
  5. $total=$_GET['total'];

Pero solo me coloca el 0 en noches y total y no hace nada despues
  #4 (permalink)  
Antiguo 21/01/2013, 16:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Consultar si datos estan en BD y hacer operaciones

Ya que estas pasando las variables por GET ¿que es lo que ves en tu URL?.

Saludos.
  #5 (permalink)  
Antiguo 21/01/2013, 16:26
 
Fecha de Ingreso: enero-2013
Ubicación: Distrito Federal
Mensajes: 88
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: Consultar si datos estan en BD y hacer operaciones

En la URL visualizo solo el index.php... no se ven las variables puesto que no he cambiado de pagina y no quiero que me envie a otra pagina

quiero que una vez que seleccione la fecha final me haga la funcion de validaCantidad (procesos.php) y me muestre las noches y el total en mi index
  #6 (permalink)  
Antiguo 21/01/2013, 22:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Consultar si datos estan en BD y hacer operaciones

Si no quieres redirigir vas a tener que usar AJAX, ya que así es como funciona PHP, si lo quieres usar con PHP 'plano', es necesario que envíes la consulta al servidor.

Saludos.

Etiquetas: date, php+bd
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 11:16.