PHP - como seleccionar registros de un usuario

 
Vista:

como seleccionar registros de un usuario

Publicado por cosmito (117 intervenciones) el 04/12/2019 14:14:57
Buen dia, tengo un formulario donde debo imprimir unos registros que tengo en la BBDD, ya el usuario accesa a su sesion, pero lo que no se es como asignar o CASAR en el codigo los registros para ese usuario. Si alguien pudiera darme una idea o me indican un enlace especifico en la web. Ya he buscado varios pero no encajan con lo que busco.
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
Imágen de perfil de Bryan Alexander
Val: 116
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

como seleccionar registros de un usuario

Publicado por Bryan Alexander (45 intervenciones) el 04/12/2019 14:22:27
Tienes ya algun codigo para esto? esta demasiado ambigua tu pregunta mi estimado, puedes elabroar más por favor.
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

como seleccionar registros de un usuario

Publicado por joel (1269 intervenciones) el 04/12/2019 15:20:13
Hola, según entiendo, de alguna manera tienen que estar relacionados, es decir, en la base de datos, tienes que tener en los registros el id del usuario para mostrarle únicamente sus registros, no los de los demás.

No se si me he sabido explicar....
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

como seleccionar registros de un usuario

Publicado por cosmito (117 intervenciones) el 04/12/2019 19:21:54
Hola Amigo, si es asi como indicas, y ya en la base de datos esta presente el id del usuario, la BBDD esta bien estructurada. A nivel de BBDD todo esta bien. El asunto es a nivel de codigo.

El usuario ya entra a su sesion, la idea es activar el enlace y que traiga los registros correspondientes a ese usuario en este codigo(formulario):



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
<?php
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
session_start();
require_once("conexion_mantenimiento.php");
$obj=new Mantenimiento();
$modulos=$obj->modulos();
$tipofichas=$obj->tipofichas();
 
if (isset($_SESSION["session_mante"]))
{
	$nom=$obj->saluda_al_usuario($_SESSION["session_mante"]);
 //   $_SESSION["session_mante"]=$reg["idusuario"];
$mantener=$obj->listar_fichas();
 
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Menu</title>
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
	<link rel="stylesheet" href="estilos.css">
	<link rel="stylesheet" href="fonts.css">
	<script src="http://code.jquery.com/jquery-latest.js"></script>
	<script src="main.js"></script>
</head>
<body>
	<header>
		<div class="menu_bar" title="Presione para Traer o Retirar el Menú">
			<a href="#menu" class="bt-menu"><span class="icon-menu"></span></a>
		</div>
		<img src="imagenes/4.jpg" WIDTH="500" height="200"/>
<!-- 			<div id="contenedor">
				<h5 id="contenedor"><span class="icon-phone"></span>Inversiones Maape - Rif</h5>
			</div> -->
	    <nav>
			 		  <h1 class="color" align="center"></h1>
			<ul>
				<li class="submenu">
					<a href="pide_mantenimiento.php"><span class="icon-home3"></span>Solicitar mis &Uacute;ltimos Mantenimientos<span class="caret icon-circle-down"></span></a>
<?php
 
                    for ($i=0;$i<sizeof($mantener);$i++)
                    {
                    ?>
                    <div id="separador_post"></div>
                        <div><?php echo $mantener[$i]["idusuario"];?></div>
                        <div ><?php echo $mantener[$i]["nombres"];?></div>
                        <div><?php echo $mantener[$i]["modulo"];?></div>
                        <div><?php echo $mantener[$i]["ficha"];?></div>
                    <?php
                    }
?>
				</li>
				<li><a href="#"><span class="icon-suitcase"></span>Cotizaciones</a></li>
 
		</nav>
	</header>
SOLICITUD PARA EL SERVICIO DE MANTENIMIENTO - SISTEMA MAAPE
   <div align="right" style="font: bolder;">
		<a href="">CERRAR SESIÓN</a>
    </div>
<div><?php echo $nom[0]["nombres"].", bienvenid@";?></div>
<div><?php echo $nom[0]["idusuario"];?></div>
 
</form>
			<footer class="footer">
			&copy; Desarrollado por Maape-DINDROM - 2019
			</footer>
</body>
 
</html>
<?php
}
else
{
	echo "
	<script type='text/javascript'>
	alert('Debe loguearse primero para acceder a este contenido');
	window.location='solicitud.php';
	</script>
	";
}
?>

este es el metodo:
1
2
3
4
5
6
7
8
9
10
11
public function listar_fichas($usuario)
	{
	    $sql="SELECT * FROM vficha WHERE idusuario=$usuario";
		$res=pg_query(Conectar::con(),$sql);
		while ($reg=pg_fetch_array($res))
		{
			$this->fichas[]=$reg;
		}
			return $this->fichas;
   	 	    $_SESSION["session_mante"]=$reg["idusuario"];
	}

Mi pregunta es: como hago para discriminar que el usuario traiga sus registros y no los de otro usuario?
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

como seleccionar registros de un usuario

Publicado por joel (1269 intervenciones) el 05/12/2019 08:25:33
Segun entiendo, ya lo hace... en tu consulta sql, solo devuelve los registros del usuario indicado...
1
$sql="SELECT * FROM vficha WHERE idusuario=$usuario";
solo te puede devolver los registros de ese usuario...

Creo que el problema que tienes, es que en la linea 13 no le pasas el usuario a la función listar_fichas()

Donde tienes guardado el id del usuario que se ha validado?
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

como seleccionar registros de un usuario

Publicado por cosmito (117 intervenciones) el 05/12/2019 13:45:57
Pero como se haria para pasar el id? y disculpa la pregunta un poco ingenua.
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

como seleccionar registros de un usuario

Publicado por joel (1269 intervenciones) el 05/12/2019 19:30:28
Eso no lo muestras...

Donde tienes guardado el id del usuario que se ha validado?
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

como seleccionar registros de un usuario

Publicado por cosmito (117 intervenciones) el 05/12/2019 20:06:59
lo coloqué en el subrayado y negrita de este codigo.



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
<?php
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
session_start();
require_once("conexion_mantenimiento.php");
$obj=new Mantenimiento();
$modulos=$obj->modulos();
$tipofichas=$obj->tipofichas();
 
if (isset($_SESSION["session_mante"]))
{
	$nom=$obj->saluda_al_usuario($_SESSION["session_mante"]);
 
        $_SESSION["session_mante"]=$reg["idusuario"];
$mantener=$obj->listar_fichas();
 
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Menu</title>
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
	<link rel="stylesheet" href="estilos.css">
	<link rel="stylesheet" href="fonts.css">
	<script src="http://code.jquery.com/jquery-latest.js"></script>
	<script src="main.js"></script>
</head>
<body>
	<header>
		<div class="menu_bar" title="Presione para Traer o Retirar el Menú">
			<a href="#menu" class="bt-menu"><span class="icon-menu"></span></a>
		</div>
		<img src="imagenes/4.jpg" WIDTH="500" height="200"/>
<!-- 			<div id="contenedor">
				<h5 id="contenedor"><span class="icon-phone"></span>Inversiones Maape - Rif</h5>
			</div> -->
	    <nav>
			 		  <h1 class="color" align="center"></h1>
			<ul>
				<li class="submenu">
					<a href="pide_mantenimiento.php"><span class="icon-home3"></span>Solicitar mis &Uacute;ltimos Mantenimientos<span class="caret icon-circle-down"></span></a>
<?php
 
                    for ($i=0;$i<sizeof($mantener);$i++)
                    {
                    ?>
                    <div id="separador_post"></div>
                        <div><?php echo $mantener[$i]["idusuario"];?></div>
                        <div ><?php echo $mantener[$i]["nombres"];?></div>
                        <div><?php echo $mantener[$i]["modulo"];?></div>
                        <div><?php echo $mantener[$i]["ficha"];?></div>
                    <?php
                    }
?>
				</li>
				<li><a href="#"><span class="icon-suitcase"></span>Cotizaciones</a></li>
 
		</nav>
	</header>
SOLICITUD PARA EL SERVICIO DE MANTENIMIENTO - SISTEMA MAAPE
   <div align="right" style="font: bolder;">
		<a href="">CERRAR SESIÓN</a>
    </div>
<div><?php echo $nom[0]["nombres"].", bienvenid@";?></div>
<div><?php echo $nom[0]["idusuario"];?></div>
 
</form>
			<footer class="footer">
			&copy; Desarrollado por Maape-DINDROM - 2019
			</footer>
</body>
 
</html>
<?php
}
else
{
	echo "
	<script type='text/javascript'>
	alert('Debe loguearse primero para acceder a este contenido');
	window.location='solicitud.php';
	</script>
	";
}
?>
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

como seleccionar registros de un usuario

Publicado por joel (1269 intervenciones) el 06/12/2019 08:55:41
Ha perfecto!! entonces tienes que pasar ese valor a la función de php

1
listar_fichas($_SESSION["session_mante"]);

Aunque luego dentro de la función, vuelves a definir la variable $_SESSION["session_mante"]... no entiendo muy bien porque lo haces...
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

como seleccionar registros de un usuario

Publicado por cosmito (117 intervenciones) el 06/12/2019 16:22:06
Ah ok. la defino dentro de otra funcion llamada SALUDA_AL_USUARIO() PARA IMPRIMIR EL nombre del usuario de esta forma:
1
$nom=$obj->saluda_al_usuario($_SESSION["session_mante"]);


Ahora bien esta linea:
1
listar_fichas($_SESSION["session_mante"]);
que me envias debo colocarla de esta forma
1
$mantener=$obj->listar_fichas($_SESSION["session_mante"]);
?

Es alli donde no se como aplicarla.
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

como seleccionar registros de un usuario

Publicado por cosmito (117 intervenciones) el 09/12/2019 00:18:38
Bueno ya resolvi el problema, le di un cambio y estoy haciendo la peticion por la cuenta de correo del usuario pero ahora el problema es que se estan imprimiendo 12 registros de la BBDD, y en realidad son 4 solamente.
Habra algo malo en FOR? ya lo he revisado muchas veces pero no veo la falla.

este el metodo:
1
2
3
4
5
6
7
8
9
10
11
public function listar_fichas($correo)
	{
    	$correo=$_POST["correo"];
	    $sql="SELECT modulo,ficha,fecha,observacion FROM vficha WHERE cta_correo='$correo' ORDER BY fecha";
		$res=pg_query(Conectar::con(),$sql);
		while ($reg=pg_fetch_array($res))
		{
			$this->fichas[]=$reg;
		}
			return $this->fichas;
  }

aqui el codigo:



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
<?php
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
session_start();
require_once("conexion_mantenimiento.php");
$obj=new Mantenimiento();
$datos=$obj->listar_fichas($correo);
?>
<!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 http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
 
<style type="text/css">
  #principal{ width:800px; height:100%; text-align: center }
  #header{ width:800px; height:100px; background-color:#365f00; color:#FFFFFF; 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}
</style>
</head>
<body>
<form action="pide_mantenimiento.php" method='get'>
	  <tr>
		<td align='right' style="font:bold">Escriba su Correo:</td>
<td><input type="mail"  name="correo" required size="20" maxlength="20" align="right" title="Escriba su Correo"/></td>
	  </tr>
	  <tr>
 
