PHP - ayuda con registros

 
Vista:
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por zendi (1056 intervenciones) el 07/07/2020 19:25:14
Tengo un problema con unos registros que debo traer a un formulario:

Tengo la tabla Modulos

y en ella tengo los registros:

Electricidad
Mantenimiento
Plomeria
Vida y salud
.

Y la tabla: Ficha
idficha
idmodulo
descripcion

Esta tabla està conectada con esta otra Ficha la cual crea los registros en base a Modulos.
ya tengo los registros creados.
El asunto es como desde un combo del formulario puedo traer o imprimir en el formulario los registros dependientes de la tabla ficha?
Si alguien puede ayudarme con alguna idea. Por favor.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por zendi (1056 intervenciones) el 09/07/2020 00:09:33
Bueno aqui tengo los codigos con los cuales intento traer los registros desde un combo.

este es el metodo:
1
2
3
4
5
6
7
8
9
10
11
12
public function seguimiento_modulo($modulo)
	{
    	$modulo=$_POST["modulo"];
	    $sql="SELECT nombres,telefonos,direccion,modulo FROM vficha WHERE modulo = '$modulo'";
		$res=pg_query(Conectar::con(),$sql);
		while ($reg=pg_fetch_array($res))
		{
			$this->fichamodulo[]=$reg;
		}
			return $this->fichamodulo;
 
	}

y este es el codigo del formulario con el combo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
<?php
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
session_start();
require_once("conexion_mantenimiento.php");
$obj=new Mantenimiento();
$modulos=$obj->modulos();
$datos=$obj->seguimiento_modulo($modulo);
  $nom=$obj->saluda_al_usuario($_SESSION["session_mante"]);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="estilos.css">
  <link rel="stylesheet" href="fonts.css">
