Hola,
Estoy haciendo un for en una base de datos relacional específico en dos tablas: medico y domicilio, lo que necesito es que al recorrer la consulta me envíe los registros que cuentan con el mismo domicilio.tipo_via, es decir quedaría así el resultado de la consulta gráficamente:
---------------------------------------
id_domicilio | tipo_via | id_medico |
---------------------------------------
.......1.........|avenida...|......1........|
......495......|calle........|......1........|
Ahora bien, al ejecutar mi código, me hace un recorrido que trae dos veces lo mismo, es decir; del tipo_via, lo trae dos veces en el resultado, así:
----------
tipo_via |
----------
avenida.|
avenida.|
----------
Al ejecutarlo con un echo"".$i;, me dice que está obteniendo 2 filas pero no son más que la misma.
Este es mi código de la consulta:
Código PHP:
$inp_med="SELECT d.id_domicilio, d.tipo_via, m.id_medico, d.id_medico FROM domicilio d, medico m WHERE d.id_medico = m.id_medico and d.id_medico = '$id_medico'";
$result = mysqli_query($con,$inp_med)or die (mysqli_error());
$row = mysqli_fetch_array($result);
$num_resul=mysqli_num_rows($result);
#foreach ($num_resul as $dmed[$i]) {
#while($i <= $num_resul){
for ($i=1; $i <= ($num_resul); ++$i){
echo "malditooincr".$i;
$inp_med1="SELECT d.id_domicilio, d.tipo_via, m.id_medico, d.id_medico, m.especialidad FROM domicilio d, medico m WHERE d.id_medico = m.id_medico and d.id_medico = '$id_medico'";
$result1 = mysqli_query($con,$inp_med1);
$row1 = mysqli_fetch_row($result1);
$dmed[$i] = $row1['1'];
echo "<br>";
echo "fila dentro while: ".$dmed[$i];
echo "otromalditooincr".$i.$dmed[$i];
}
Aclaro y muy importante, no tiene inputs en la interfaz gráfica ya que solo necesito que estas posiciones las obtenga de la consulta a la base de datos.
El código anterior funciona de la siguiente forma, primero hago una consulta para guardarla en variables de mysqli_query y mysqli_fetch_row, luego hago una segunda consulta dentro del for para oque haga el recorrido con la variable $i, es en este punto en donde está fallando ya que solo trae la primera fila dos veces.
Me pueden ayudar a corregirlo??
Espero haberme explicado bien.
Saludos.