Programación Web y Scripting > PHP
Obtener resultados de tabla mysql a traves de PHP Y formular
RadicalEd:
--- Código: PHP ---if ($_POST['select1']!='') //Si el valor entregado por select1 es diferente a nada{ //Haga algo}else{ //Haga otra cosa}
gisela87:
Hola!! muchas gracias!! solucione el problema de esta forma:
--- Código: PHP ---<?php$servidor= "localhost";$root= "root";$contraseña= "";$db= "empresa $coneccion = mysql_connect('localhost', 'root', ' ');if (!$db)//ERROR SI NO SE CONECTA A LA BASE DE DATOS { echo "Error: No se ha podido conectar a la base de datos. Por favor, prueba de nuevo más tarde."; exit; }@ mysql_select_db("empresa");//SELECCIONA LA BASE DE DATOS A UTILIZAR?> <?php$sql = "SELECT * FROM medicos, zonas, categorias where medicos.cod_zona=zonas.cod_zona and categorias.cod_cat=medicos.cod_cat ";if ($HTTP_POST_VARS['selZona']) $sql .= " AND medicos.cod_zona = " .$_POST['selZona']; if ($HTTP_POST_VARS['selCat']) $sql .= " AND medicos.cod_cat = " .$_POST['selCat']; $sql .= " ORDER BY nombre_med ASC";$tabla = mysql_query($sql); if(mysql_num_rows($tabla)==0) {echo "No se encontraron resultados.";exit;} // imprimir resultados normalmente echo '<table width="90%" border="0" align="center" class="txt-verd-08">'; echo ' <tr>'; echo ' <td height="30" align="center"><strong>ID</strong></td>'; echo ' <td height="30" align="center"><strong>PROVINCIA</strong></td>'; echo ' <td height="30" align="center"><strong>LOCALIDAD</strong></td>'; echo ' </tr>'; while ($row = mysql_fetch_array($tabla)) {?><?php echo ' <tr>'; echo ' <td align="center">' .$row['nombre_med']. '</td>'; echo ' <td align="center">' .$row['direccion_med']. '</td>'; echo ' <td align="center">' .$row['telefono_med']. '</td>'; echo ' </tr>';?><?php} mysql_free_result($tabla);mysql_close($coneccion);?></table>
Muchas gracias por tu ayuda! :D
Saludos! :hola:
RadicalEd:
Fue un placer, espero verte pronto por acá.
anibal_j25:
/*
Lo puedes hacer en mas paginas, cons esiones de usuario u otros.
PD: No te olvides de relacionar las tablas si no de que serviria, ok espero me confirmes una respuesta soy nuevo en esto de los foros, bye
anibalj25@gmail.com
*/
<?php
$accion=false;
$cn = mysql_connect("localhost", "root", "");
$db=mysql_select_db("cartilla", $cn);
$sql= "select * from zonas order by cod_zona";
$rs = mysql_query($sql, $cn);
mysql_close();
if(isset($_REQUEST['btnEnviar'])){
$accion=true;
}
?>
<form method="post" action="conexion1.php">
<input type="submit" name="btnEnviar" ><br>
<select name="zona">
<?php
$tabla1=array();
while ($rec=mysql_fetch_array($rs)){
$tabla1[]=$rec;
}
foreach($tabla1 as $var){
echo "<option value='".$var[0]."'>".$var[1]."</option> ";
}
?>
</select>
<br>
<select name ="categoria">
<?php
$sql="select * from categorias order by cod_cat";
$rs = mysql_query($sql, $cn);
mysql_close();
while($rec=mysql_fetch_array($rs)){
echo "<option value=".$rec[0] .">".$rec[1]."</option>";
}
?>
</select>
<br><hr><br>
<?php
if ($accion=true){
$zona = $_REQUEST['zona'];
$categoria = $_REQUEST['categoria'];
$sql="select * from medicos where cod_zona = '".$zona."' and cod_cat ='".$categoria."'";
$rs = mysql_query($sql, $cn);
mysql_close();
while($rec=mysql_fetch_array($rs)){
echo $rec[0] ." - ".$rec[1]." - ".$rec[2];
}
}
?>
</form>
gisela87:
Hola!Gracias por responder.. He modificado mi base de datos y mi pagina php.. pero tengo otro problema..Tengo una base de datos con cuatro tablas. Ellas son:
ZONAS:
-cod_zona (primary key)
-desc_zona (es el nombre de la zona)
CATEGORIAS
-cod_cat(primary key)
-desc_cat(es el nombre de la categoria)
ESPECIALIDADES
cod_esp (primary key)
desc_esp (es el nombre de la especialidad)
cod_cat (index)
MEDICOS
cod_med (primary key)
nombre_med
direccion_med
telefono_med
cod_zona (index)
cod_cat (index)
cod_esp (index)
He creado una lista desplegable en la cual aparecen las zonas recogiendo los datos de la tabla zonas.
Luego hice dos listas desplegables mas que son dependientes.
La primera lista dependiente recoge los datos de la tabla categorias
La segunda lista dependiente recoge los datos de la tabla especialidades en base a lo elegido a la tabla categorias.
Lo que quiero hacer es que en base a lo elegido en las tres listas se muestren los resultados utilizando la tabla medicos y asi poder mostrar como resultado nombre_med, direccion_med,telefono_med que pertenencen a la tabla medicos.
El problema es que al probar las listas en el navegador me aparece el siguiente error:
Unknown column 'Guardias' in 'where clause' donde 'Guardias' es uno de los datos que se encuentran en la tabla especialidades y que, por lo tanto, se muestra en la lista desplegable "especialidades"..
Aca les dejo el codigo.
Esta es la pagina php llamada pagina1.php donde se encuentra el formulario con las tres listas desplegables:
<html>
<head>
<title>Documento sin título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?php
$con = mysql_connect('localhost', 'root', 'root');
mysql_select_db('empresa');
?>
<script>
function componer_Centros(cod_area)
{
//alert(cod_area);
document.miformulario.depto.length=0;
document.miformulario.depto.options[0] = new Option("-- Seleccione --","","defaultSelected","");
var indice=1;
<?
$sql_depto = "SELECT * from especialidades";
$rs_depto = mysql_query($sql_depto, $con);
if(mysql_num_rows($rs_depto)>0)
{
while($row_depto = mysql_fetch_assoc($rs_depto))
{
?>
if(cod_area=='<?=$row_depto["cod_cat"]?>')
{
document.miformulario.depto.options[indice] = new Option("<?=$row_depto["desc_esp"]?>","<?=$row_depto["desc_esp"]?>");
indice++;
}
<?
}
}
mysql_close($con);
?>
}
</script>
</head>
<body>
<p>Seleccion de un select y cambiar los valores de otro select sin tener que submitar (valido segun su uso)</p>
<form name="miformulario" method="post" action="PAGINA2.php">
<table width="249" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Zona</td>
<td>Categorias</td>
<td>Especialidad</td>
</tr>
<tr>
<tr>
<td><select name="zonas" id="zonas">
<option value="">--Seleccione--</option>
<?
$bd_host = "localhost";
$bd_usuario = "root";
$bd_password = "root";
$bd_base = "empresa";
$con = mysql_connect($bd_host, $bd_usuario, $bd_password);
mysql_select_db($bd_base, $con);
?>
<? $sql = "SELECT * from zonas";
$rs = mysql_query($sql, $con); ?>
<? if(mysql_num_rows($rs)>0)
{
while($row = mysql_fetch_assoc($rs))
{
?>
<option value="<?=$row["cod_zona"]?>"><?=$row["desc_zona"]?></option>
<?
}
}
?>
</select>
<td><select name="categorias" id="categorias" onChange="componer_Centros(this.value)">
<option value="">--Seleccione--</option>
<?
$bd_host = "localhost";
$bd_usuario = "root";
$bd_password = "root";
$bd_base = "empresa";
$con = mysql_connect($bd_host, $bd_usuario, $bd_password);
mysql_select_db($bd_base, $con);
?>
<? $sql = "SELECT * from categorias";
$rs = mysql_query($sql, $con); ?>
<? if(mysql_num_rows($rs)>0)
{
while($row = mysql_fetch_assoc($rs))
{
?>
<option value="<?=$row["cod_cat"]?>"><?=$row["desc_cat"]?></option>
<?
}
}
?>
</select></td>
<td><select name="especialidades" id="especialidades">
<option>--seleccione--</option>
</select></td>
<TD><input type="submit" name="cmdBuscar" id="cmdBuscar" value="IR"></TD>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
</form>
</body>
</html>
y esta es la pagina llamada pagina2.php a la cual llama el formulario:
<body>
<table border="1">
<tr>
<td>ID Propiedad </td>
<td>Propiedad</td>
<td>Ciudad</td>
<td>Descripción</td>
<td>Precio</td>
</tr>
<?php
$bd_host = "localhost";
$bd_usuario = "root";
$bd_password = "root";
$bd_base = "empresa";
$con = mysql_connect($bd_host, $bd_usuario, $bd_password);
mysql_select_db($bd_base, $con);
?>
<?php
$sql = "SELECT * FROM medicos, zonas, categorias, especialidades where medicos.cod_zona=zonas.cod_zona and categorias.cod_cat=medicos.cod_cat and categorias.cod_cat=especialidades.cod_cat and medicos.cod_esp=especialidades.cod_esp ";
if ($HTTP_POST_VARS['zonas'])
$sql .= " AND medicos.cod_zona = " .$_POST['zonas'];
if ($HTTP_POST_VARS['categorias'])
$sql .= " AND medicos.cod_cat = " .$_POST['categorias'];
if ($HTTP_POST_VARS['especialidades'])
$sql .= " AND medicos.cod_cat = " .$_POST['especialidades'];
$sql .= " ORDER BY nombre_med ASC";
$resultado = mysql_query($sql) or die ($Sql .mysql_error()."" );
while ($registro = mysql_fetch_array($resultado)) {
?>
<tr>
<td><?php echo $registro['cod_zona']; ?></td>
<td><?php echo $registro['desc_zona']; ?></td>
<td><?php echo $registro['nombre_med']; ?></td>
<td><?php echo $registro['direccion_med']; ?></td>
</tr>
<?php
}
mysql_free_result($resultado);
mysql_close($con);
?>
</table>
</table>
</body>
</html>
Bueno, espero que me puedan ayudar! Gracias!!!
Saludos!!!
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa