Foros del Web » Programando para Internet » PHP »

Como separar identificaciones en distintas partes.

Estas en el tema de Como separar identificaciones en distintas partes. en el foro de PHP en Foros del Web. Hola, Estoy haciendo un pequeño foro simple y tengo unos problemas en la forma de conectar las diferentes partes que tiene. Primero decir que sus ...
  #1 (permalink)  
Antiguo 31/08/2006, 12:46
 
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona,España
Mensajes: 54
Antigüedad: 11 años, 3 meses
Puntos: 0
Como separar identificaciones en distintas partes.

Hola,
Estoy haciendo un pequeño foro simple y tengo unos problemas en la forma de conectar las diferentes partes que tiene.
Primero decir que sus partes las e divididos en categorias, asuntos y respuestas. Cada una con sus bases mysql y tablas. Entonces ya puedo crear categorias, tambien asuntos y las respuestas a esos asuntos.

Ahora llega el problema. Como puedo conectar de tal forma, que cuando yo acceda y tenga una serie de tablas con las categorias creadas, al darle en la categoria acceda a los asuntos que se han creado alli. Me explico, asta en este punto hemos creado unos asuntos con un identificador que se a ido incrementando como dice en sus tablas, pero como decirle que segun que identificaciones de esos asuntos van en una parte y otros en otro, como puedo hacer que se dividan en las categorias, nose si me explico lo que quiero decir o si no acabo de describir bien el problema, si alguien quiere pedirme datos aqui estare.

Una posibilidad que e pensado es la de hacer en el formulario para agregar los asuntos y en el proceso de meter los datos en la mysql poner algo que guarde la id de la categoria desde donde se a abierto y luego al abrir el conjunto solo se visualice en la categoria de la identificacion que se a guardado. Aun tendria que matizar unas cosas pero es una teoria que que se me a pasado por la cabeza a ver que pensais.

Gracias.
  #2 (permalink)  
Antiguo 31/08/2006, 19:36
 
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona,España
Mensajes: 54
Antigüedad: 11 años, 3 meses
Puntos: 0
Quizas deba juntar las partes como las tablas y partir desde alli, pero me siguen mis dudas en la forma de conectar un asunto con una categoria o viceversa.
  #3 (permalink)  
Antiguo 31/08/2006, 22:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No entendì en "palabras" tu modelo de datos .. pero si dices tener claro ya como identificar las categorías (como únicas) y por otro lado cuando publicas un tema nuevo o respuesta ya sabes en que categoría estas .. Lo que deberías hacer es sólo registrar la categoría de la "pregunta" por qué las respuestas como tal ya están relacionadas con esa "preguna" y esta a su vez ya tiene su "categoría asignada" ..

Deberías tal vez mostrar como presentas tus datos o como lo quires (con ejemplos de datos reales ..) asì tal vez nos hagamos una idea de lo que quieres hacer.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 01/09/2006, 06:17
 
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona,España
Mensajes: 54
Antigüedad: 11 años, 3 meses
Puntos: 0
Si bueno, tampoco se bien bien como expresarme en terminos lo tengo todo en la cabeza y tampoco demasiado claro pondre un ejemplo mas claro:

Si tuviesemos un formulario del cual fuesemos mandando a la mysql información y luego quisiesemos diferenciar esa informacion entre 2 grupos por ejemplo, las noticias de deportes y noticias de economia por decir algo.
Decir que los apartados noticias de deportes y noticias de economia estan ambien en otra tabla y con una ID, y ahora me faltaria añadir esa informacion que ido metiendo pero en distintas partes. Nose si ahora me entenderan.

Entrando en este tipo de foro cuando entras en el Foro de PHP y cuando haces un Tema ese tema se queda en el foro de PHP porque? Si todos los temas tienen una ID y los mismos apartados que los del Foro Html, me entiendes lo que quiero decir? Que es lo que a un tema le diga que se quede en un Foto como este y a otro en otro? Estando en la misma tabla.

Gracias
  #5 (permalink)  
Antiguo 01/09/2006, 07:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Entrando en este tipo de foro cuando entras en el Foro de PHP y cuando haces un Tema ese tema se queda en el foro de PHP porque? Si todos los temas tienen una ID y los mismos apartados que los del Foro Html, me entiendes lo que quiero decir? Que es lo que a un tema le diga que se quede en un Foto como este y a otro en otro? Estando en la misma tabla.

Sucede por qué se usa un modelo de datos tipo (muy resumido . .pero sería la base):

Mensajes
id_mensaje
id_categoria --> clave fornánea (FK) que relaciona al menesaje con su categoría
mensaje

categorias
id_categoria
nombre_categoria

O entras por "categorias" haciendo una consulta SQL llamando a los registros bajo "id_categoria = tal" .. O entras por el mensaje e identificas a que categoría pertenece ..

