Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Dos tablas HTML desde MySql

Estas en el tema de Dos tablas HTML desde MySql en el foro de PHP en Foros del Web. Buenos días, a quien me pueda aportar una ayuda estaré agradecido, tengo una tabla en una base de datos que contiene sus registros asi, @import ...
  #1 (permalink)  
Antiguo 20/11/2015, 09:29
 
Fecha de Ingreso: diciembre-2014
Mensajes: 69
Antigüedad: 9 años, 3 meses
Puntos: 2
Información Dos tablas HTML desde MySql

Buenos días, a quien me pueda aportar una ayuda estaré agradecido,

tengo una tabla en una base de datos que contiene sus registros asi,

Código MySQL:
Ver original
  1. carreraId | hipodromo | carrera
  2. -------------------------------------
  3. 1            |      A          |     1
  4. -------------------------------------
  5. 2            |      B          |     1



necesito dibujar una tabla por cada carreraId en este caso serian 2 tablas con sus respectivos datos, y no consigo cual es la logica que debo aplicar, muchas gracias

Última edición por grossbergsteven; 20/11/2015 a las 10:18
  #2 (permalink)  
Antiguo 20/11/2015, 10:20
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Dos tablas HTML desde MySql

Pero exactamente qué datos debe llevar la tabla 1 y cuáles la tabla 2? Qué código llevas hasta el momento para ver cómo podemos ayudarte a completarlo?
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #3 (permalink)  
Antiguo 20/11/2015, 10:36
 
Fecha de Ingreso: diciembre-2014
Mensajes: 69
Antigüedad: 9 años, 3 meses
Puntos: 2
Respuesta: Dos tablas HTML desde MySql

la tabla uno debe tener en esta caso un solo row con hipodromo: A y carrera: 1
la dos tendria Hipodromo: B carrera: 1, puse el ejemplo sencillo con un registro para cada carreraId para no enredarlos, usando estos datos de ejemplo lo que he hecho es esto:
Código PHP:
Ver original
  1. <?php
  2. include('conect.php');
  3. $query = "SELECT * FROM prueba";
  4. $select = mysql_query($query);
  5. while ($reg = mysql_fetch_array($select)) {
  6.     echo "<table>
  7.     <tr>
  8.     <td>".$reg['hipodromo']."</td>
  9.     <td>".$reg['carrera']."</td>
  10.     </tr>
  11.     </table>";
  12.     }
  13. ?>

pero en este caso es una sola tabla y yo quiero dos tablas, si hubiese otro registro con un otro carreraId, generar una nueva tabla y asi, espero sus comentarios y gracias por su ayuda
  #4 (permalink)  
Antiguo 20/11/2015, 10:42
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Dos tablas HTML desde MySql

No sé si entendí bien pero si lo que quieres es que se muestre una tabla por cada fila de la tabla de la base de datos el código que colocas está bien. En qué te falla?
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #5 (permalink)  
Antiguo 20/11/2015, 10:56
 
Fecha de Ingreso: diciembre-2014
Mensajes: 69
Antigüedad: 9 años, 3 meses
Puntos: 2
Respuesta: Dos tablas HTML desde MySql

explico mas detallado, imagina que la base de datos es asi:
Código MySQL:
Ver original
  1. carreraId | hipodromo | carrera
  2. -------------------------------------
  3. 1            |      A          |     1
  4. -------------------------------------
  5. 1            |      A         |      2
  6. -------------------------------------
  7. 1            |      A          |     3
  8. -------------------------------------
  9. 2            |      B          |     1
  10. -------------------------------------
  11. 2            |      B         |      2
  12. -------------------------------------
  13. 2           |       B          |     3

entonces quiero que como existen dos distintos carreraId, me genere dos tablas cada una quedaría así:

tabla uno

Hipodromo | Carrera
A | 1
A | 2
A | 3

tabla dos

Hipodromo | Carrera
B | 1
B | 2
B | 3


si existiera un carreraId 3 entonces generere otra tabla y asi sucesivamente, lo que esta mal en lo que hice es que solo genera una sola tabla con todos los registros, de verdad gracias por tu ayuda
  #6 (permalink)  
Antiguo 20/11/2015, 11:18
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Dos tablas HTML desde MySql

Yo lo haría así, la consulta a la BD la ordenaría por carreraID así

Código SQL:
Ver original
  1. SELECT * FROM prueba ORDER BY carreraId

Luego iría recorriendo cada fila comparando primero con la carreraid anterior si es el mismo al actual colocarlo en la tabla actual si es diferente empezar una nueva tabla.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #7 (permalink)  
Antiguo 20/11/2015, 11:20
 
Fecha de Ingreso: diciembre-2014
Mensajes: 69
Antigüedad: 9 años, 3 meses
Puntos: 2
Respuesta: Dos tablas HTML desde MySql

como comparo con la carreraId anterior disculpa?
  #8 (permalink)  
Antiguo 20/11/2015, 11:35
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Dos tablas HTML desde MySql

Intenta así:

Código PHP:
Ver original
  1. <?php
  2.     include('conect.php');
  3.     $query = "SELECT DISTINCT
  4.    c.id AS carreraId,
  5.    h.nombre AS hipodromo,
  6.    c.carrera,
  7.    cc.numero AS numCab,
  8.    cb.nombre AS ejemplar,
  9.    cc.retirado AS statusEjm,
  10.    cct.costo costo
  11.    FROM carreras c
  12.    INNER JOIN caballos_carreras cc ON (cc.carrera_id=c.id)
  13.    INNER JOIN caballos as cb ON (cc.caballo_id=cb.id)
  14.    INNER JOIN programas p ON (c.programa_id=p.id)
  15.    INNER JOIN hipodromos h ON (p.hipodromo_id=h.id)
  16.    INNER JOIN caballo_carrera_tablitas cct ON (cct.caballo_carrera_id=cc.id)
  17.    WHERE c.abierto=1 AND cct.centro_apuesta_id=209
  18.    ORDER BY c.id";
  19.     $select = mysql_query($query);
  20.     $carreraid = 1;
  21.     echo "<table>";
  22.     while ($reg = mysql_fetch_array($select)) {
  23.         if ($reg['carreraId'] == $carreraId)
  24.         {
  25.             echo "<tr><td>".$reg['hipodromo']."</td><td>".$reg['carrera']."</td></tr>";
  26.         }
  27.         else
  28.         {
  29.             $carreraid = $reg['carreraId'];
  30.             echo "</table><br><table>";
  31.             echo "<tr><td>".$reg['hipodromo']."</td><td>".$reg['carrera']."</td></tr>";
  32.         }
  33.     }
  34. ?>

Es solo una idea porque lo hice mentalmente y no sé si esté bien, pero es mas o menos para que me entiendas cómo hacerlo. La consulta la dejé ordenada únicamente por c.id.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]

Última edición por chronos682; 20/11/2015 a las 12:03
  #9 (permalink)  
Antiguo 20/11/2015, 12:23
 
Fecha de Ingreso: diciembre-2014
Mensajes: 69
Antigüedad: 9 años, 3 meses
Puntos: 2
Respuesta: Dos tablas HTML desde MySql

ok, gracias pero no funciona porque los registros con carreraId diferentes de uno se imprimen todos en una misma tabla, pero gracia, sigo intentando
  #10 (permalink)  
Antiguo 20/11/2015, 12:27
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Dos tablas HTML desde MySql

Corríjele esto que me equivoqué:

if ($reg['carreraId'] == $carreraid)

Era todo en minúsculas. Igual tienes que adaptarlo porque no tengo ni tu base de datos ni un servidor php en donde probarlo.

Y en donde dice $carreraid = 1 reemplaza el 1 por el primer valor que haya al obtener los datos de la consulta.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #11 (permalink)  
Antiguo 20/11/2015, 12:56
 
Fecha de Ingreso: diciembre-2014
Mensajes: 69
Antigüedad: 9 años, 3 meses
Puntos: 2
Respuesta: Dos tablas HTML desde MySql

Ok muchas gracias, ya lo probé y si funciona doy el tema como solucionado y un +1

Etiquetas: html, mysql, registro, tabla, 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 02:34.