Foros del Web » Programando para Internet » PHP »

Mostrar datos de 2 tablas entrelazadas.

Estas en el tema de Mostrar datos de 2 tablas entrelazadas. en el foro de PHP en Foros del Web. Hola estoy tratando de hacer que un php me muestre datos de dos tablas para poder luego crear la funcion para modificarlos. Tengo algo echo, ...
  #1 (permalink)  
Antiguo 21/05/2007, 17:24
 
Fecha de Ingreso: marzo-2002
Mensajes: 42
Antigüedad: 22 años, 1 mes
Puntos: 0
Mostrar datos de 2 tablas entrelazadas.

Hola estoy tratando de hacer que un php me muestre datos de dos tablas para poder luego crear la funcion para modificarlos. Tengo algo echo, pero no se hacer que muestre el nombre en la segunda tabla.

Script:

Código PHP:
<html>
<head>
<title>Formulario</title>
</head>
<body>

<? 

# definimos una variable con el NOMBRE DE LA BASE DE DATOS


$base="x";

# establecemos la conexión con el servidor

$conexion=mysql_connect ("localhost","x","x");

#Seleccionamos la BASE DE DATOS en la que PRETENDEMOS TRABAJAR

mysql_select_db ($base$conexion);


#creamos una consulta de las bases de datos demo4 y demodat2
# esta segunda es la tabla de puntuaciones de la segunda prueba
# seleccionamos los campos DNI de ambas tablas
# y nombre y apellidos de la primera
# establecemos como condicion la IGUALDAD DE LOS DNI en ambas BASES





$resultado=mysql_query("SELECT * FROM `jos_joomleague_players` WHERE `info`='Los Canallas'",$conexion);



# presentamos la salida en forma de tabla HTML

# estos son los encabezados


echo "<table align=center border=2 bgcolor='#F0FFFF'>";
    echo 
"<td colspan=5 align=center>Para modificar escribe en la casilla correspondiente</td><tr>";
        echo 
"<td colspan=4 align=center>Datos del aspirante</td>";
    echo 
"<td align=center>Puntuación</td><tr>";


#escribimos la etiqueta de apertura de un formulario como method=post
# como action ponemos la direccion de la página que realizará las actualizaciones
# en este caso sera ejemplo133.php

    
echo "<form name='modificar' method=post action='ejemplo133.php'>";

while(
$salida mysql_fetch_array($resultado)){

    
# escribimos un bucle que nos lea desde el indice 0 hasta el indice 6
        # de la matriz de salida ya que los indices 0,1,2,3,4...
        # se corresponden con el número de orden tal como fueron establecidos
        # los campos en la opción SELECT: 0 es el indice del primero
        # 1 el de segundo, 2 el del tercero, etc. etc.

       
for ($i=0;$i<5;$i++){

# establecemos un condicion que escriba una tabla normal SALVO
# cuando $i=4 que es el valor actual de la puntuación
# cuando eso ocurre pedimos que escriba en la celda de la tabla
# un campo de formulario TIPO TEXTO cuyo NOMBRE SEA UNA MATRIZ
# aqui la hemos llamado ident 
# cuyos indices sean los DNI de los personajes de la tabla
# recuerda que la $Salida[0] contiene siempre el primer elemento
# definido en la opcion SELECT y que en este caso es el DNI
# PEDIMOS QUE ESE CAMPO DEL FORM tenga por valor EL VALOR ACTUAL DE LA PUNTUACION
# existente en la base de DATOS


        
if($i!=4){       

    echo 
"<td>",$salida[$i],"</td>";
        }else{
        echo 
"<td><input type=text size=8 name=ident[$salida[0]] value=$salida[4]></td><tr>";
    }


       
#cerramos el bucle for

        
}   

    
# CERRAMOS EL BUCLE WHILE

}


# cerramos la conexión... y listo...

         
mysql_close($conexion)
 


# SALIMOS DE PHP y ponemos los botones de borrar /enviar desde HTML

?>

<td colspan=5 align=center><br><input type=submit value='Modificar'>&nbsp;<input type=reset value='Borrar'>

<!-- CERRAMOS EL FORMULARIO Y LA TABLA -->

</form></table>



<?


$base
="x";

# establecemos la conexión con el servidor

$conexion=mysql_connect ("localhost","x","x");

#Seleccionamos la BASE DE DATOS en la que PRETENDEMOS TRABAJAR

mysql_select_db ($base$conexion);

$resultadosx=mysql_query("SELECT * FROM `jos_joomleague_playertool` WHERE `team_id`='22'",$conexion);


echo 
"<table align=center border=2 bgcolor='#F0FFFF'>";
    echo 
"<td colspan=5 align=center>Para modificar escribe en la casilla correspondiente</td><tr>";
        echo 
"<td colspan=4 align=center>Datos del aspirante</td>";
    echo 
"<td align=center>Puntuación</td><tr>";


#escribimos la etiqueta de apertura de un formulario como method=post
# como action ponemos la direccion de la página que realizará las actualizaciones
# en este caso sera ejemplo133.php

    
echo "<form name='modificar' method=post action='ejemplo133.php'>";

while(
$salida mysql_fetch_array($resultadosx)){

    
# escribimos un bucle que nos lea desde el indice 0 hasta el indice 6
        # de la matriz de salida ya que los indices 0,1,2,3,4...
        # se corresponden con el número de orden tal como fueron establecidos
        # los campos en la opción SELECT: 0 es el indice del primero
        # 1 el de segundo, 2 el del tercero, etc. etc.

       
for ($i=0;$i<5;$i++){

# establecemos un condicion que escriba una tabla normal SALVO
# cuando $i=4 que es el valor actual de la puntuación
# cuando eso ocurre pedimos que escriba en la celda de la tabla
# un campo de formulario TIPO TEXTO cuyo NOMBRE SEA UNA MATRIZ
# aqui la hemos llamado ident 
# cuyos indices sean los DNI de los personajes de la tabla
# recuerda que la $Salida[0] contiene siempre el primer elemento
# definido en la opcion SELECT y que en este caso es el DNI
# PEDIMOS QUE ESE CAMPO DEL FORM tenga por valor EL VALOR ACTUAL DE LA PUNTUACION
# existente en la base de DATOS


        
if($i!=4){       

    echo 
"<td>",$salida[$i],"</td>";
        }else{
        echo 
"<td><input type=text size=8 name=ident[$salida[0]] value=$salida[4]></td><tr>";
    }


        
#cerramos el bucle for

        
}   

    
# CERRAMOS EL BUCLE WHILE

}


# cerramos la conexión... y listo...

         
mysql_close($conexion)
 


# SALIMOS DE PHP y ponemos los botones de borrar /enviar desde HTML

?>

<td colspan=5 align=center><br><input type=submit value='Modificar'>&nbsp;<input type=reset value='Borrar'>

<!-- CERRAMOS EL FORMULARIO Y LA TABLA -->

</form></table>

<!-- LOS CAMPOS DEL FORMULARIO PUEDEN MODIFICARSE DESDE EL TECLADO
     Y RECOGERAN LAS MODIFICACIONES EN EL ARRAY iden que como recuerdas
     TENIA POR INDICE EL Nº DE DNI
     AL PULSAR EN ENVIAR ESE ARRAY ES PASADO A ejemplo133.php
     QUE REALIZA LA ACTUALIZACION DE LA TABLA -->






</body>
</html>
Lo que quiero es:

Poder, en la primera tabla , modificar todos los campos menos el ID.

En la segunda tabla, que me muestre todos los campos de esa tabla para poderlos modificar PERO que me muestre ademas el nombre del jugador (ya que esa tabla solo contiene el ID del jugador, entonces quiero que busque ese ID en la tabla anterior y me muestre el nombre).

Gracias por la ayuda...

PD: monte todo modificando un ejemplo de php que encontre para modificar tablas..jjeje...
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 16:19.