Tu como piensas estructurar tus datos? (creo que tu problema principal es del "modelo de datos" a seguir y ver que consultas SQL te harían falta para obtener tus datos según los critérios de que dispongas (un "id del mensaje" o un "id de la categoria" .. por ejemplo). Esto sería un tema a tratar mejor en el foro de "Base de datos" ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 01/09/2006, 07:35
 
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona,España
Mensajes: 54
Antigüedad: 11 años, 3 meses
Puntos: 0
En efecto esa es la forma que lo pense, tengo esta estructura de datos:

Categorias
-ID_categoria
-titulo
-descripcion

Asuntos
-ID_asuntos
-Asunto
-Fecha
-ID_categoria (pense en crear este como explique en un post anterior pero ¿como quedarse la ID de la categoria con la que has entrado cuando creas el asunto?)

Respuestas
-ID_respuestas
-respuestas
-fecha

Esa seria la estructura que tengo y lo que me falta es: Cuando entras y ves las categorias y luego clickas en una de ellas te sale para crear un asunto ( ¿Como decirle a ese Asunto que se quede en la categoria de la cual has entrado?) y luego lo mismo pero con las respuestas de cada asunto pero supongo que sera el mismo proceso que con las categorias. A ver si me entiendes.

Gracias
  #7 (permalink)  
Antiguo 01/09/2006, 07:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
-ID_categoria (pense en crear este como explique en un post anterior pero ¿como quedarse la ID de la categoria con la que has entrado cuando creas el asunto?)
Por algún médio indetificaras en la categoría que estás .. no sé si tendras ese dato en el URL, en una variable de sesión o equivalente.

Por ejemplo yo entro al foro de "PHP" ..
listar_foros.php?id_foro=n°

Y le doy a un botón "nuevo tema" .. Ese botón me tendría que tomar esa variable "id_foro" para pasarla a mi script donde publico el tema ..

nuevo_tema?id_foro=<? echo $_GET['id_foro'] ?>

y por ejemplo si ahí tengo un formulario HTML .. le paso a su vez ese por un campo hidden:

<input type="hidden" name="id_foro" value="<? echo $_GET['id_foro'] ?>">

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 01/09/2006, 08:13
 
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona,España
Mensajes: 54
Antigüedad: 11 años, 3 meses
Puntos: 0
Perfecto si, eso es lo que queria exactamente,luego guardo esa ID de la categoria en el tema que se cree, y luego la visualizo segun cuala sea la $ID_categoria que tiene guardada en la mysql para visualizarla en una categoria o en otra, perfecto. Ahora espero que conecte bien todas las cosas, Gracias.
  #9 (permalink)  
Antiguo 01/09/2006, 10:16
 
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona,España
Mensajes: 54
Antigüedad: 11 años, 3 meses
Puntos: 0
Bien parece que va todo bien, pero estoy haciendo unas pruebas y necesitaria una funcion que comparase la ID_foro que tiene guardada un determinado tema con $_GET['id_foro'] del cual se encuentra en ese momento, si es la misma que se visualizase el tema y en el caso contrario si no fuesen iguales que no se visualizase, a ver si me habeis entendido.

Gracias
  #10 (permalink)  
Antiguo 01/09/2006, 10:21
 
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona,España
Mensajes: 54
Antigüedad: 11 años, 3 meses
Puntos: 0
Vale acabo de mirarlo y poniendo un:

WHERE id_categoria='$_GET['id_foro']';

Cuando hacemos un Select a la mysql tendria que funcionar no? esa seria la forma mas sencilla y corta o me sugieren otra forma?
  #11 (permalink)  
Antiguo 01/09/2006, 10:28
 
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona,España
Mensajes: 54
Antigüedad: 11 años, 3 meses
Puntos: 0
De la forma que e comentado antes me da error de este estilo:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in

Algun caracter o algo esta mal aun que tamposo se bien bien si funcionara, sigo esperando respuestas a estos 2 ultimos comentarios.

Gracias
  #12 (permalink)  
Antiguo 01/09/2006, 10:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por AddexBCN Ver Mensaje
De la forma que e comentado antes me da error de este estilo:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in

Algun caracter o algo esta mal aun que tamposo se bien bien si funcionara, sigo esperando respuestas a estos 2 ultimos comentarios.

Gracias
Si expones textualmente como lo aplicas se podrá observar tal vez tu error .. si indicas cosas fuera de contexto o demasiado acotadas es complicado indicarte cual es tu error exacto y sólo se puede "divagar" sobre el problema.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #13 (permalink)  
Antiguo 01/09/2006, 11:11
 
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona,España
Mensajes: 54
Antigüedad: 11 años, 3 meses
Puntos: 0
Cita:
$mensaje = mysql_query("SELECT * FROM asuntos WHERE id_base=$_GET['id']");
Lo demas funciona correctamente los errores me los da al añadir esto

Cita:
WHERE id_base=$_GET['id']
  #14 (permalink)  
Antiguo 01/09/2006, 11:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Deberías usar comillas para tu variable (eso evita infinidad de problemas), concatenar (con el .) tu variable ayuda a indentificar la variabel PHP entre la sentencia SQL que puedas tener, la función mysql_real_escape_string() ayuda a "escapar" caracteres como / .. y otros para evitar más problemas y el uso de la construcción "or die()" con un mysql_error() nos permitirá ver claramente mensajes de error SQL si los tenemos ...

Código PHP:
$mensaje mysql_query("SELECT * FROM asuntos WHERE id_base='".mysql_real_escape_string($_GET['id'])."'") or die(mysql_error()); 
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #15 (permalink)  
Antiguo 01/09/2006, 11:38
 
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona,España
Mensajes: 54
Antigüedad: 11 años, 3 meses
Puntos: 0
Los errores ya no aparecen pero parece que no a funcionado, ahora no sale ningun asunto ni siquiera donde deberia salir, parece que funciona pero en el que deberia salir porque su ID es la misma no sale, porque? quizas sea porque no acaba de leer bien la ID de donde esta. la URL de donde deberia salir es esta:

www.midominio.com/foros.php?f=1

seguro que la funcion

Cita:
($_GET['id'])
lee bien la ID osea el f=1 ?

Puede que tenga algo que ver la tabla de id_base? asi es como la e creado:

Cita:
id_base varchar(200) NOT NULL default '',
Ya nose que le debe pasar...

Gracias
  #16 (permalink)  
Antiguo 01/09/2006, 11:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
seguro que la funcion


Cita:
($_GET['id'])


lee bien la ID osea el f=1 ?


Hombre .. si tu variable en el URL es "f" .. por qué usas "id"? ..

No sé si tienes claro que significa $_GET .. o $_POST .. Son arrays (superglobales) donde tienes las variables que por el URL puedan llegar a un script (caso de $_GET) o en $_POST las que puedan llegar de un formulario HTML por ejemplo (con method=POST) ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #17 (permalink)  
Antiguo 01/09/2006, 11:50
 
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona,España
Mensajes: 54
Antigüedad: 11 años, 3 meses
Puntos: 0
Buf, perdon, cierto gracias por la aclaracion ya funciona, era muy raro que no funcionase ya, pero bueno gracias por todo y por la paciencia, :).

Saludos
  #18 (permalink)  
Antiguo 01/09/2006, 13:56
 
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona,España
Mensajes: 54
Antigüedad: 11 años, 3 meses
Puntos: 0
Me a surgido una complicacion mas al crear los formulario, antes metia las isntrucciones por SQL directamente para ver si se veian o no y en efecto se ven pero cuando e ido creando los formulario y dandole forma me encontrado que cuando voy a crear un Tema nuevo, uso 2 pasos,

1Entrar en un formulario y rellenar los datos y este lo envia a un agregar.php

2-En agregar.php agrega los datos y tambien la ID de la categoria por donde has entrado anteriormente pero entonces no puedo usar $_GET, dado que este es el segundo paso...Tendria que usarlo antes, en el formulario pero tampoco se bien bien como ponerlo. A ver si sabeis a lo que me refiero.

Gracias
  #19 (permalink)  
Antiguo 01/09/2006, 14:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El proceso es tal cual te mencioné .. se trata de ir "propagando" tu variable ..

En tu proceso actual seguramente cambias de "método" alguna vez .. Por ejemplo entras por "GET" desde el formulario donde se rellenan los datos . .ahí ya tendrías que usar un campo hidden para propagar ese valor .. luego en "agregar.php" obtendras los datos en "POST" o en el "method" que usases en el formulario .. y de ahí a donde saltes como lo hagas ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #20 (permalink)  
Antiguo 01/09/2006, 16:28
 
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona,España
Mensajes: 54
Antigüedad: 11 años, 3 meses
Puntos: 0
Sigue habiendo que algo que falla estas son las lineas que uso en el formulario y luego en agregar.php

formulario:
Cita:
<input type="hidden" name="ident" value="<?$_GET[id]; ?>">
y en agregar.php:
Cita:
$id_base=$_POST[ident];

mysql_query("insert into asuntos values('','$asunto','$id_base')",$connect);
  #21 (permalink)  
Antiguo 01/09/2006, 16:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Aquí te faltó el "echo" (para que lo veas .. aunque podrías usar sintax resumida para el echo):

Código PHP:
<input type="hidden" name="ident" value="<? echo $_GET[id]; ?>">
Y suponiendo que tu formulario usa método "POST":

Código PHP:
$id_base=$_POST['ident']; 
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #22 (permalink)  
Antiguo 02/09/2006, 08:05
 
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona,España
Mensajes: 54
Antigüedad: 11 años, 3 meses
Puntos: 0
Cluster, estando como esta todo, en el formulario.html tiene que que estar de esta forma: " www.midominio.com/formulario.php?id=1 " por ejemplo, verdad?
es que lo inicio desde foros.php?id=1 pero cuando le doy para crear un nuevo tema sale simplemente formulario.php, tendria que hacer un link que me diese la id del foro del cual e entrado,no? para que funcione el $_GET y demas, verdad?

Gracias
  #23 (permalink)  
Antiguo 02/09/2006, 15:32
 
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona,España
Mensajes: 54
Antigüedad: 11 años, 3 meses
Puntos: 0
Vale, ya tengo todo solucionado por el momento jeje. Gracias por las aportaciones.
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 20:28.