Foros del Web » Programando para Internet » PHP »

PHP-Bases de datos

Estas en el tema de PHP-Bases de datos en el foro de PHP en Foros del Web. Tengo un problema con php y mysql Me base en un ejemplo de un foro de PHP y funciono, sin embargo cuando intente adaptarlo a ...
  #1 (permalink)  
Antiguo 04/04/2013, 19:47
 
Fecha de Ingreso: abril-2013
Ubicación: bogota
Mensajes: 9
Antigüedad: 11 años
Puntos: 0
Exclamación PHP-Bases de datos

Tengo un problema con php y mysql

Me base en un ejemplo de un foro de PHP y funciono, sin embargo cuando intente adaptarlo a mi proyecto no me funciono.

Base de datos mysql:

//hijo de origenes
CREATE TABLE destinos (

id int unsigned not null auto_increment,
idem_n2 varchar(30),
primary key(id),
id_n2 int unsigned not null);



//Armenia-Bolivariano
insert into destinos values (240,'Bogota',220);
insert into destinos values (241,'Bucaramanga',220);
insert into destinos values (242,'Cali',220);

//padre de destino hijo de sucursales

CREATE TABLE origenes(

id int unsigned not null auto_increment,
idem_n varchar(30),
primary key(id),
idem_n2 int unsigned not null);

alter table origenes change idem_n2 id_n int unsigned not null;



insert into origenes values (220,'Armenia',201);
insert into origenes values (221,'Bogota Sur',201);
insert into origenes values (222,'Bogota',201);

//hijo de trans
CREATE TABLE sucursales(

id int unsigned NOT NULL auto_increment,
idem_n varchar(30),
PRIMARY KEY (id),
id_transporte int unsigned NOT NULL);
insert into sucursales values (201,'Bolivariano',200);
insert into sucursales values (202,'La Macarena',200);

CREATE TABLE tran (
id int unsigned NOT NULL auto_increment,
idem_n varchar(25),
primary key (id));

insert into tran values (1,'Aerolineas');
insert into tran values (200,'Flotas');


* El programa en PHP:

<html>
<body>

<?php

$servidor ="localhost";
$usuario ="root";
$clave ="casandra";
$basedatos ="probandoviatik";


