Programación Web y Scripting > PHP

 Obtener resultados de tabla mysql a traves de PHP Y formular

<< < (3/4) > >>

anibal_j25:
Si deseas practicr solo php no te compliques mucho pero si estas empezando ha realizar praticas de nivel intermedio a avanzado, te recomiendo diseñar tu base de datos por mas pequeña que sea como esta pero tiene que haver manejo de relaciones si no com extraes la data hacia tu pagina, los errores siempre van a salir si existen inoherencias....

1: A mi me vasta saber el codigo de especialidad del medico para saber ya a que categoria pertenece, ya no necesito relacionar directamente medico con categoria.
2: para manejo de informes o presentacion de tablas debes adicionar una tbala mas donde interactuen las tablas que deseas imprimir, ok.

gisela87:
Hola Anibal Muchas gracias por responder!!! He creado la base de datos como me dijiste...De la siguiente manera, no se si esta bien...

CATEGORIAS
-cod_cat (char, 5, Primary Key)
-desc_cat (varchar, 45)

ESPECIALIDADES
-cod_esp (char, 5, primary key)
-cod_cat (char, 5, index)
-desc_cat (varchar, 45)

MEDICOS
-cod_med (char, 5, primary key)
-nombre_med (varchar, 45)
-direccion_med (varhar, 45)
-telefono_med (varchar, 45)

ZONAS
cod_zona (char, 5, primary key)
desc_zona(varchar, 45)

DISPONIBILIDAD
cod_disp (int, 5, primary key)
cod_med (char, 5, index)
cod_zona (char, 5, index)


Y ahora como ejecuto las consultas sql con php?
De la forma que lo habia hecho antes...funcionaban solo dos selects.. el de zonas y el de categorias. Es decir que si al codigo le quitaba lo que esta en negrita

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['especialidad'])
$sql .= " AND medicos.cod_cat = " .$_POST['especialidad'];

fucionaba bien, es decir, no me daba ningun error y me listaba los medicos de acuerdo a las zonas y categorias pero no por especialidad obviamente...
El problema surge cuando colocaba lo que esta en negrita.. ahi si me aparacia el error Unknow column ' Guardias' in where clause, donde Guardias es uno de los registros de la tabla especialidades.


Bueno, espero tu respuesta y muchas gracias por ayudarme!!

Saludos!

shadow_rev:
Intentalo asi:

--- Código: PHP ---$sql .= " AND medicos.cod_cat = '" .$_POST['especialidad'] . "'"; 
:suerte:

gisela87:

--- Cita de: "shadow_rev" ---Intentalo asi:

--- Código: PHP ---$sql .= " AND medicos.cod_cat = '" .$_POST['especialidad'] . "'"; 
:suerte:
--- Fin de la cita ---


Hola!! haciendolo asi, al ejecutar el codigo no me duvuelve ningun error pero tampoco se muestran los resultados:(. Solamente aparece el formato de la tabla en donde van colocados los registos de la consulta.. pero los registrs no aparecen..

Gracias..
Saludos!!

shadow_rev:
Quiza sea porque no hay una especialidad que satisfaga las condiciones :rolleyes:

Intenta cambiando el "=" de la consulta por un ILIKE, y pon la especialidad entre %%:

--- Código: PHP ---$sql .= " AND medicos.cod_cat ILIKE '%" .$_POST['especialidad'] . "%'"; De esta forma, busca los cod_cat que contengan $_POST['especialidad'], sin tener en cuenta mayúsculas o minúsculas. También prueba ejecutando el SQL que estás generando directamente con el cliente del MySQL

:suerte:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa