Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/05/2009, 12:30
nicomonjes
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 33
Antigüedad: 15 años
Puntos: 1
Relacionar Tablas con select from where

Buenas gente linda!, tengo un problema que para muchos de ustedes es muy simple pero para mi que soy novato no le he agarrado la mano.
Tengo dos tablas en una base de datos,

usuarios (id, nombre, pass, tipo, etc etc)

historial (nombre, forma de pago, concepto, importe, etc etc)

La cuestion es que estoy desarrollando una pagina donde listo el historial de cada cliente
por lo que cree una tabla y el while para desplegar los resultados en celdas pero no puedo relacionar o lo que sería seleccionar los datos de las tablas
El problema es que me aparecen todos los resultados, yo filtro con el campo nombre pero aunque tengan diferente nombre me muestran todos.
aqui les mando el sql y luego mi php y mi resultado...

MY SQL
Código:
-- Estructura de tabla para la tabla `historial`
--

CREATE TABLE IF NOT EXISTS `historial` (
  `nick` char(100) NOT NULL,
  `numero` varchar(100) NOT NULL,
  `fecha` date NOT NULL,
  `concepto` varchar(300) NOT NULL,
  `formadepago` varchar(100) NOT NULL,
  `importe` varchar(100) NOT NULL,
  `pagado` varchar(100) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


--
-- Estructura de tabla para la tabla `usuarios`
--

CREATE TABLE IF NOT EXISTS `usuarios` (
  `id` bigint(7) NOT NULL auto_increment,
  `nick` char(100) NOT NULL,
  `password` char(100) NOT NULL,
  `nombre` char(255) default NULL,
  `email` char(100) default NULL,
  `servicio` char(255) default NULL,
  `domicilio` text,
  `dni` char(255) default NULL,
  `contacto` char(255) default NULL,
  `url` char(255) default NULL,
  `desde` char(255) default NULL,
  `mensual` varchar(100) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=19 ;
aqui esta mi consulta php para que me arroje los datos
Código PHP:
<?php
    $result
=mysql_query("SELECT usuarios.*, historial.* FROM historial, usuarios WHERE usuarios.nick = historial.nick",$link);

    while(
$row mysql_fetch_array($result)) {
        
printf("<tr><td> %s</td><td> %s </td><td> %s</td><td> %s</td><td><img src=%s></td></tr>"$row["numero"],$row["fecha"],$row["concepto"],$row["importe"],$row["pagado"]);
    }
    
mysql_free_result($result);
    
mysql_close($link);
?>
El problema es que me muestra todos los historiales, no los de un usuario en especial o sea no me muestra los historiales donde se da la condición que ambos "nombre" de los campos se repitan en historial como en usuarios.
No se si es que tengo que poner claves primarias o alguna cosa en la base de datos o no este mi error en la base sino en el código php

Muchas gracias por su ayuda y piedad para mi que no entiendo!!!!