Foros del Web » Programando para Internet » PHP »

mostrar tabla A o B de una sola base

Estas en el tema de mostrar tabla A o B de una sola base en el foro de PHP en Foros del Web. Holas, Tengo una base con dos tablas (A y B), éstas tablas no se relacionan entre sí, tienen datos diferentes cada una, lo que necesito ...
  #1 (permalink)  
Antiguo 13/09/2010, 17:17
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Sonrisa mostrar tabla A o B de una sola base

Holas,

Tengo una base con dos tablas (A y B), éstas tablas no se relacionan entre sí, tienen datos diferentes cada una, lo que necesito es que de a acuerdo al código que venga me muestre una u otra tabla. Sé hacerlo con una pero con dos no lo sé muy bien, tendré que poner un if?, me podrían guiar?

Con una tabla la tengo así:

$codigo = $_GET['cod'];
require("conect.php");
$consulta = mysql_query("SELECT * FROM A WHERE cod = '$codigo'");
while($resultado = mysql_fetch_array($consulta))
{
$A1 = $resultado['A1'];
$A2 = $resultado['A2'];
.............


Pero como armo la parte B?:

$B1 = $resultado['B1'];
$B2 = $resultado['B2'];
.............


Lo que quiero hacer es que de acuerdo al código que venga me imprima (echo) los datos de la tabla A ó B
Le agrego un if?.

Gracias de antemano como siempre.
  #2 (permalink)  
Antiguo 13/09/2010, 17:42
 
Fecha de Ingreso: septiembre-2010
Mensajes: 5
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: mostrar tabla A o B de una sola base

La verdad no entendi tu pregunta, sin mencionar que tu codigo es vulnerable...

Pues voy a explicarte de acuerdo a lo que entendi, mira el while lo que hace es ejecutar una accion por cada registro extraido, ejemplo

$codigo = $_GET['cod'];
require("conect.php");
$consulta = mysql_query("SELECT * FROM A WHERE cod = '$codigo'");
while($resultado = mysql_fetch_array($consulta))
{
$A1. = $resultado['A1'];
}
echo $A1;

si hay 2 registros guardados, el cual el primer registro tiene en el campo A1 la palabra "hola", y el segundo registro tiene en el campo A1 la palabra "hello", estaria mostrandote holahello, no se si me hayas entendido.
  #3 (permalink)  
Antiguo 13/09/2010, 17:44
 
Fecha de Ingreso: octubre-2009
Mensajes: 240
Antigüedad: 14 años, 6 meses
Puntos: 6
Respuesta: mostrar tabla A o B de una sola base

Cual es el código que viene?
El nombre de la tabla?
Código PHP:
Ver original
  1. $nombretabla  //en esta variable deberia venir el nombre de la tabla.
  2.  
  3. if($nombretabla == "A"{
  4. $consulta = mysql_query("SELECT * FROM A WHERE cod = '$codigo'");
  5. ... //resto del codigo
  6. }
  7. else{
  8. $consulta = mysql_query("SELECT * FROM B WHERE cod = '$codigo'");
  9. ... //resto del codigo
  10. }
  #4 (permalink)  
Antiguo 13/09/2010, 17:54
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: mostrar tabla A o B de una sola base

Hola...

jean1904 te entendí perfectamente, pero necesito mostrar también el contenido de la tabla B.

principianteZF: voy a probar tu método...

El código es distinto para todos los registros de las dos tablas y viene de diferentes links, de acuerdo al que cliquee el usuario, ahora veo que tendré que traer el nombre de la tabla así=

Links:

detalle.php?cod=xxxx&tabla=A
detalle.php?cod=xxxx&tabla=B
detalle.php?cod=xxxx&tabla=A
detalle.php?cod=xxxx&tabla=A
.............

para luego procesar en detalle.php

Voy a intentar y regreso...
  #5 (permalink)  
Antiguo 13/09/2010, 18:05
 
Fecha de Ingreso: octubre-2009
Mensajes: 240
Antigüedad: 14 años, 6 meses
Puntos: 6
Respuesta: mostrar tabla A o B de una sola base

No necesariamente tenes que traer el nombre de la tabla.
Por eso te preguntaba que datos son los que vienen.
Con una variable ya podes hacer la diferencia.

Si por ejemplo traes la variable "$usuario", esta te puede estar indicando que los datos que vienen son para una de las tablas, supongamos la tabla A, podes hacer esto.
Código PHP:
Ver original
  1. if(isset($usuario)){
  2. $consulta = mysql_query("SELECT * FROM A WHERE cod = '$codigo'");
  3. ... //resto del codigo
  4. }
  5. else{
  6. $consulta = mysql_query("SELECT * FROM B WHERE cod = '$codigo'");
  7. ... //resto del codigo
  8. }
  #6 (permalink)  
Antiguo 13/09/2010, 19:23
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: mostrar tabla A o B de una sola base

Cita:
Iniciado por elsolodigno Ver Mensaje
Holas,

Tengo una base con dos tablas (A y B), éstas tablas no se relacionan entre sí, tienen datos diferentes cada una, lo que necesito es que de a acuerdo al código que venga me muestre una u otra tabla. Sé hacerlo con una pero con dos no lo sé muy bien, tendré que poner un if?, me podrían guiar?

Con una tabla la tengo así:

$codigo = $_GET['cod'];
require("conect.php");
$consulta = mysql_query("SELECT * FROM A WHERE cod = '$codigo'");
while($resultado = mysql_fetch_array($consulta))
{
$A1 = $resultado['A1'];
$A2 = $resultado['A2'];
.............


Pero como armo la parte B?:

$B1 = $resultado['B1'];
$B2 = $resultado['B2'];
.............


Lo que quiero hacer es que de acuerdo al código que venga me imprima (echo) los datos de la tabla A ó B
Le agrego un if?.

Gracias de antemano como siempre.
Hola
bueno, creo que estabas confundido inicialmente, pues dijiste una U otra tabla
pero ahora si las necesitas ambas....

pues no se que estas haciendo, pero pues yo haria una tabla generica (donde por ej los campos se llamen id, link) en vez de tener 2 tal vez con (idtabla1,link) y otra con (idtabla2,detalle)
en vez de manejar dos, o si ya las reglas son especificas en que se
necesitan en tablas distintas es otro asunto

bueno, suerte con eso
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #7 (permalink)  
Antiguo 14/09/2010, 15:10
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Sonrisa Respuesta: mostrar tabla A o B de una sola base

Cita:
Iniciado por mortiprogramador Ver Mensaje
Hola
bueno, creo que estabas confundido inicialmente, pues dijiste una U otra tabla
pero ahora si las necesitas ambas....

pues no se que estas haciendo, pero pues yo haria una tabla generica (donde por ej los campos se llamen id, link) en vez de tener 2 tal vez con (idtabla1,link) y otra con (idtabla2,detalle)
en vez de manejar dos, o si ya las reglas son especificas en que se
necesitan en tablas distintas es otro asunto

bueno, suerte con eso
saludos
hola multi..., la verdad que no me sirve una tabla genérica porque quedarían campos vacíos...

Les paso el ejemplo:

Base:

imagenes

tablas:

imagenes1

imagenes2

campos:

imagenes1: id cod imgprod imgrande1 imgchica1 imgrande2 imgchica2 imgrande3 imgchica3 precio descripcion

1 i19789 img/prod/ip1.jpg img/prod/ig1.jpg img/prod/ich1.jpg img/prod/ig2.jpg img/prod/ich2.jpg img/prod/ig3.jpg img/prod/ich3.jpg consultar esta imagen representa...

imagenes2: id cod imgdet imgrande1 imgchica1 precio modelo descripcion
1 i25878 img/det/id1.jpg img/det/ig1.jpg img/det/ich1.jpg 30 rush esta imagen...

Entonces de acuerdo al código que tenga el get quiero hacer un echo para tabla imagenes1 ó imagenes2

Lo que hice fue hacer esto, pero no me convence...

$tabla = $_GET['tabla'];
$codigo = $_GET['cod'];
require("conect.php");
if($tabla == "imagenes1"){
$consulta = mysql_query("SELECT * FROM imagenes1 WHERE cod = '$codigo'");
while($resultado = mysql_fetch_array($consulta))
{
............

$imgrande1 = $resultado['imgrande1'];
$imgrande2 = $resultado['imgrande2'];
/*Todos los campos de tabla1 etc.*/


............

echo "texo que uso para imprimir los campos de tabla1" ...... etc.
}
}else{
$consulta = mysql_query("SELECT * FROM imagenes2 WHERE cod = '$codigo'");
while($resultado = mysql_fetch_array($consulta))
{
............

$imgrande1 = $resultado['imgrande1'];
/*Todos los campos de tabla2 etc...*/

............

echo "texo que uso para imprimir los campos de tabla2" ...... etc.
}
}

Gracias por guiarme... Saludos.
  #8 (permalink)  
Antiguo 14/09/2010, 21:36
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: mostrar tabla A o B de una sola base

uhm, bueno, así las cosas, intenta con UNION SELECT, o
intenta hacer un INNER JOIN pues en ambas tablas
se realizan las consultas con el mismo dato

si no tienes claro la funcionalidad de esos dos,
te recomiendo pases por la web de mysql

prueba esas dos opciones a ver si tal vez
alguna te funcione
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: tablas
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 11:10.