Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

listar registros de dos tablas distintas

Estas en el tema de listar registros de dos tablas distintas en el foro de Mysql en Foros del Web. Wenas, aver si me explico: tengo una web con un foro phpbb y quiero mostrar en la pagina principal los titulos de los ultimos temas ...
  #1 (permalink)  
Antiguo 24/11/2009, 11:16
 
Fecha de Ingreso: enero-2002
Mensajes: 73
Antigüedad: 22 años, 3 meses
Puntos: 0
listar registros de dos tablas distintas

Wenas, aver si me explico:

tengo una web con un foro phpbb y quiero mostrar en la pagina principal los titulos de los ultimos temas (tabla topics) del foro y la url del icono (tabla icons) que ha seleccionado el usuario para el nuevo tema:

tengo la tabla topics con "title" y "id_icon"
tengo la tabla icons con "id_incons" y "icon_url"

topics.id_icon e icons.id_icons es el campo que relaciona las dos tablas.

He estado mirando con inner join etc...ahora mismo estoy perdido, les agradeceria un cable.
__________________
Información Turística sobre Merida --> MeridaEterna.com
  #2 (permalink)  
Antiguo 24/11/2009, 11:23
 
Fecha de Ingreso: septiembre-2009
Mensajes: 124
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: listar registros de dos tablas distintas

La consulta va a depender de los datos que quieras mostrar, si podes dar mas informacion seria mejor para poder ayudarte. Lo que podrias hacer es:

Código PHP:

SELECT topics
.id_iconicons.id_icons FROM topics LEFT JOIN topics.id_icon icons.id_icons 
Con eso podrias mostrar los datos id_icon e id_icons. Ahora, si queres mostrar mas datos podrias ir agregando campos en el SELECT. EJ: SELECT topics.id_icon, icons.id_icons, topics.title, icons.icon_url FROM ....


Espero que te sirva.

Saludos!
  #3 (permalink)  
Antiguo 24/11/2009, 11:24
 
Fecha de Ingreso: septiembre-2009
Mensajes: 124
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: listar registros de dos tablas distintas

Perdoname, estaba distraido, escribi cualquiera en la consulta. Seria de esta forma:

Código PHP:
SELECT topics.id_iconicons.id_icons FROM topics LEFT JOIN icons ON topics.id_icon icons.id_icons 
  #4 (permalink)  
Antiguo 24/11/2009, 11:45
 
Fecha de Ingreso: enero-2002
Mensajes: 73
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: listar registros de dos tablas distintas

Graciaaaaaaaass!!! voy a probarlo, sino lo consigo aportare mas datos pero creo que van por ahi los tiros. de nuevo gracias
__________________
Información Turística sobre Merida --> MeridaEterna.com
  #5 (permalink)  
Antiguo 24/11/2009, 14:25
 
Fecha de Ingreso: septiembre-2009
Mensajes: 124
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: listar registros de dos tablas distintas

Genial, avisa cualquier cosita!

Saludos!
  #6 (permalink)  
Antiguo 25/11/2009, 07:50
 
Fecha de Ingreso: enero-2002
Mensajes: 73
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: listar registros de dos tablas distintas

perfecto, va de lujo. Muxas gracias me has sacado de un apuro
__________________
Información Turística sobre Merida --> MeridaEterna.com
  #7 (permalink)  
Antiguo 03/06/2010, 12:30
 
Fecha de Ingreso: marzo-2009
Mensajes: 90
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: listar registros de dos tablas distintas

hola yo tengo problemas con mi listar no se donde cerrar, el if ($cedula!="") { no se donde cerrarla o q esta mala ya q el listar me trae 3 paginas ordenadas de 5 registros ya q tengo 13 registros en mi base de datos......pero solo me muestra los 5 primeros y al querer pasar para la pagina siguiente no me muestra los otros registros... miren el codigo y digamen q pasa porfavor siii....es urgente

<?php
require("seguridad.php");
?>


<?php
include ("conexion.php");
$cedula=$_POST['cc'];
if ($cedula!="")
{
$rst_consulta=mysql_query("select ventas.id_ventas,clientes.cedula,clientes.nombres, clientes.apellidos,libros.titulo,ventas.tipo,venta s.fecha from clientes, libros, ventas where clientes.cedula='$cedula' and ventas.id_cliente=clientes.id_cliente and ventas.codigo=libros.codigo LIMIT $inicio,$registros;",$conexion);
$num_consulta=mysql_num_rows($rst_consulta);
if ($num_consulta==0){

echo "No hay registros que mostar";
mysql_close($conexion);
exit();
}

$registros=5; //numero de registros que se mostraran en la pagina
$pagina=$_GET["num"];// variable que va recoger datos de la url

if(is_numeric($pagina))
$inicio=(($pagina-1)* $registros); // Si pagina es numerico es decir, pagina 2, 2-1=1 *5= 5
else
$inicio=0;// si no es numero por defecto empezaremos 0 es decir la inicial.
$rst_consulta=mysql_query("select ventas.id_ventas, clientes.cedula,clientes.nombres,clientes.apellido s,libros.titulo, ventas.tipo, ventas.fecha from clientes, libros, ventas
where clientes.cedula='$cedula' and ventas.id_cliente=clientes.id_cliente and ventas.codigo=libros.codigo LIMIT $inicio,$registros;",$conexion);
$paginas=ceil($num_consulta/$registros);// funcion decimal, para que aproxime el numero de paginas.
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<style type="text/css">
<!--
body {
margin-top: 0px;
background-image: url();
background-repeat: repeat;
background-color: #699;
}
body,td,th {
color: #EEF1F4;
}
#formulario #titulo {
background-color: #066;
}
#formulario {
background-color: #FFF;
}
#formulario {
background-color: #099;
}
#formulario #pie {
background-color: #066;
}
#formulario {
height: 900px;
width: 1000px;
}
#formulario {
margin: auto;
}
#formulario {
height: auto;
}
#formulario {
height: auto;
}
#formulario #menu {
float: left;
height: 80px;
width: 200px;
}
#formulario #menu {
height: 100px;
}
#formulario table {
background-color: #066;
}
#formulario #Conten {
float: right;
height: 200px;
width: 600px;
}
#formulario #menu {
height: 200px;
}
#formulario #titulo center #exit {
width: 20px;
}
#formulario #titulo center #exit {
float: right;
width: 50px;
}
#formulario #titulo center #exit {
width: 20px;
float: none;
}
#formulario #titulo center #exit {
float: right;
}
#apDiv1 {
position:absolute;
left:887px;
top:0px;
width:255px;
height:4px;
z-index:1;
}
#apDiv2 {
position:absolute;
left:888px;
top:38px;
width:113px;
height:37px;
z-index:1;
}
#formulario #TABLA table tr th #codigo {
text-align: center;
}
#formulario #TABLA table tr td #libro {
text-align: center;
}
#formulario #TABLA table tr td #Autor {
text-align: center;
}
#formulario #TABLA table tr td #editorial {
text-align: center;
}
#formulario #TABLA table tr td #Precio {
text-align: center;
}
#formulario #paginador {
text-align: center;
}
#formulario #Nuevo {
background-color: #066;
text-align: center;
}
#formulario #Nuevo a strong {
font-family: Tahoma, Geneva, sans-serif;
font-size: 14px;
color: #FFF;
}
#formulario #TABLA table tr td #titulo {
text-align: center;
}
#formulario #TABLA table tr td #cedula {
text-align: center;
}
#formulario #TABLA table tr td #nombres {
text-align: center;
}
#formulario #TABLA table tr td #apellidos {
text-align: center;
}
-->
</style>
</head>

<body>
<div id="formulario">
<div id="titulo"><center>
<h2>Libreria L.T.D.A.</h2>
</center>
</div>
<div>
<h3><center>
<strong>REGISTRO DE UN CLIENTE</strong><br />
</center>
</h3
>
</div>
<div id="Nuevo"><a href="index.php"><strong>Consultar otro cliente</strong></a></div>
<p>&nbsp; </p>
<div id="TABLA"><table width="958" border="1" align="center">
<tr>
<th width="76" scope="row"><div id="factura">N° Factura</div></th>
<td width="120"><div id="cedula"><strong>Cedula</strong></div></td>
<td width="164"><div id="nombres"><strong>Nombres</strong></div></td>
<td width="165"><div id="apellidos"><strong>Apellidos</strong></div></td>
<td width="190"><div id="titulo"><strong>Libro</strong></div></td>
<td width="101"><div id="tipo"><strong>Forma de pago</strong></div></td>
<th width="96" scope="row"><div id="fecha">Fecha</div></th>
</tr>

<?php
while ($fila=@mysql_fetch_array($rst_consulta))
{

?>

<tr>
<th scope="row"><?php echo $fila["id_ventas"];?></th>
<td><?php echo $fila["cedula"];?></td>
<td><?php echo $fila["nombres"];?></td>
<td><?php echo $fila["apellidos"];?></td>
<td><?php echo $fila["titulo"];?></td>
<td><?php echo $fila["tipo"];?></td>
<td><?php echo $fila["fecha"];?></td>
</tr>
<?php
}

?>
</table>


</div>

<p>&nbsp;</p>
<p>&nbsp;</p>
<div id="paginador">
<?php
if ($pagina>1)
echo "<a href='listar_registros.php?num=".($pagina-1)."'>Anterior</a> ";

for ($cont=1;$cont<=$paginas;$cont++){

if ($cont==$pagina)
echo $cont ." ";
else

echo "<a href='listar_registros.php?num=".$cont."'>".$cont. "</a> ";
}
if ($pagina<$paginas)
echo "<a href='listar_registros.php?num=".($pagina+1)."'>Si guiente </a> ";

?>
</div>

<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div id="pie">
<h4><center>
<strong>Ing Sistemas VIII - 2010</strong>
</center></h4>
</div>
</div>

</body>
</html>

Última edición por kosios; 03/06/2010 a las 12:32 Razón: me faltaron datos
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 19:45.