Foros del Web » Programando para Internet » PHP »

Relacioes con la tabla

Estas en el tema de Relacioes con la tabla en el foro de PHP en Foros del Web. Hola tengo una dudita, que no ser resolver, mi mente no está preparada. Lo que tengo es una tabla con equipos: Código: -- -- Base ...
  #1 (permalink)  
Antiguo 12/09/2011, 17:03
 
Fecha de Ingreso: junio-2005
Mensajes: 107
Antigüedad: 18 años, 10 meses
Puntos: 0
Relacioes con la tabla

Hola tengo una dudita, que no ser resolver, mi mente no está preparada.

Lo que tengo es una tabla con equipos:

Código:
--
-- Base de datos: `test`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `equipos`
--

CREATE TABLE IF NOT EXISTS `equipos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `equipo` varchar(255) NOT NULL,
  `escudo` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=21 ;

--
-- Volcar la base de datos para la tabla `equipos`
--

INSERT INTO `equipos` (`id`, `equipo`, `escudo`) VALUES
(1, 'At. Biblao', '../equi/1.png'),
(2, 'At. Madrid', '../equi/2.png'),
(3, 'Barcelona', '../equi/3.png'),
(4, 'Betis', '../equi/4.png'),
(5, 'Español', '../equi/8.png'),
(6, 'Real Madrid', '../equi/13.png'),
(7, 'Real Sociedad', ''),
(8, 'Valencia', ''),
(9, 'Zaragoza', ''),
(10, 'Mallorca', ''),
(11, 'Villareal', ''),
(12, 'Racing', ''),
(13, 'Rayo', ''),
(14, 'Malaga', ''),
(15, 'Sevila', ''),
(16, 'Osasuna', ''),
(17, 'Getafe', ''),
(18, 'Levante', ''),
(19, 'Sporting', ''),
(20, 'Granada', '');
Y otra con los cruces que van a tener, esta tabla unicamente va a tener una fila:

Código:
--
-- Base de datos: `test`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `partidos`
--

CREATE TABLE IF NOT EXISTS `partidos` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `a1a` varchar(2) NOT NULL,
  `a1b` varchar(2) NOT NULL,
  `a2a` varchar(2) NOT NULL,
  `a2b` varchar(2) NOT NULL,
  `a3a` varchar(2) NOT NULL,
  `a3b` varchar(2) NOT NULL,
  `a4a` varchar(2) NOT NULL,
  `a4b` varchar(2) NOT NULL,
  `a5a` varchar(2) NOT NULL,
  `a5b` varchar(2) NOT NULL,
  `a6a` varchar(2) NOT NULL,
  `a6b` varchar(2) NOT NULL,
  `a7a` varchar(2) NOT NULL,
  `a7b` varchar(2) NOT NULL,
  `a8a` varchar(2) NOT NULL,
  `a8b` varchar(2) NOT NULL,
  `a9a` varchar(2) NOT NULL,
  `a9b` varchar(2) NOT NULL,
  `a10a` varchar(2) NOT NULL,
  `a10b` varchar(2) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

--
-- Volcar la base de datos para la tabla `partidos`
--

INSERT INTO `partidos` (`id`, `a1a`, `a1b`, `a2a`, `a2b`, `a3a`, `a3b`, `a4a`, `a4b`, `a5a`, `a5b`, `a6a`, `a6b`, `a7a`, `a7b`, `a8a`, `a8b`, `a9a`, `a9b`, `a10a`, `a10b`) VALUES
(3, '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20');

Lo que quiero es imprimir en pantalla los nombres de los equipos, teniendo encuenta que los dos equipos que se van a cruzar estan en el primer partido a1a y a1b que guardan el id del equipo que se encuentra en la tabla equipos.

Estoy dando le vueltas pero no consigo tener claro como hacerlo... alguna idea?
  #2 (permalink)  
Antiguo 12/09/2011, 17:29
 
Fecha de Ingreso: junio-2005
Mensajes: 107
Antigüedad: 18 años, 10 meses
Puntos: 0
Respuesta: Relacioes con la tabla

Solucionado de la siguiente forma:

Código PHP:
 //Conectamos con la bases de datos
$connect=mysql_connect("localhost","","");
$selectDb=mysql_select_db("test",$connect);
//Hacemos una consulta con tablas relacionadas
$query=mysql_query("SELECT * FROM partidos");
//Sacamos los cruces de los partidos
while($row=mysql_fetch_array($query))
{
    
//Relacionamos los id de los cruces con los clubs
    
$cuenta=mysql_num_fields($query);
    for(
$i=1;$i<$cuenta;$i++)
    {
    
$query1=mysql_query("SELECT * FROM equipos WHERE id='".$row[$i]."'");
    while(
$row1=mysql_fetch_array($query1))
    {
        echo 
$row1['equipo'];
        
//Si es par mostramo un br si es impar mostramos -
        
if($i%2==0)
        {
            echo 
"<br><br>";
        }
        else
        {
            echo 
" - ";
        }
    }
    }


Etiquetas: tabla
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 10:30.