Foros del Web » Programando para Internet » PHP »

duda con mostrar datos php

Estas en el tema de duda con mostrar datos php en el foro de PHP en Foros del Web. hola amigos tengo una base de datos asi: lo que busco es guardar y mostrar datos propios a cada usuario, aqui les dejo mi codigo ...
  #1 (permalink)  
Antiguo 12/02/2015, 09:28
 
Fecha de Ingreso: febrero-2015
Mensajes: 9
Antigüedad: 9 años, 2 meses
Puntos: 0
Pregunta duda con mostrar datos php

hola amigos tengo una base de datos asi:



lo que busco es guardar y mostrar datos propios a cada usuario, aqui les dejo mi codigo que actualmente muestra y guarda datos y todos los usuarios ven los mismos datos, la idea es que cada usuario guarde y vea datos diferentes osea sus datos propios y no se confundan esos datos con los de los demas usuarios sino que cada usuario tenga sus propios datos.

aqui un pedazo de mi codigo:

Código PHP:
Ver original
  1. <?php
  2. if (isset($_POST['submit']))
  3.     {      
  4.     include 'db.php';
  5.    
  6.                     $Nombre=$_POST['Nombre'] ;
  7.                     $CI= $_POST['CI'] ;                
  8.                     $Falla=$_POST['Falla'] ;
  9.                     $Estatus=$_POST['Estatus'] ;
  10.          mysql_query("ALTER TABLE servicio AUTO_INCREMENT=1");                                     
  11.          mysql_query("INSERT INTO `servicio`(Nombre,CI,Falla,Estatus)
  12.          VALUES ('$Nombre','$CI','$Falla','$Estatus')");
  13.                
  14.                
  15.             }
  16. ?>
  17.  
  18.    
  19.             <?php
  20.             include("db.php");
  21.            
  22.                
  23.             $result=mysql_query("SELECT * FROM servicio");
  24.            
  25.             while($test = mysql_fetch_array($result))
  26.             {
  27.                 $id = $test['id']; 
  28.                 echo "<tr align='center'>";
  29.                 echo"<td><font color='black'>" .$test['id']."</font></td>";
  30.                 echo"<td><font color='black'>" .$test['Nombre']."</font></td>";
  31.                 echo"<td><font color='black'>". $test['CI']. "</font></td>";
  32.                 echo"<td><font color='black'>". $test['Falla']. "</font></td>";
  33.                 echo"<td><font color='black'>". $test['Estatus']. "</font></td>";  
  34.                 echo"<td> <a href ='view.php?id=$id'><strong>Editar</strong></a>";
  35.                 echo"<td> <a href ='del.php?id=$id'><strong>Eliminar<strong></a>";
  36.                                    
  37.                 echo "</tr>";
  38.             }
  39.             mysql_close($conn);
  40.             ?>

muchas gracias de antemano.

Última edición por gigasize777; 12/02/2015 a las 09:45
  #2 (permalink)  
Antiguo 12/02/2015, 09:54
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, 5 meses
Puntos: 2658
Respuesta: duda con mostrar datos php

Para qué se supone que haces esto:
Código PHP:
mysql_query("ALTER TABLE servicio AUTO_INCREMENT=1"); 
Eso no tiene ningún sentido...
__________________
¿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 12/02/2015, 11:52
 
Fecha de Ingreso: febrero-2015
Mensajes: 9
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: duda con mostrar datos php

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Para qué se supone que haces esto:
Código PHP:
mysql_query("ALTER TABLE servicio AUTO_INCREMENT=1"); 
Eso no tiene ningún sentido...
ahora no mismo no recuerdo porque lo puse, y que tiene que ver eso con lo que estoy preguntando?
  #4 (permalink)  
Antiguo 12/02/2015, 13:20
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, 5 meses
Puntos: 2658
Respuesta: duda con mostrar datos php

A que si alteras la tabla para redefinir su autoincremental podrías estar generando un error de ejecución en la base.
¿Crees que un ALTER TABLE es algo inocente? Es una sentencia de DDL, y tiene un impacto grande.
No se deben usar tan a la ligera.

Por lo demás, ese esquema de tablas que posteas no está bien, porque la tabla "servicios" carece de FK de la tabla usuarios, por lo queno está bien relacionada.
Si un mismo usuario peude tener N servicios, entonces se necesita que el ID del usuario se encuentre en la tabla de servicios como FK, y no puede ser al mismo tiempo el ID de Servicios, ya que eso generaría una relación 1:1, no 1:N.
Creo que antes de ver por qué el PHP no te funciona, deberías definir mejor el esquema de datos.
__________________
¿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 13/02/2015, 05:59
 
Fecha de Ingreso: febrero-2015
Mensajes: 9
Antigüedad: 9 años, 2 meses
Puntos: 0
Pregunta Respuesta: duda con mostrar datos php

Cita:
Iniciado por gnzsoloyo Ver Mensaje
A que si alteras la tabla para redefinir su autoincremental podrías estar generando un error de ejecución en la base.
¿Crees que un ALTER TABLE es algo inocente? Es una sentencia de DDL, y tiene un impacto grande.
No se deben usar tan a la ligera.

Por lo demás, ese esquema de tablas que posteas no está bien, porque la tabla "servicios" carece de FK de la tabla usuarios, por lo queno está bien relacionada.
Si un mismo usuario peude tener N servicios, entonces se necesita que el ID del usuario se encuentre en la tabla de servicios como FK, y no puede ser al mismo tiempo el ID de Servicios, ya que eso generaría una relación 1:1, no 1:N.
Creo que antes de ver por qué el PHP no te funciona, deberías definir mejor el esquema de datos.
asi deberia ser el esquema de datos?

  #6 (permalink)  
Antiguo 13/02/2015, 06:40
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, 5 meses
Puntos: 2658
Respuesta: duda con mostrar datos php

Nop.
Necesitas TRES tablas.
Cita:
Usuario(username, password)
Servicio(servicio_id, descripcion, ... otros datos)
usuario_servicio(username, servicio_id, fecha_alta, desc_falla, estado, ... otros datos)
Posiblemente requieras además una tabla apra detalles del servicio, pero eso dependería de qué se trate ese "servicio" y lo que pueda abarcar.
La tabla usuario_servicio podría tener clave numerica propia, especialmente si tiene una relacion maestro->detalle, de acuerdo a lo que se necesite.
Lo que no es necesario es ponberle un ID numerico al usuario, desde el momento en que en username debe ser siempre único, pudiendo en ese caso ser usado como PK.
Sí, la PK del servicio (como tipos de servicio), y el username deben ser FK de esa tabla usuario_servicio.
Este breve esquema permite dar soporte a N servicios para un mismo usuario, y que diferentes usuarios puedan ahcer uso del mismo tipo de servicio (con detalles diferentes).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 13/02/2015, 08:35
 
Fecha de Ingreso: febrero-2015
Mensajes: 9
Antigüedad: 9 años, 2 meses
Puntos: 0
Pregunta Respuesta: duda con mostrar datos php

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Nop.
Necesitas TRES tablas.

Posiblemente requieras además una tabla apra detalles del servicio, pero eso dependería de qué se trate ese "servicio" y lo que pueda abarcar.
La tabla usuario_servicio podría tener clave numerica propia, especialmente si tiene una relacion maestro->detalle, de acuerdo a lo que se necesite.
Lo que no es necesario es ponberle un ID numerico al usuario, desde el momento en que en username debe ser siempre único, pudiendo en ese caso ser usado como PK.
Sí, la PK del servicio (como tipos de servicio), y el username deben ser FK de esa tabla usuario_servicio.
Este breve esquema permite dar soporte a N servicios para un mismo usuario, y que diferentes usuarios puedan ahcer uso del mismo tipo de servicio (con detalles diferentes).
asi?

  #8 (permalink)  
Antiguo 13/02/2015, 09:03
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, 5 meses
Puntos: 2658
Respuesta: duda con mostrar datos php

No, eso está mal diseñado...

Lee con atención el ejemplo que te pasé.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 13/02/2015, 09:11
 
Fecha de Ingreso: febrero-2015
Mensajes: 9
Antigüedad: 9 años, 2 meses
Puntos: 0
Pregunta Respuesta: duda con mostrar datos php

Cita:
Iniciado por gnzsoloyo Ver Mensaje
No, eso está mal diseñado...

Lee con atención el ejemplo que te pasé.
no se entiende porque el ejemplo que pusiste no tiene mis datos pusiste servicio_id username y otros datos que yo no tengo, no me sirve para guiarme
  #10 (permalink)  
Antiguo 13/02/2015, 09:37
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, 5 meses
Puntos: 2658
Respuesta: duda con mostrar datos php

¿Y no puedes hacer una inferencia, y adaptar la idea a tus estructuras?

Vamos a lo básico:
Una relación N:N entre dos entidades, es una relación donde cada elemento de una se relaciona con otra entre cero y N veces, y donde la segunda se relaciona también con la primera de la misma forma.
Lo que tienes es usuarios que pueden tener N servicios, y tipos de servicio que se relacionan con N usuarios, en diferentes momentos del tiempo.
Eso es una relación N:N, y en Bases de Datos relacionales obligatoriamente requiere la existencia de una tercera tabla. En esa tabla las PK de cada una de las otra tabla componen la PK de esa tabla.
¿Eso lo enteindes?
Yo usé "username", por la simple razon de sugerirte que si tienes un usuario, y ese usuario es único, no tiene ningún sentido desperdiciar espacio en la tabla creando un ID numerico para el usuario, ya que el username (o como quieras llamarlo) es único, sempre. Ergo, puedes usar el propio nombre de usuario como PK...
Pero, bueno es tu decisión.

Ahora bien, lo que quiero que te quede claro es que USUARIO se relaciona con SERVICIO sólo a través de la relación con la tabla USUARIO_SERVICIO, pero no con SERVICIO directamente, y viceversa.
Eso esería diseñar bien la relación.
Si quieres ponerle otros nombres, no hay problema. Ponle "TIPO_SERVICIO" a la que yo llamé "SERVICIO", y "SERVICIO" a la que yo llamé "USUARIO_SERVICIO", eso lo decides tu. Pero haz la inferencia razonada de lo que te propongo conceptualmente.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 13/02/2015, 09:52
 
Fecha de Ingreso: febrero-2015
Mensajes: 9
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: duda con mostrar datos php

Cita:
Iniciado por gnzsoloyo Ver Mensaje
¿Y no puedes hacer una inferencia, y adaptar la idea a tus estructuras?

Vamos a lo básico:
Una relación N:N entre dos entidades, es una relación donde cada elemento de una se relaciona con otra entre cero y N veces, y donde la segunda se relaciona también con la primera de la misma forma.
Lo que tienes es usuarios que pueden tener N servicios, y tipos de servicio que se relacionan con N usuarios, en diferentes momentos del tiempo.
Eso es una relación N:N, y en Bases de Datos relacionales obligatoriamente requiere la existencia de una tercera tabla. En esa tabla las PK de cada una de las otra tabla componen la PK de esa tabla.
¿Eso lo enteindes?
Yo usé "username", por la simple razon de sugerirte que si tienes un usuario, y ese usuario es único, no tiene ningún sentido desperdiciar espacio en la tabla creando un ID numerico para el usuario, ya que el username (o como quieras llamarlo) es único, sempre. Ergo, puedes usar el propio nombre de usuario como PK...
Pero, bueno es tu decisión.

Ahora bien, lo que quiero que te quede claro es que USUARIO se relaciona con SERVICIO sólo a través de la relación con la tabla USUARIO_SERVICIO, pero no con SERVICIO directamente, y viceversa.
Eso esería diseñar bien la relación.
Si quieres ponerle otros nombres, no hay problema. Ponle "TIPO_SERVICIO" a la que yo llamé "SERVICIO", y "SERVICIO" a la que yo llamé "USUARIO_SERVICIO", eso lo decides tu. Pero haz la inferencia razonada de lo que te propongo conceptualmente.
no me funciona yo de la tabla 'usuarios' trato de relacionar el campo 'usuario' con el campo 'usuario' que esta en la tabla de 'usuario_servicio' y no me deja

Etiquetas: mysql, select, sql, usuarios
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 05:59.