if (!empty($_POST['enviado'])){

// Procesar el formulario ...
echo "Procesando formulario:<br>";
echo "Recibido id_tabla_padre: ".$_POST['id_transporte']."<br>";
echo "Recibido id_tabla_hija: ".$_POST['id_sucursales']."<br>";

echo "Recibido id_tabla_padre2: ".$_POST['id_n']."<br>";
echo "Recibido id_tabla_hija2: ".$_POST['id_origenes'];

} else {

// Conexión a la BD
$conexion = mysql_connect($servidor, $usuario, $clave) or die(mysql_error());
mysql_select_db($basedatos, $conexion) or die(mysql_error());

// Obtener el $id_padre del envío a sí mismo del formulario ...
$id_padre=$_POST['id_transporte'];
$id_padre2=$_POST['id_n'];

// Inicio Formulario .. PHP_SELF enviamos a sí mismo (a este script).
echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n\n";

// Formar Selec "Padre".
echo "<select name=\"id_transporte\" onChange=\"this.form.submit()\">\n";
echo "<option value=\"\"> Seleccione un Item </option>\n";

$SQLconsulta_padre="SELECT * FROM tran";
$consulta_padre = mysql_query($SQLconsulta_padre,$conexion) or die(mysql_error());
While ($registro_padre=mysql_fetch_assoc($consulta_padre )){
// Se mira si el ID del registro es el mismo q el $id_padre q recibimos si hemos cambiado el select hijo.
// Se selecciona en consecuencia (selected) la opción elegida.
if ($id_padre == $registro_padre['id']){
echo "<option value=\"".$registro_padre['id']."\" selected>".$registro_padre['idem_sucursal']."</option>\n";
} else {
echo "<option value=\"".$registro_padre['id']."\">".$registro_padre['idem_n']."</option>\n";
}
}
echo "</select>\n\n";

mysql_free_result($consulta_padre); // Liberar memoria usada por consulta.

// Formar Select "Hijo"
echo "<select name=\"id_sucursales\">\n";
echo "<option value=\"\"> Seleccione un Item </option>\n";

// Si $id_padre no tiene valor (caso de que no se ha seleccionado ningua opción del select hijo
// se muestra el mensaje de "seleccine un item" (del select padre).
if (!empty($id_padre)){

$SQLconsulta_hija="SELECT * FROM sucursales WHERE id_transporte='$id_padre'";
$consulta_hija = mysql_query($SQLconsulta_hija,$conexion) or die(mysql_error());
// se mira el total de registros de la consulta .. si es 0 se muestra mensaje en el select ..
if (mysql_num_rows($consulta_hija) != 0){
While ($registro_hija=mysql_fetch_assoc($consulta_hija)) {
echo "<option value=\"".$registro_hija['id']."\">".$registro_hija['idem_n']."</option>\n";
}
} else {
echo "<option value=\"\"> No hay registros para este Item </option>";
}
} else {
echo "<option value=\"\"> <-- Seleccione un Item </option>";
}

mysql_free_result($consulta_hija); // Liberar memoria usada por consulta.

//2

// Formar Selec "Padre2".

echo "<select name=\"id_sucursales\" onChange=\"this.form.submit()\">\n";
echo "<option value=\"\"> Seleccione un Item </option>\n";

$SQLconsulta_padre2="SELECT * FROM sucursales";
$consulta_padre2 = mysql_query($SQLconsulta_padre2,$conexion) or die(mysql_error());
While ($registro_padre2=mysql_fetch_assoc($consulta_padr e2)){
// Se mira si el ID del registro es el mismo q el $id_padre q recibimos si hemos cambiado el select hijo.
// Se selecciona en consecuencia (selected) la opción elegida.
if ($id_padre2 == $registro_padre2['id']){
echo "<option value=\"".$registro_padre2['id']."\" selected>".$registro_padre2['idem_sucursales']."</option>\n";
} else {
echo "<option value=\"".$registro_padre2['id']."\">".$registro_padre2['idem_n']."</option>\n";
}
}
echo "</select>\n\n";

mysql_free_result($consulta_padre2); // Liberar memoria usada por consulta.

// Formar Select "Hijo2"
echo "<select name=\"id_origenes\">\n";

// Si $id_padre no tiene valor (caso de que no se ha seleccionado ningua opción del select hijo
// se muestra el mensaje de "seleccine un item" (del select padre).
if (!empty($id_padre2)){

$SQLconsulta_hija2="SELECT * FROM origenes WHERE id_n='$id_padre2'";
$consulta_hija2 = mysql_query($SQLconsulta_hija2,$conexion) or die(mysql_error());
// se mira el total de registros de la consulta .. si es 0 se muestra mensaje en el select ..
if (mysql_num_rows($consulta_hija2) != 0){
While ($registro_hija2=mysql_fetch_assoc($consulta_hija2 )){
echo "<option value=\"".$registro_hija2['id']."\">".$registro_hija2['idem_n']."</option>\n";
}
} else {
echo "<option value=\"\"> No hay registros para este Item </option>";
}
} else {
echo "<option value=\"\"> <-- Seleccione un Item </option>";
}

mysql_free_result($consulta_hija2); // Liberar memoria usada por consulta.

echo "</select>\n\n";
echo "<input type=\"submit\" name=\"enviado\" value=\" Enviar \" >\n\n";
echo "</form>\n";
}

?>

</body>
</html>

----> Se que es largo, sin embargo su ayuda seria genial.
  #2 (permalink)  
Antiguo 09/04/2013, 02:49
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: PHP-Bases de datos

Cuál es el problema?
__________________
Fere libenter homines, id quod volunt, credunt.

Etiquetas: Ninguno
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 09:13.