Foros del Web » Programando para Internet » PHP »

Tablas......Formulario

Estas en el tema de Tablas......Formulario en el foro de PHP en Foros del Web. Mi problema es que tengo las cigquientes tablas: Tabla: ciudad Idciudad int autoincrement primaria Ciudad varchar 50 Contienen la lista de ciudades: Idciudad Ciudad 1 ...
  #1 (permalink)  
Antiguo 17/03/2006, 10:32
 
Fecha de Ingreso: febrero-2006
Mensajes: 30
Antigüedad: 11 años, 10 meses
Puntos: 0
Tablas......Formulario

Mi problema es que tengo las cigquientes tablas:

Tabla: ciudad
Idciudad int autoincrement primaria
Ciudad varchar 50

Contienen la lista de ciudades:

Idciudad Ciudad
1 Lima
2 Trujillo
3 Cusco
4 Iquitos

Tabla: ruta
Idruta int autoincrement primaria
Origen int
Destino int
Idunidad int
Fecha date
Precio flota
Cupos int
Activo int

Contiene la programación de rutas, el Origen y el Destino contienen los codigos de las cudades, el campo Activo sera 0-no activo y 1-Activo:

Idruta Origen Destino Idunidad Fecha Precio Cupos Activo
1 1 2 1 06/03/2006 60 15 0
2 1 4 2 12/03/2006 80 10 1
3 3 4 2 14/03/2006 80 10 1
4 1 4 3 14/03/2006 60 20 1

Tabla: unidad
Idunidad int autoincrement primaria
Matricula varchar 20

Contiene informacion de las avionetas

Idunidad Matricula
1 PE721
2 PE715
3 PE727


mi pagina index, selecciono la ciudad el origen (ok) y sale en mi iframe destino para seleccionar mi destino(ok) cuando selecciono este ok tiene que salirme las una tabla que me muester el las posiblems rutas (origen, destino, fecha, precio ,disponible = cupos) pero me bloqueo con respecto al origen y destino, please pueden ayudarme tengo que terminar este trabajo :(
  #2 (permalink)  
Antiguo 17/03/2006, 11:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tendrás que indicar el código que usas completo (e incluso si es posible verlo en funcionamiento para hacerse una idea de lo que pretendes hacer).

Un saludo,
  #3 (permalink)  
Antiguo 17/03/2006, 12:43
 
Fecha de Ingreso: febrero-2006
Mensajes: 30
Antigüedad: 11 años, 10 meses
Puntos: 0
ok cluster:

Mi pagina Index:

Código PHP:
<?
include "conecta.php";
$sql="SELECT idciudad, origen, ciudad FROM ciudad,ruta where ruta.origen=ciudad.idciudad and ruta.activo=1 group by idciudad";
$rs=mysql_query($sql);
$n=mysql_num_rows($rs);
?>
<body bgcolor="#66CCFF" >
<P align="center"><IMG SRC="contactenos.jpg" align="middle"></P><BR>
<center>
<TABLE width=500 >
<TR bgcolor="#66CCFF">
<FORM METHOD=POST ACTION="destinos.php" target="destino" >
    <TD>Origen:
    <SELECT NAME="origen" value="<?echo mysql_result($rs,$k,"idciudad");?>">
    <?for($k=0;$k<$n;$k++){ ?> 
    <option value="<?echo mysql_result($rs,$k,"idciudad");?>"><?echo mysql_result($rs,$k,"ciudad")?></option>
    <?}?>
    </SELECT>
    <INPUT TYPE="submit" value="OK">
    </TD>
</FORM>
    <TD><iframe  name="destino" width=200 height=60 frameborder=0></iframe><TD>
<TR>
    <TD colspan=2><iframe name="ruta" width=500 height=250 frameborder=0></iframe>
    </TD>
</TR>
<TR>
    <TD colspan=2><iframe name="reserva" width=500 height=250 frameborder=0 scrolling="no"></iframe></TD>
</TR>
</TABLE>
</center>
</body>
para destino.php
<?
Código PHP:
<?
include "conecta.php";
$sql="SELECT idciudad,destino, ciudad FROM ciudad,ruta where ruta.destino=ciudad.idciudad and ruta.activo=1 group by idciudad";
$rs=mysql_query($sql);
$n=mysql_num_rows($rs);
?>
<body bgcolor="#66CCFF">
<FORM METHOD=POST ACTION="rutas.php" target="ruta">

    Destino:
    <SELECT NAME="destino" value="<?echo mysql_result($rs,$k,"idciudad");?>">
    <?for($k=0;$k<$n;$k++){ ?> 
    <option value="<?echo mysql_result($rs,$k,"idciudad");?>"><?echo mysql_result($rs,$k,"ciudad")?></option>
    <?}?>
    </SELECT>
    <INPUT TYPE="submit" value="OK">
</FORM>
</body>
y para mostrar rutas.php
Código PHP:
<?
include "conecta.php";
$origen=$_GET["origen"];
$destino=$_POST["destino"];
$sql="SELECT idruta,origen, destino,fecha, precio, cupos FROM ruta, ciudad  ruta.destino=$destino and ruta.origen=$origen GROUP BY idruta";
$rs=mysql_query($sql);
$n=mysql_num_rows($rs);
?>
<TABLE width=480 border=1>
<TR>
    <TD>Origen</TD>
    <TD>Destino</TD>
    <TD>Fecha</TD>
    <TD>Precio</TD>
    <TD>Disponible</TD>
    <TD></TD>
</TR>
<?for($k=0;$k<$n;$k++){?>
<TR>

    <TD><?echo mysql_result($rs,$k,"origen");?></TD>
    <TD><?echo mysql_result($rs,$k,"destino")?></TD>
    <TD><?echo mysql_result($rs,$k,"fecha")?></TD>
    <TD><?echo mysql_result($rs,$k,"precio")?></TD>
    <TD><?echo mysql_result($rs,$k,"cupos")?></TD>
     <?$idmysql_result($rs,$k,"idruta")?>
    <TD><A HREF="reserva.php" target="reserva">Adquirir<INPUT TYPE="hidden" NAME="idruta" value="<?echo $id?>"></A></TD>
</TR>
<?}?>
</TABLE>
Esta ultima es la que tengo complicaiones con sql, deseo mostrar en las posibles rutas que selecciones, no se si el problema es el GET o POST. HELP PLEASEE
  #4 (permalink)  
Antiguo 17/03/2006, 13:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Realmente no entendí mucho como trabaja tu código .. realmente me "despista" mucho el uso de esos "bucles" for() aplicados a mysql_result() cuando deberías usar:

mysql_fetch_array() (o similar) tipo:

Código PHP:
<?
while ($row=mysql_fetch_array($rs)){
echo 
$row['precio']; // etc con el resto ...
}
Esto es mucho más óptimo que repetir N veces tantos mysql_result() .. por lo menos para eso se diseñaron el grupo de funciones "_fetch_" en PHP ..

---------------------------

Fuera de esos "detalles" (que deberías tenernos en cuenta .. )

No sé si la intención de tu código "mostrar_rutas.php" es generar un Listado de N registros y en cada uno que aparezca un link hacia "reserva.php" donde se le pase el "ID" del registro de esa "linea" para que este a su vez lo procese.

Si es así .. deberías hacer:
Código PHP:
<?
<A HREF="reserva.php?idruta=<? echo $id ?>" target="reserva">Adquirir</A></TD>
y en reserva.php .. recibes el dato por GET:

Código PHP:
<?
echo $_GET['idruta'];
Tu campo "hidden" está de más .. de hecho no se vé algún formulario por médio ni link que dispare un "submit" (via javascript) o botón de formulario para tal fin. Así que al "accionar" ese link .. tan sólo mandas a cargar al navegador a "reserva.php" pero ese campo hidden con esa variable ahí no va a ningún lado.

La propuesta que te indico es propagar ese valor en una variable en el URL como ahí ves.

Un saludo,
  #5 (permalink)  
Antiguo 17/03/2006, 13:55
 
Fecha de Ingreso: febrero-2006
Mensajes: 30
Antigüedad: 11 años, 10 meses
Puntos: 0
Pero lo q yo quiero es saber lo de mi base de datos, el origen y ciudad
  #6 (permalink)  
Antiguo 17/03/2006, 14:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por eli912
Pero lo q yo quiero es saber lo de mi base de datos, el origen y ciudad
Pues disculpa pero no entendí en que script o que parte concreta quieres obtener ese dato y el por qué no lo obtienes.

Lo que alcanzo a ver es que en para_destino.php .. tienes un formulario en modo POST donde tienes un <selec> por el cual seleccionas un "idciudad" y lo propagas en POST hacia rutas.php (que no se vé el código en los scripts que presentastes) con el nombre "destino" .. es decir en rutas.php lo tomarías por $_POST['destino']

Lo mismo pasa con el "origen" que tienes en Index.php .. tienes un formulario y usas el method "POST" no el GET .. así que donde lo recibas (es decir en ese "action" scritp que ahí apuntas) tendrá que ser $_POST por donde lo obtengas.

Realmente de esos "rutas.php" y "destionos.php" no sé como saltas a "mostrar_rutas.php" .. entre el enredo de frames y target's ya me perdí.

Pero, .. .lo dicho . .ahora no sé si "mostrar_rutas.php" es lo mismo que "rutas.php" o te faltó ese código y ahí haces algo para llegar a "mostrar_rutas.php" o como es el proceso ..


PD: igualmente tenías el error que te mencioné y los problemas de "standarización" y uso correcto de las funciones de acceso a Mysql que PHP te proporciona ya .. Vas a tener muchos problemas con eso .. modifica tu código.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 17/03/2006, 15:09
Avatar de bistoco  
Fecha de Ingreso: marzo-2006
Mensajes: 141
Antigüedad: 11 años, 9 meses
Puntos: 0
revisé too el codigo e hice ciertos cambios , aki te dejo las 3 paginas

Código PHP:
<?
include "conecta.php";
// no entiendo el porke de obtener idciudad sicon origen basta
//$sql="SELECT idciudad, origen, ciudad FROM ciudad,ruta where ruta.origen=ciudad.idciudad and ruta.activo=1 group by idciudad";
$sql="SELECT origen,ciudad FROM ciudad,ruta where ruta.origen=ciudad.idciudad and ruta.activo=1 group by origen";
$rs=mysql_query($sql);
//$n=mysql_num_rows($rs);
?>
<body bgcolor="#66CCFF" >
<P align="center"><IMG SRC="contactenos.jpg" align="middle"></P><BR>
<center>
<TABLE width=500 >
<TR bgcolor="#66CCFF">
<FORM METHOD=POST ACTION="destinos.php" target="destino" >
    <TD>Origen:
    <?
        
// no se porké esto esta dentro delselect como propiedad (value="<?echo mysql_result($rs,$k,"idciudad");?>")
    ?>
    <SELECT NAME="origen" id="origen">
    <?
        
// mientras existan filas ke listar
        
while($fila=mysql_fetch_array($rs)){
    
?> 
            <option value="<?= $fila['origen'];    ?>"><?=    $fila['ciudad']; ?></option>
    <?
        
}
        
mysql_free_result($rs);
    
?>
    </SELECT>
    <INPUT TYPE="submit" value="OK">
    </TD>
</FORM>
    <TD><iframe  name="destino" width=200 height=60 frameborder=0></iframe><TD>
<TR>
    <TD colspan=2><iframe name="ruta" width=500 height=250 frameborder=0></iframe>
    </TD>
</TR>
<TR>
    <TD colspan=2><iframe name="reserva" width=500 height=250 frameborder=0 scrolling="no"></iframe></TD>
</TR>
</TABLE>
</center>
</body>
************************************************** ***

Código PHP:
<?
include "conecta.php";
?>
<body bgcolor="#66CCFF">
<FORM METHOD=POST ACTION="rutas.php" target="ruta">
    <?
        
// tienes ke mandar ambos datos origen y destino desde esta a la pagina de rutas
        // por eso hay ke reenviar el dato origen como un hidden
    
?>
    <input type="hidden" name="origen" id="origen" value"<?= $_POST['origen']?>">
<table border="0">
<tr>
    
    <td>
        <?
            
// mostrar el origen de la ruta
            
$sql="SELECT ciudad FROM ciudad WHERE idciudad=".$_POST['origen'];
            
$fila=mysql_fetch_array(mysql_query($sql);
            echo 
$fila['ciudad'];
        
?>
    </td>    
</tr>
<tr>
    <td>
        Destino:
    </td>
    <td>
        <?
            
// le agregue una condicion para ke solo liste los destinos ke tienen como origen el seleccionado anteriormente
            
$sql="SELECT destino, ciudad FROM ciudad,ruta where ruta.origen=".$_POST['origen']." AND ruta.destino=ciudad.idciudad and ruta.activo=1 group by destino";
            
$rs=mysql_query($sql);
            
//$n=mysql_num_rows($rs);
            // no se porke esto estaba dentro del select (value="<?echo mysql_result($rs,$k,"idciudad");
?>")
        ?>
        <SELECT NAME="destino" id="destino">
        <?
            
// mientras hayan filas ke listar
            
while($fila=mysql_fetch_array($rs)){    
        
?> 
        <option value="    <?
                
echo $fila['destino'];
        
?>">
        <?
                
echo $fila['ciudad'];    
        
?></option>
        <?
            
}
        
?>
        </SELECT>
    </td>
</tr>
<tr>
    <td colspan="2">
        <INPUT TYPE="submit" value="OK">
    </td>
</tr>
    
</FORM>
</body>
************************************************** ********
Código PHP:
<?
include "conecta.php";
$origen=$_POST["origen"];
$destino=$_POST["destino"];
$sql="SELECT idruta,ciudad, destino,fecha, precio, cupos FROM ruta WHERE  ruta.destino=$destino and ruta.origen=$origen GROUP BY idruta";
$rs=mysql_query($sql);
//$n=mysql_num_rows($rs);
?>
<TABLE width=480 border=1>
<TR>
    <TD>Origen</TD>
    <TD>Destino</TD>
    <TD>Fecha</TD>
    <TD>Precio</TD>
    <TD>Disponible</TD>
    <TD></TD>
</TR>
<?
    
while($fila=mysql_fetch_array($rs)){
?>
<TR>

    <TD><?
        $sql
="SELECT ciudad FROM ciudad WHERE idciudad=".$fila["origen"];;
        
$fila_=mysql_fetch_array(mysql_query($sql);
        echo 
$fila_['ciudad'];
        
?></TD>
    <TD><?
        $sql
="SELECT ciudad FROM ciudad WHERE idciudad=".$fila["destino"];;
        
$fila_=mysql_fetch_array(mysql_query($sql);
        echo 
$fila_['ciudad'];
        
?></TD>
    <TD><?=$fila["fecha"];?></TD>
    <TD><?=$fila["precio"];?></TD>
    <TD><?=$fila["cupos"];?></TD>
     <?
        $id
=$fila["idruta"];
        
// esto no tiene mucho sentido
        // <INPUT TYPE="hidden" NAME="idruta" value="<?echo $id
?>">
    ?>
    <TD><A HREF="reserva.php?id=<?=$fila['idruta'];?>" target="reserva">Adquirir</A></TD>
</TR>
<?
    
}
    
mysql_free_result($rs);
?>
</TABLE>
************************************************** ****

ojala te funke...si hay algo ke no entiendes o no resulta, sigue posteando
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 01:42.