<title></title>
<style type="text/css">
  #principal{ width:800px; height:100%; text-align: center }
  #header{ width:800px; height:100px; background-color:#ff0000; color:#FFF; text-align: center}
  #menu{ width:800px; height:25px; float:left; text-align: center}
  .boton{ width:100px; height:25px; float:left; background-color:#FF0000; color:#FFFFFF}
  .buscador{ width:300px; height:25px; float:left}
  #main{ width:800px; height:100%; text-align: center}
  .ajustar{text-align: justify}
  .color{color: white}
</style>
</head>
<body>
<form action="seguimiento_modulo.php" method='post'>
	  <tr>
		<td align='right' style="font:bold">Seleccione el Modulo:</td>
        <input type="hidden" name="ficha" value="<?php echo $nom[0]["ficha"];?>"/>
 
 
   <div class="form-group">
      <select required name='modulo'><option value="0">[Seleccione el Módulo o Tipo de Servicio]</option>
            <?php
                 for ($i=0;$i<sizeof($modulos);$i++)
                   {
                    $idmodulo=$modulos[$i]['idmodulo'];
                    $descrip=$modulos[$i]['descripcion'];
                    echo "<OPTION VALUE='$idmodulo'>$descrip</OPTION>";
                 }
            ?>
      </select></div>
   <tr>
      <td><input TYPE="submit" NAME="modulo" VALUE="Buscar">
   </TD>
   </tr>
</form>
<?php
    if ($_POST['modulo'] && $_POST['buscar'])
    {
 
    }
 
 
?>
	  <tr>
      <table class="form">
      <tr>
<!--     <td> -->
<div id="content">
  <div id="contenedor">
        <div id="main">
          <table width="800">
          <tr>
          <td valign="top" align="center" width="500" colspan="4">
          <h3>Resultados de su b&uacute;squeda</h3>
          </td>
          </tr>
          <?php echo "<STRONG>Al d&iacute;a de hoy</STRONG>" ." ". date('d-m-Y');
          echo "<br>";
          echo "<STRONG>Tiene:</STRONG>";
           ?>
          <tr style="background-color:#666666; color:#FFFFFF; font-weight:bold">
          <td valign="top" align="center" width="300" bgcolor="ff0000">
          M&oacute;dulo
          </td>
          <td valign="top" align="center" width="300" bgcolor="ff0000">
          Ficha
          </td>
          <td valign="top" align="center" width="300" bgcolor="ff0000">
          Fecha del Primer Mantenimiento
          </td>
          <td valign="top" align="center" width="300" bgcolor="ff0000">
          Meses(al D&iacute;a de hoy)
          </td>
          <td valign="top" align="center" width="300" bgcolor="ff0000">
          D&iacute;as(al D&iacute;a de hoy)
          </td>
          <td valign="top" align="center" width="300" bgcolor="ff0000">
          Tipo de Mantenimiento
          </td>
          </tr>
          <?php
                    if (isset($_GET["pos"]))
                      {
                        $correo=$_GET["pos"];
                      }
                      else
                      {
                        $correo=0;
                      }
                   //   $datos=$obj->listar_fichas($correo);
                        if(count($datos)==0)
                        {
                          ?>
                          <tr>
                          <td valign="top" align="center" width="500" colspan="3" style="background-color:#f0f0f0">
                          No hay registros para ese criterio de b&uacute;squeda
                          </td>
                          </tr>
                          <?php
                        }else
                        {
                              $impresos=0;
                         //     $datos=$obj->listar_fichas($correo);
 
                                  for ($i=0;$i<count($datos);$i++)
                                  {
              //                    $impresos++;
                                  ?>
                                      <tr>
                                      <td class="color" valign="top" align="center" width="50" bgcolor="023859">
                                      <?php echo $datos[$i]["direccion"];?>
                                      </td>
                                      <td class="color" valign="top" align="center" width="100" bgcolor="023859">
                                      <?php echo $datos[$i]["nombres"];?>
                                      </td>
                                      <td class="color" valign="top" align="center" width="100" bgcolor="023859">
                                      <?php echo $datos[$i]["telefonos"];?>
                                      </td>
                                <?php
                                      $inicio= $datos[$i]["fecha"];
                                      $hoy=date('d-m-Y');
 
                                      $datetime1=new DateTime($inicio);
                                      $datetime2=new DateTime($hoy);
 
                                      # obtenemos la diferencia entre las dos fechas
                                      $interval=$datetime2->diff($datetime1);
                                      $intervalDias=$interval->format("%d");
 
                                      # obtenemos la diferencia en meses
                                      $intervalMeses=$interval->format("%m");
                                      # obtenemos la diferencia en años y la multiplicamos por 12 para tener los meses
                                      $intervalAnos = $interval->format("%y")*12;
 
                                //      echo "hay una diferencia de ".($intervalMeses+$intervalAnos)." meses";
                                ?>
                                      <td class="color" valign="top" align="center" width="100" bgcolor="023859">
                                      <?php echo $intervalMeses;?>
                                      </td>
                                      <td class="color" valign="top" align="center" width="100" bgcolor="023859">
                                      <?php echo $intervalDias;?>
                                      </td>
                                      <td class="color" valign="top" align="center" width="100" bgcolor="023859">
                                      <?php echo $datos[$i]["descripcion"];?>
                                      </td>
                                      </tr>
 
                                      <?php
                                      echo "<br>";
                                      echo ($intervalMeses) ." "."Meses"." ". $intervalDias ." ". "D&iacute;as";
                                  }
                        echo "<br>";
                        echo "Respectivamente para cada FICHA";
                        }
          ?>
          <tr>
          <td valign="top" align="center" width="500" colspan="6">
          <hr>
          <!--*************************************-->
          <!--*************************************-->
          </td>
          </tr>
          </table>
       </div>
    </div>
</div>
<!--          <input class="color1" type="submit" name="action" align="left" value="Enviar"/>
     </td>-->
    </tr>
</table>
 
 
</body>
</html>
<?php
//}
 
?>


el asunto es: còmo puedo solucionar este problema? Traer los registros de los modulos las tablas en la bbdd estan bien conectadas
Esta es la tabla de ficha:
1
2
3
4
5
6
7
8
9
CREATE TABLE ficha (
    idficha integer NOT NULL,
    idtipoficha integer,
    idusuario integer,
    idmodulo integer,
    fecha date,
    observacion text,
    id_mantenimiento integer
);

1
2
3
4
5
CREATE TABLE modulo (
    idmodulo integer NOT NULL,
    idtipomodulo integer,
    descripcion character varying
);

si pueden darme una sugerencia. Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por Kathyu (905 intervenciones) el 09/07/2020 12:01:15
Es feo que no le respondan a uno, pero yo no entiendo que quiere hacer, explíquemelo con dibujos y listo.

Yo siempre pido explicar el problema sin tecnicismos ni cosas complicadas, lo mas fácil posible, ya después lo complicaremos nosotros hahaha
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

ayuda con registros

Publicado por zendi (117 intervenciones) el 09/07/2020 15:56:33
Bueno su manera de ser es la que es fea, porque veo que es muy bonita de cara. Siempre tiene que responder de esa manera!!!! Esto es un foro para ayudar, y no utilizar la soberbia, ni la presuncion. No se como la dejan entrar.


La idea es con un combo, traer los registros de la tabla ficha que esta conectada con la tabla modulos.

La relacion con ambas tablas es de uno a muchos.


Y me disculpan mi respuesta, pero no me siento bien recibido. La web del porgramador es un sitio serio y de mucho valor!!! por aqui he recibido muchas ayudas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-2
Comentar
Imágen de perfil de italo_pm
Val: 920
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por italo_pm (193 intervenciones) el 21/07/2020 10:34:23
hola, primero que nada no hay nada ofensivo en la respuesta de @Kathyu, es mas te da una alternativa para que te expliques mejor.

Si dices que ya has recibido ayuda en esta web, esta de mas decirte que tienes que utlizar la funciona de buscar en el foro, hay cientos de temas como este (select anidadas, select padre-hijos) .

No puedes pretender que uno entienda lo que tratas de explicar con codigo, debes exponer tu problema, la mejor sugerencia ya te la dio @Kathyu, representa graficamente lo que deseas obtener, es mas, te hibiera dicho que empieces con el ABC que seria hacer tu diagrama de flujo, luego el diagrama E/R y luego la definicion de tu base de datos, probar las select y solo luego pensar el el codigo.... y no al reves.

Tu problema evidentemente esta en la relacion de tus tablas, a ese punto lo mejor era que escribieras como estan difinidas, con sus respectivas foreing key etc etc etc etc....

el codigo php es luego que tus selects funcionen y sobre todo que hayas entendido la logica ya que asi no escribiras codigo sin sentido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por zendi (1056 intervenciones) el 13/07/2020 22:40:14
Pregunto; ese -1 significa que no merezco mas ayudas por aqui?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por joel (1269 intervenciones) el 13/07/2020 23:42:21
Hola Zendi, ese -1 puede querer decir muchas cosas, dependiendo de la persona que lo voto...

Yo entiendo que ese mensaje no es útil para quien este buscando solucionar una duda similar a la tuya...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por Kathyu (905 intervenciones) el 14/07/2020 10:39:39
Yo diría que ese -1 es por lo ridícula que fue su respuesta hacia mi.

Nadie le respondió al inicio, luego pone su código haciendo bump en su tema, vengo yo de maje (palabra que significa mucho en mi país, pero no es obsena) y le digo que es feo que no le respondan a uno cuando tiene una dificultad (me ha pasado), y le pido que me explique sin tecnicismos y con dibujos para brindarle mi tiempo (que no es ilimitado sabe? yo trabajo) y sale usted con esa ESTÚPIDA respuesta.

Y mínimo comenzaran algunos resentidos a puntuar mal mi respuesta, pero considero que soy de las personas que mas ayudo y aporto a toda LWP, y que tengo un carácter medio impaciente? Si, es algo que aun debo mejorar, ya la edad me esta cambiando pero por el momento estamos bien así
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lopez
Val: 395
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por Lopez (128 intervenciones) el 14/07/2020 00:37:33
hola Zendi,
Por lo que entiendo no hay errores solo no sabes como empezar.
Lo primero es la consulta. aquí es importante, pues al tener dos tablas lo optimo es usar join.
También puedes hacerlo de la vieja forma de esta manera:

1
SELECT idficha, idmodulo, idtipoficha FROM modulo, ficha WHERE modulo.idmodulo = idmodulo

Ten en cuenta no está testeado y es solo una referencia, pero seguro te pone en buena camino.
Si necesitas mas ayuda, cuéntanos.

Te dejo un link que te puede interesar
https://www.baulphp.com/inner-join-mysql-ejemplos-completos/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por zendi (1056 intervenciones) el 14/07/2020 17:14:12
Gracias Joel y gracias Lopez por su ayuda. Es triste pero no debiera estar pasando esto.
Seguire pidiendo ayuda y pronto les envio el codigo que estoy empezando a hacer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por zendi (1056 intervenciones) el 16/07/2020 18:26:48
Hola Lopez, bueno estuve analizando tu codigo y lo aplique a mi SELECT,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public function tipo_modulo($idtipomodulo)
{
	$sql="SELECT ficha.idficha, ficha.idusuario, usuario.nombres, usuario.telefonos,
                 usuario.direccion, usuario.cta_correo, modulo.idtipomodulo,
                 modulo.descripcion AS modulo, tipoficha.descripcion AS ficha, ficha.fecha,
                 ficha.observacion
            FROM usuario, modulo, ficha, tipoficha
           WHERE  ficha.idmodulo = modulo.idtipomodulo";
		$res=pg_query(Conectar::con(),$sql);
		while ($reg=pg_fetch_array($res))
		{
			$this->tipomodulo[]=$reg;
		}
			return $this->tipomodulo;
}


Tambien siguiendo la sugerencia de Kathyu adjunte una imagen o dibujo de como es la solicitud para seleccionar un registro en el select dinamico (modulo.rar).

el formulario que he hecho es este:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
session_start();
require_once("conexion_mantenimiento.php");
$obj=new Mantenimiento();
$modulos=$obj->tipo_modulo();
 
$tipom=$obj->tipo_modulo($idtipomodulo)
 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="estilos.css">
  <link rel="stylesheet" href="fonts.css">
  <script src="js/funcionmodulo.js"></script>
<title></title>
<style type="text/css">
  #principal{ width:800px; height:100%; text-align: center }
  #header{ width:800px; height:100px; background-color:#ff0000; color:#FFF; text-align: center}
  #menu{ width:800px; height:25px; float:left; text-align: center}
  .boton{ width:100px; height:25px; float:left; background-color:#FF0000; color:#FFFFFF}
  .buscador{ width:300px; height:25px; float:left}
  #main{ width:800px; height:100%; text-align: center}
  .ajustar{text-align: justify}
  .color{color: white}
</style>
</head>
<body>
<form name="form">
    Seleccione el Tipo de Modulo
     <select name="idmodulo" onchange="mostrarModulo('<?php echo $_GET["idtipomodulo"];?>'">
        <option value="0">Seleccione</option>
            <?php
            $modulos=$obj->tipo_modulo();
                 for ($i=0;$i<sizeof($modulos);$i++)
                   {
                    $idmodulo=$modulos[$i]['idmodulo'];
                    $descrip=$modulos[$i]['descripcion'];
                    echo "<OPTION VALUE='$idmodulo'>$descrip</OPTION>";
 
                      if (isset($_GET["idtipomodulo"])) and $_GET["idtipomodulo"]==$tipomod[$idmodulo]["idtipomodulo"])
                          {
                            ?>
                            <option value="<?php echo $modulos[$i]["descripcion"];?>"> </option>
                          }
 
 
                 }
            ?>
     </select>
</form>
 
</body>
</html>
<?php
//}
?>

y este es el javascript:
1
2
3
4
5
6
7
8
function mostrarModulo(idtipomodulo)
{
	if (idtipomodulo != 0)
	{
		window.location="modulo.php.idtipomodulo"
	}
 
}
El asunto es que no se como ubicar el codigo en el formulario. Si puedes darme una guia te agradezco.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lopez
Val: 395
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por Lopez (128 intervenciones) el 16/07/2020 19:18:24
Hola Zendi,
Todo parece ir bien.
Solo unas consideraciones linea 47 el formulario, debes añadir el tag PHP:
1
<?php }

En la 46:

1
<option value="<?php echo $modulos[$i]["descripcion"];?>"> </option>
Debiera ser algo asi con tal de guardar el id (atributo value en el option select):
1
<option value="<?php echo $modulos[$i]["idmodulo"];?>"><?php echo $modulos[$i]["descripcion"];?></option>

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por zendi (1056 intervenciones) el 17/07/2020 17:00:27
Hola Lopez en vez de esta linea:

1
option value="<?php echo $modulos[$i]["descripcion"];?>"> </option>
Debiera ser algo asi con tal de guardar el id (atributo value en el option select):

iria esta?

1
<option value="<?php echo $modulos[$i]["idmodulo"];?>"><?php echo $modulos[$i]["descripcion"];?></option>

Seguire escribiendo el codigo mio y te aviso; esperando tus sugerencia. Tengo que aprender a hacer esto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lopez
Val: 395
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por Lopez (128 intervenciones) el 17/07/2020 17:44:28
Hola Zendi,
Sip.Ten en cuenta, para este caso lo que guardaras en la BD será el id, no la descripción,
lo cual es lo mas recomendado.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por zendi (1056 intervenciones) el 17/07/2020 17:53:59
De acuerdo, gracias. La idea que persigo es traer regsitros asociados de otra tabla con el select dinamico.

De la tabla Ficha desde la tabla modulo.

ya tengo este select:
1
select * from modulo a INNER JOIN ficha b on b.idmodulo = a.idtipomodulo;


Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lopez
Val: 395
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por Lopez (128 intervenciones) el 17/07/2020 18:38:47
Zendi,
Pienso, quizás lo que en realidad necesitas es el uso de Javascript, en forma de combos dependientes.
Te recomiendo le des un vistazo a estos enlaces y consideres si se ajusta mejor.
En ellos encontraras un código fuente claro y limpio.
https://www.lawebdelprogramador.com/temas/buscar.php?opc=1&charSearch=dependientes
y
https://www.lawebdelprogramador.com/codigo/buscar.php?opc=1&charSearch=dependientes

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por zendi (1056 intervenciones) el 18/07/2020 21:02:35
Hola Lopez, bueno estuve analizando estos codigos; solo tiene select dependientes, en mi caso solo tengo un select con el cual debo traer solamente unos regsitros.
En este caso solicitó el modulo de Electricidad. Y debe traer los registros concernientes a la Electricidad.


Algo asi:
impresionregistros
claro yo valoro tu ayuda, pero yo seguire trabajando en ello, a cualquier duda pedire ayuda al foro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por zendi (1056 intervenciones) el 18/07/2020 23:33:16
Hola Lopez; he hecho este codigo: DISCULPA LA MOLESTIA. TE ADJUNTO LAS DOS TABLAS A VER SI PUEDES AYUDARME
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
session_start();
require_once("conexion_mantenimiento.php");
$obj=new Mantenimiento();
 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="estilos.css">
  <link rel="stylesheet" href="fonts.css">
  <script type="text/javascript" src="js/funcionmodulo.js"></script>
<title></title>
<style type="text/css">
  #principal{ width:800px; height:100%; text-align: center }
  #header{ width:800px; height:100px; background-color:#ff0000; color:#FFF; text-align: center}
  #menu{ width:800px; height:25px; float:left; text-align: center}
  .boton{ width:100px; height:25px; float:left; background-color:#FF0000; color:#FFFFFF}
  .buscador{ width:300px; height:25px; float:left}
  #main{ width:800px; height:100%; text-align: center}
  .ajustar{text-align: justify}
  .color{color: white}
</style>
</head>
<body>
<form name="form">
    Seleccione el Modulo
      <select name="idmodulo" onchange="mostrarModulo('<?php echo $_GET["idmodulo"];?>'),this.value">
          <option value="0">Seleccione </option>
          <?php
            $modulos=$obj->modulos();
            echo $modulos;
            for($i=0;$i<sizeof($modulos);$i++)
            {
              if(isset($_GET["idmodulo"]) and $_GET["idmodulo"] == $modulos[$i]["idmodulo"])
              {
              ?>
              <option value="<?php echo $modulos[$i]["idmodulo"];?>" title="<?php echo $modulos[$i]["descripcion"];?>"
              selected="selected"  <?php echo $modulos[$i]["descripcion"];?>
              </option>
              <?php
              }else
              {
              ?>
              <option value="<?php echo $modulos[$i]["idmodulo"];?>" title="<?php echo $modulos[$i]["descripcion"];?>">
                <?php echo $modulos[$i]["descripcion"];?>
              </option>
              <?php
              }
            }
          ?>
      </select>
  <?php
  if(isset($_GET["idtipomodulo"]))
  {
    ?>
     <h3>Registros de la Ficha: </h3>
     <table>
      <?php
      $ficha=$obj->get_ficha($_GET["idtipomodulo"]);
      ?>
       <tr>
         <td>
           AQUI IMPRIMIRIA LOS REGISTROS DE LA FICHA ASOCIADA A MODULOS
         </td>
       </tr>
     </table>
 
    <?php
  }
  ?>
 
</form>
 
</body>
</html>

ESTE ES EL METODO:
1
2
3
4
5
6
7
8
9
10
11
public function get_ficha()
{
   $sql="select modulo.*,ficha.*  from modulo,ficha where modulo.idtipomodulo = ficha.idmodulo";
   		$res=pg_query(Conectar::con(),$sql);
		while ($reg=pg_fetch_array($res))
		{
			$this->gettipoficha[]=$reg;
		}
			return $this->gettipoficha;
 
}


pero no esta trayendo los registros, tengo el problema con esta funcion para el onchange

1
2
3
4
5
6
7
8
9
function mostrarModulo(idtipomodulo)
{
	if (idtipomodulo != 0)
	{
		alert("hola");
		 window.location="modulos.php?idmodulo="+idmodulo+"";
	}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda con registros

Publicado por zendi (117 intervenciones) el 19/07/2020 22:28:29
Buenas a todos, pudieran ayudarme o darme una sugerencia.

Ya reparé los registros repetidos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda con registros

Publicado por zendi (117 intervenciones) el 19/07/2020 22:53:21
Explicame algo Lopez; le falta algo a este codigo?

1
2
3
4
5
6
7
8
9
function mostrarModulo(idtipomodulo)
{
	if (idtipomodulo != 0)
	{
		alert("hola");
		 window.location="modulos.php?idmodulo="+idmodulo+"";
	}
 
}
este codigo es el que llamo en el onchange del formulario pero no esta funcionando, la verdad no se que ocurre. Lo he probado de varias maneras y nada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por zendi (1056 intervenciones) el 17/07/2020 18:36:56
Empecè desde cero con este codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<form name="form">
    Seleccione el Modulo
      <select name="idmodulo">
          <option value="0">Seleccione </option>
          <?php
 
            $modulos=$obj->modulos();
            for($i=0;$i<sizeof($modulos);$i++)
            {
              ?>
              <option value="<?php echo $modulos[$i]["idmodulo"];?>"
                             <?php echo $modulos[$i]["descripcion"];?>
              </option>
              <?php
            }
          ?>
      </select>
 
 
</form>
ya trae los registros pero esta los repite; son 4 solamente,

pero imprime esto:

Limpieza General
Mantenimiento General
Electricidad
Plomeria
Limpieza General
Mantenimiento General
Electricidad
Plomeria

Esta es la tabla modulo:

1
2
3
4
idmodulo integer NOT NULL,
  idtipomodulo integer,
  descripcion character varying,
  CONSTRAINT modulo_pkey PRIMARY KEY (idmodulo)
y esta es Ficha
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
idficha serial NOT NULL, -- Identificacion de la Ficha
  idtipoficha integer, -- Identifica el tipo de ficha
  idusuario integer, -- Identifica el usuario
  idmodulo integer, -- Identifica el modulo
  fecha date, -- Identifica la fecha de la ficha
  observacion text, -- Identifica la observacion
  id_mantenimiento integer,
  CONSTRAINT ficha_pkey PRIMARY KEY (idficha),
  CONSTRAINT ficha_id_mantenimiento_fkey FOREIGN KEY (id_mantenimiento)
      REFERENCES tipo_mantenimiento (id_mantenimiento) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT ficha_idmodulo_fkey FOREIGN KEY (idmodulo)
      REFERENCES modulo (idmodulo) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT ficha_idtipoficha_fkey FOREIGN KEY (idtipoficha)
      REFERENCES tipoficha (idtipoficha) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT ficha_idusuario_fkey FOREIGN KEY (idusuario)
      REFERENCES usuario (idusuario) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT ficha_idficha_key UNIQUE (idficha)
)

hay algo que no va bien en el codigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por Yamil (888 intervenciones) el 19/07/2020 23:54:43
Ejecuta tu consulta en PHPMyAdmi, por ejemplo.
LO mas probable es que la combinacion que estas haciendo entre ficha y modulo este trayendo una combinacion de registros
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por zendi (1056 intervenciones) el 20/07/2020 23:16:41
Hola Yamil, gracias por tu ayuda y tu tiempo.

esta es la consulta:

1
select modulo.*,ficha.*  from modulo,ficha where modulo.idtipomodulo = ficha.idmodulo

pero todo esta bien; este es el resultado:

consulta-sql
el asunto ahora es que tengo el problema con el onchange del formulario

1
<select name="idmodulo" onchange="mostrarModulo('<?php echo $_GET["idmodulo"];?>'),this.value">
aqui esta el problema que no hace el cambio en el formulario.
este es el codigo jquery:
1
2
3
4
5
6
7
8
9
function mostrarModulo(idtipomodulo)
{
	if (idtipomodulo != 0)
	{
		alert("hola");
		 window.location="modulos.php?idmodulo="+idmodulo+"";
	}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de italo_pm
Val: 920
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por italo_pm (193 intervenciones) el 21/07/2020 10:59:01
hola

el hecho que te haga ver a pantalla records no quiere decir nada....

habra que ver como estan definidas las otras tablas, parecen solomanete que coinciden con los numeros pero solo eso....

1
2
3
CONSTRAINT ficha_idmodulo_fkey FOREIGN KEY (idmodulo)
      REFERENCES modulo (idmodulo) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,

y tu select:

1
select modulo.*,ficha.*  from modulo,ficha where modulo.idtipomodulo = ficha.idmodulo

idtipomodulo o idmodulo??


a modo de practica para que entiendas mejor las selects anidadas no puedes hacer como todo el mundo: pais, provincia, ciudad, distrito??

para el js le falta ajax....

salud2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de italo_pm
Val: 920
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por italo_pm (193 intervenciones) el 21/07/2020 11:33:27
Hola, en el siguiente enlace encontras lo que necesitas, desde las tablas hasta el codigo, es con el ejemplo de provincia, distrito, corregimiento

es para que entiendas las selects anidadas

https://www.lawebdelprogramador.com/foros/PHP/1683904-Editar-valor-id-de-una-BD-atraves-de-un-combobox-dependientes-de-3-niveles-con-jquery.html#i1689417

leelo y trata de entenderlo y adaptarlo a tus necesidas.

obviamente abre un nuevo tema si es que cambias el ejemplo o adapta a este hilo si lo adaptas a tus datos de aqui.

salud2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda con registros

Publicado por zendi (1056 intervenciones) el 22/07/2020 17:21:23
Hola, estuve mirando y analizando tus codigos, de todos modos seguire tu ayuda; en este mismo POST subi un dibujo con el select dinamico. Pero subire otro ejemplo. Por supuesto comprendo lo que me quieres decir con respecto a los selects dependientes.

bueno esta es la tabla FICHA

1
2
3
4
5
6
7
8
9
CREATE TABLE ficha (
    idficha integer NOT NULL,
    idtipoficha integer,
    idusuario integer,
    idmodulo integer,
    fecha date,
    observacion text,
    id_mantenimiento integer
);


y esta es la tabla MODULO
1
2
3
4
5
CREATE TABLE modulo (
    idmodulo integer NOT NULL,
    idtipomodulo integer,
    descripcion character varying
);


y la relacion es modulo.idtipomodulo apuntando a ficha. idmodulo. Y ya en la BBDD estan relacionadas ambas tablas ahi no hay problema.

Sencillamente lo que quise decir es como poder traer los registros que estan en la tabla FICHA usando el select dinamico en el cual estan los modulos, los cuales que estan enparentados con los registros de FICHA.

este es el dibujo donde aparece el select dinamico pero por supuesto no tiene que ser asi necesariamente, es solo un ejemplo donde muestro la idea.

DIBUJO-SELECT-DINAMICO-PARA-REGISTROS

SALUDOS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar