Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Referencia Cruzada

Estas en el tema de Referencia Cruzada en el foro de PHP en Foros del Web. Ante todo saludos. Antes de exponer este tema he buscado mucho en internet y no encontré nada parecido ni algo adaptable a lo que busco. ...
  #1 (permalink)  
Antiguo 13/01/2014, 12:07
 
Fecha de Ingreso: enero-2014
Mensajes: 10
Antigüedad: 10 años, 3 meses
Puntos: 0
Referencia Cruzada

Ante todo saludos.
Antes de exponer este tema he buscado mucho en internet y no encontré nada parecido ni algo adaptable a lo que busco. Mi problema es el siguiente: Estoy haciendo un reporte individualizado en pantalla para ver los horarios de los médicos de un centro asistencial. La base de datos con la que cuento tiene los registros de todos los médicos y cada registro contiene entre varios campos el día que tiene un determinado turno cada médico.
El código con el que cuento hasta el momento es el siguiente:

Código:
<?php
require_once('conexion.php');
$titulo = "GENERACION DE <span>HORARIO</span> INDIVIDUALIZADO";

$tip_hora = isset($_POST['tip_hora']) ? $_POST['tip_hora'] : null; 

switch ($tip_hora)
{
	case "Ambos":
		$sql = "SELECT * FROM adprogra WHERE pr_cser='".$ser_list."' AND pr_ncmp='".$med_list."'";
		break;
	case "H. Normal":
		$sql = "SELECT * FROM adprogra WHERE pr_cser='".$ser_list."' AND pr_ncmp='".$med_list."' AND pr_tipo='0' GROUP BY pr_cact";
		break;
	case "H. Extra":
		$sql = "SELECT * FROM adprogra WHERE pr_cser='".$ser_list."' AND pr_ncmp='".$med_list."' AND pr_tipo='1'";
		break;
}

$res = mysql_query($sql) or die(mysql_error());
?>
<div id="container">
<table border="1">
<tr>
<?php
echo "<td width=28%>";
echo "Actividad";
echo "</td>";
echo "<td width=10%>";
echo "Turno";
echo "</td>";
for ($i = 1; $i <= 31; $i++)
{
	echo "<td witdh=2%>";
   	echo $i;
	echo "</td>";
}
?>
</table>
<br/>
<table border="1">
<?php
	while ($fila = mysql_fetch_array($res))
	{
	$activi = $fila['pr_cact'];
	$rantur = $fila['pr_hini']."-".$fila['pr_hfin'];
	echo "<tr>";
		echo "<td width=28%>";
		echo $activi." (".$fila['actividad'].")";
		echo "</td>";
		echo "<td width=10%>";
		echo $rantur;
		echo "</td>";

		$dd = 1;
		$vv = $fila['dia'];
		while ($dd<=31)
		{
			echo "<td width=2%>";
			if ($dd!=$fila['dia'])
				{
				echo "";
				}
			else
				{
				echo $fila['dia'];
				}
			$dd++;
			echo "</td>";
		}
	echo "</tr>";
	}
?>
</table>
</div>
Pues bien, cuando ejecuto el código me muestra sólo el primer horario que encuentra y esto es lógico debido a la cláusula GROUP BY que uso en el SELECT, pero si le quito el GROUP BY me muestra cada una de las filas del campo "actividad". Lo que deseo es que me muestre en cada fila correspondiente a la "actividad" los respectivos días y no sólo el primer registro.
Espero haber sido específico y gracias anticipadas por sus respuestas.
  #2 (permalink)  
Antiguo 13/01/2014, 12:19
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Referencia Cruzada

PHP no es tema de MySQL.

Movido a foro de PHP para no eliminar el código de programación, como establecen las reglas del foro de BBDD.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 14/01/2014, 16:42
 
Fecha de Ingreso: enero-2014
Mensajes: 10
Antigüedad: 10 años, 3 meses
Puntos: 0
Mensaje Respuesta: Referencia Cruzada

Creo que cometí un error al insertar el código completo y sólo debí insertar el código SQL, es por eso que movieron mi post al foro de PHP y tal vez por eso nadie aún ha podido ayudarme. En realidad mi problema es la sentencia SQL más no el código PHP, por eso puse de título Referencia Cruzada ya que lo que deseo es hacer una especie de tabla con los valores de mi data.
De todas maneras si alguien pudiera ayudarme con esta duda. Gracias anticipadas.
  #4 (permalink)  
Antiguo 14/01/2014, 18:05
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Referencia Cruzada

Cita:
lo que deseo es hacer una especie de tabla con los valores de mi data.
Si lo que quieres hacer es una tabla visual, como muestra tu código, entonces está bien movido, porque eso es tema de programación...
En los foros de base de datos se tratan temas de SQL y BBDD,pero no de cómo se muestran los datos obtenidos al usuario en una web. Eso es OFF TOPIC en los foros mencionados.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 16/01/2014, 11:07
 
Fecha de Ingreso: enero-2014
Mensajes: 10
Antigüedad: 10 años, 3 meses
Puntos: 0
Mensaje Respuesta: Referencia Cruzada

Gracias de todos modos por su dedicación y respuesta, ya solucioné la consulta SQL, lástima que al ser este un foro de Programación no pueda postear la solución ya que la manera de resolverlo fue a través de modificar la sentencia SQL y no cambiando el código PHP. Gracias nuevamente.

Etiquetas: campo, mysql, null, referencia, registro, select, sql
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 06:32.