<table>
   <tr>
    <td>
 <div id="content">
  <div id="contenedor">
        <div id="main">
          <table align="center" width="800">
          <tr>
          <td valign="top" align="center" width="500" colspan="4">
          <h3>Resultados de su b&uacute;squeda</h3>
          </td>
          </tr>
 
          <tr style="background-color:#666666; color:#FFFFFF; font-weight:bold">
          <td valign="top" align="center" width="300" bgcolor="365f00">
          Modulo
          </td>
          <td valign="top" align="center" width="300" bgcolor="365f00">
          Ficha
          </td>
          <td valign="top" align="center" width="300" bgcolor="365f00">
          Fecha
          </td>
          <td valign="top" align="center" width="300" bgcolor="365f00">
          Observacion
          </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 style="background-color:#f0f0f0">
                        <td valign="top" align="center" width="100" bgcolor="595f00">
                        <?php echo $datos[$i]["modulo"];?>
                        </td>
                        <td valign="top" align="center" width="100" bgcolor="595f00">
                        <?php echo $datos[$i]["ficha"];?>
                        </td>
                        <td valign="top" align="center" width="100" bgcolor="595f00">
                        <?php echo $datos[$i]["fecha"];?>
                        </td>
                        <td valign="top" align="center" width="100" bgcolor="595f00">
                        <?php echo $datos[$i]["observacion"];?>
                        </td>
                        </tr>
                        <?php
                    }
          }
          ?>
          <tr>
          <td valign="top" align="center" width="500" colspan="4">
          <hr>
          <!--*************************************-->
          <?php
          ?>
          <!--*************************************-->
          </td>
          </tr>
 
          </table>
       </div>
    </div>
</div>
         <input class="color1" type="submit" name="action" align="left" value="Enviar"/>
    </td>
    </tr>
</table>
 
</form>
 
</body>
</html>
<?php
//}
 
?>
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

como seleccionar registros de un usuario

Publicado por joel (1269 intervenciones) el 09/12/2019 07:50:39
Que es la variable $this->fichas?? en que momento se inicializa la variable?
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

como seleccionar registros de un usuario

Publicado por cosmito (117 intervenciones) el 09/12/2019 13:54:46
Bueno disculpa que no te haya enviado el codigo de la clase donde esta el metodo, esta es la clase: alli tengo varios metodos y en negrita esta la variable identificada con negrita y tanbien el metodo que estoy utilizando para el codigo del formulario donde estoy impriemiendo los registros; y como comenté es una locura lo de esos registros ya que son 4 registros y esta trplicandolos en la impresion.

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
<?php
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
session_start();
class Conectar
{
	public static function con()
	{
       $conexion = "host=localhost port=5432 dbname=mantenimiento user=postgres password=RET_jru5";
       $connect = pg_connect($conexion);
	   return $connect;
	}
}
class Mantenimiento
{
	private $modulos=array();
	private $tipofichas=array();
	private $nombre=array();
	private $idusuario=array();
	private $fichas=array();
	private $buscarmante=array();
	public function validar()
	{
		$username=$_POST["correo"];
		$pass=$_POST["pass"];
 
		$sql="select * from usuario where cta_correo='$username' and usuario_pass='$pass'";
	       $res=pg_query(Conectar::con(),$sql);
	       if (pg_num_rows($res)==0)
	       {
			echo "<script type='text/javascript'>
			alert('La cuenta de Correo o la Contraseña no son Correctos o no Existen. Debe Registrarse.');
			window.location='nuevo.php';
			</script>";
	       }
	       else
	       {
	       	if ($reg=pg_fetch_array($res))
	       	 {
	       	 	    $_SESSION["session_mante"]=$reg["idusuario"];
	       	 	    $usuario = $reg["idusuario"];
					echo "<script type='text/javascript'>
					alert('BIENVENIDO AL PROGRAMA DE MANTENIMIENTO MAAPE');
					window.location='fichaactual.php';
					</script> ";
			//	$_SESSION["session_video_14"]=$reg["id_usuario"];
//				header("Location: fichaactual.php");
 
			 }
		   }
	}
 
 
	public function listar_fichas($correo)
	{
    	$correo=$_POST["correo"];
	    $sql="SELECT modulo,ficha,fecha,observacion FROM vficha WHERE cta_correo='$correo' ORDER BY fecha";
		$res=pg_query(Conectar::con(),$sql);
		while ($reg=pg_fetch_array($res))
		{
			$this->fichas[]=$reg;
		}
			return $this->fichas;
//   	 	    $_SESSION["session_mante"]=$reg["idusuario"];
	}
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

como seleccionar registros de un usuario

Publicado por cosmito (117 intervenciones) el 11/12/2019 18:16:03
Hola amigos desarrolladores, ya resolvi la IMPRESION DE LOS 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