Foros del Web » Programando para Internet » PHP »

Formulario completo que cambia precios o datos segun fechas con Php y MySQL, ayuda

Estas en el tema de Formulario completo que cambia precios o datos segun fechas con Php y MySQL, ayuda en el foro de PHP en Foros del Web. Hola tengo un formulario que me permite ver precios de un tour segun la fecha que se elija este es mi formulario http://www.peru-expeditions.com/Peru...g_4x4-5-10.php esta funcionando ...
  #1 (permalink)  
Antiguo 20/09/2010, 08:36
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 4 meses
Puntos: 2
Formulario completo que cambia precios o datos segun fechas con Php y MySQL, ayuda

Hola tengo un formulario que me permite ver precios de un tour segun la fecha que se elija este es mi formulario http://www.peru-expeditions.com/Peru...g_4x4-5-10.php esta funcionando pero me falta superar estas dos deficiencias.
1º Es que tendría que jalar el primer valor de la fecha que se muestra en la lista, por el contrario solo muestra "?" pues aun no lo he programado, tal vez me puedan decir don colocar esta instruccion
2º cada vez que se selecciona una fecha vuelve a cargar toda la pagina y debería cargar solo el formulario.

Veo que han ingresado a ver mi foro sin responder, quisiera tal vez saber si mi pregunta no es apropiada pues me urge de veras acabar este formulario, gracias
El formulario funciona asi
los tour normales muestran 12 precios 3 por 4 cada categoría y algunos tour son ofertas y cuando son ofertas debe mostrarse solo 6 precios 3 por 2 categorias y como uso tablas para estructura esta parte del formulario uso un “if” para mostrar una estructura cuando es oferta y else cuando no lo es.)

Explicare mi código para me puedan ayudar en donde puedo yo poner la instrauccion para mostrar los datos de la primera fecha que se muestra el la lista.
Este son mis tablas
“tabla_salidas” con los campos id_salidas, date_fecha, des_fecha, des_tour : el 2º campo hace el filtro para mostrar fechas mayores a fecha actual, la 3º para mostrar el valor en lista de formulario, y la cuarta para saber a que tour pertenece esa fecha.
La otra tabla es “tabla_datos” con los siguientes campos id_datos, id_salidas, espacio, cabezal, minimo, oferta, precio01 al precio12, “id_salidas” es para relacionar las tablas, “espacio” es para mostrar cuantos espacios están disponibles en el tour, “cabezal” es para mostrar una imagen que haga de cabezal del formulario según sea oferta o no, “minimo” es para saber cuantas personas como minimo deben, “oferta” para saber si son o no ofertas y los precios no quise hacerme problemas con mostrar los precios según sus categorías haciendo otra tabla asi que solo ingreso los precios de 1 a 12 y después los inserto en mi formulario.
Este es mi pseudocódigo que planteo es la siguiente

Código PHP:
<?php
$id_padre
=$_POST['id_padre'];
echo 
" <form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n\n";
//Realizar la consulta filtrando a las fechas segun que tour es y que muestre en 
//la lista desplegable las fechas mayores o igual a la fecha actual 
$SQLconsulta_padre="SELECT * FROM tabla_salidas WHERE des_tour ='$des_tour' AND DATE(date_fecha)>=CURDATE();";
$consulta_padre mysql_query($SQLconsulta_padre,$conexion) or die(mysql_error());

// ahora según el id de la fecha, le llamo id_padre (pues según se elija la 
//fecha cambia los demás valores)
if (!empty($id_padre)){
    
$SQLconsulta_hija="SELECT * FROM tabla_datos WHERE id_salidas='$id_padre'";
    
$consulta_hija mysql_query($SQLconsulta_hija,$conexion) or die(mysql_error());
    if (
mysql_num_rows($consulta_hija) != 0){
        While (
$registro_hija=mysql_fetch_assoc($consulta_hija)){
//Desde aqui me sale error claro esto no esta colgado en el servidor
//Según yo en la variable $oferta se guadaria el valor para saber si es o no una oferta 
//Y si no lo es mostraría un diseño en tablas donde colocar los precio y los demás 
//cosas del formulario
          
$oferta=$registro_hija['oferta'];
            if(
$oferta=="no"){
                echo
'  <div id="informacion-formulario">';
                echo
'    <img src="estructura/'.$registro_hija['cabezal'].'" width="327" height="50" />';
                echo
'    <table width="327" border="0" cellspacing="0" cellpadding="0">';
                echo
'      <tr>';
                echo
'        <td width="13"><img src="estructura/li-form.gif" /></td>';
                echo
'        <td width="81">Hoteles</td>';
                echo
'        <th width="55">Simple</th>';
                echo
'        <th width="55">Doble</th>';
                echo
'        <th width="55">Triple</th>';
                echo
'        <th width="68">Cuadruple</th>';
                echo
'      </tr>';
                echo
'      <tr>';
                echo
'        <td><img src="estructura/li-form.gif" /></td>';
                echo
'        <td><b>Comfort</b></td>';
                echo
'        <th class="fondo01">'.$registro_hija['precio01'].'</th>';
                echo
'        <th class="fondo03">'.$registro_hija['precio02'].'</th>';
                echo
'        <th class="fondo03">'.$registro_hija['precio03'].'</th>';
                echo
'        <th class="fondo03">'.$registro_hija['precio04'].'</th>';
                echo
'      </tr>';
                echo
'      <tr>';
                echo
'        <td><img src="estructura/li-form.gif" /></td>';
                echo
'        <td><b>Deluxe</b></td>';
                echo
'        <th class="fondo03">'.$registro_hija['precio05'].'</th>';
                echo
'        <th class="fondo03">'.$registro_hija['precio06'].'</th>';
                echo
'        <th class="fondo03">'.$registro_hija['precio07'].'</th>';
                echo
'        <th class="fondo03">'.$registro_hija['precio08'].'</th>';
                echo
'      </tr>';
                echo
'      <tr>';
                echo
'        <td><img src="estructura/li-form.gif" /></td>';
                echo
'        <td><b>Private<br />';
                echo
'          Collection</b></td>';
                echo
'        <th class="fondo02">'.$registro_hija['precio09'].'</th>';
                echo
'        <th class="fondo03">'.$registro_hija['precio10'].'</th>';
                echo
'        <th class="fondo03">'.$registro_hija['precio11'].'</th>';
                echo
'        <th class="fondo03">'.$registro_hija['precio12'].'</th>';
                echo
'      </tr>';
                echo
'    </table>';
//Por el contrario si fuera oferta el diseño de tablas solo mostraría 6 precios que 
//pernenecen a la categoría simples y dobles
            
}else{
              echo
' <div id="informacion-formulario">';
                echo
'   <img src="estructura/'.$registro_hija['cabezal'].'" width="327" height="50" />';
                echo
'     <table width="327" border="0" cellspacing="0" cellpadding="0">';
                echo
'         <tr>';
                echo
'             <td width="13"><img src="estructura/li-form.gif" width="7" height="11" /></td>';
                echo
'             <td width="114"><b>Hoteles20</b></td>';
                echo
'             <th width="100"><b>Simple</b></th>';
                echo
'             <th width="100"><b>Doble</b></th>';
                echo
'         </tr>';
                echo
'         <tr>';
                echo
'             <td><img src="estructura/li-form.gif" width="7" height="11" /></td>';
                echo
'             <td><b>Comfort</b></td>';
                echo
'             <th class="fondo01"><b>'.$registro_hija['precio01'].'</b></th>';
                echo
'             <th class="fondo03"><b>'.$registro_hija['precio02'].'</b></th>';
                echo
'         </tr>';
                echo
'         <tr>';
                echo
'             <td><img src="estructura/li-form.gif" width="7" height="11" /></td>';
                echo
'             <td><b>Deluxe</b></td>';
                echo
'             <th class="fondo03"><b>'.$registro_hija['precio05'].'</b></th>';
                echo
'             <th class="fondo03"><b>'.$registro_hija['precio06'].'</b></th>';
                echo
'         </tr>';
                echo
'         <tr>';
                echo
'             <td><img src="estructura/li-form.gif" width="7" height="11" /></td>';
                echo
'             <td><b>Private<br />';
                echo
'                 Collection</b></td>';
                echo
'             <th class="fondo02"><b>'.$registro_hija['precio09'].'</b></th>';
                echo
'             <th class="fondo03"><b>'.$registro_hija['precio10'].'</b></th>';
                echo
'         </tr>';
                echo
'     </table>';
            }
                          }
    }else{
//Ahora si no encuentra filas en la consulta mostraría el diseño de 12 precios pero 
//mostrando “?” en los precios
            
echo'  <div id="informacion-formulario">';
            echo
'    <img src="estructura/info-form-cabezal.gif" width="327" height="50" />';
            echo
'    <table width="327" border="0" cellspacing="0" cellpadding="0">';
            echo
'      … </table>
        }
} else {

//Bueno si no ayara valores para el id fecha que se muestra en la 
//lista desplegable igual se veria el diseño de los 12 precios pero con “?”

        echo'  
<div id="informacion-formulario">';
        echo'    
<img src="estructura/info-form-cabezal.gif" width="327" height="50" />';
        echo'    
<table width="327" border="0" cellspacing="0" cellpadding="0">';
        echo'      
</table>';
}
//Ahora muestro la lista desplegable donde se muestra las fechas 
//que cambian los valores de precio        
echo'    
<table width="327" border="0" cellspacing="0" cellpadding="0">';
echo'      
<tr>';
echo'        
<td><img src="estructura/li-form.gif" /></td>';
echo'        
<td colspan="2"><b>Partidas</b>';
echo"          <select name=\"id_padre\" onChange=\"this.form.submit()\" class=\"stlista\">\n";
While($registro_padre=mysql_fetch_assoc($consulta_padre)){
    if ($id_padre == $registro_padre['
id_salidas']){
     echo "<option value=\"".$registro_padre['
id_salidas']."\" selected>".$registro_padre['des_fecha']."</option>\n";
    } else {
     echo "<option value=\"".$registro_padre['
id_salidas']."\">".$registro_padre['des_fecha']."</option>\n";
    }
}
echo'          
</select></td>';
mysql_free_result($consulta_padre);

//Debajo hago otra consulta para mostrar lo datos que van debajo de la lista 
//desplegable que son espacio disponible, minimo de persona con sus 
//respectivas condiciones

echo'      
</tr>';
echo'      
<tr>';
echo'        
<td><img src="estructura/li-form.gif" /></td>';
if (!empty($id_padre)){
    $SQLconsulta_hija="SELECT * FROM tabla_datos WHERE id_salidas='
$id_padre'";
    $consulta_hija = mysql_query($SQLconsulta_hija,$conexion) or die(mysql_error());
    if (mysql_num_rows($consulta_hija) != 0){
        While ($registro_hija=mysql_fetch_assoc($consulta_hija)){
            echo'        
<td colspan="2"><b>Espacios Disponibles</b>';
            echo'          
<a href="#">';
            echo'            
<img src="estructura/info-interroga.gif" alt="Más información" />';
            echo'          
</a'.$registro_hija['espacio'].' espacio(s)</td>';
            echo'      
</tr>';
            echo'      
<tr>';
            echo'        
<td><img src="estructura/li-form.gif" /></td>';
            echo'        
<td colspan="2"><b>Mínimo '.$registro_hija['minimo'].' persona(s)</b></td>';
        }
    }else{…
echo'
</form>;
?>

Última edición por salvador86; 20/09/2010 a las 10:56

Etiquetas: list, mysql
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 15:13.