Как да извлека от две таблици резултата?

RREBORN

Registered
Значи имам две таблици в базата данни в едната съхранявам профила на потребителя а в другата таблица снимките който е качил. Значи искам като кликна на потребителя да ми покаже профила + снимките който е качил.
Ето я базата данни
Код:
CREATE TABLE `profil` 
(
 `id` int(11) NOT NULL auto_increment,
 `username` varchar(55) NOT NULL,
 `name` varchar(255) NOT NULL,
 `grad` varchar(255) NOT NULL,
 `adress` varchar(55) NOT NULL,
 `phone` varchar (50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM;

CREATE TABLE `picture` 
(
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(255) NOT NULL default '',
  `title` varchar(255) NOT NULL default '',
   `picture_1` varchar(255) NOT NULL default '',
  PRIMARY KEY (`id`)
  ) ENGINE=MyISAM;
 
Най-отгоре под
session_start();
Добавяш
$user = $_SESSOION['username'];
И слагаш този код
$zaqkva = "SELECT * FROM `profil` WHERE `username`='$user'";
$rezultat = mysql_query($zaqvka);
while ($row = mysql_fetch_array($rezultat))
{
$rusername = $row['username'];
$rname = $row['name'];
$rgrad = $row['grad'];
$radres = $row['adress'];
$rphone = $row['phone'];
$zaqkva2 = "SELECT * FROM `picture` WHERE `username`='$rusername'";
$rezultat2= mysql_query($zaqvka2);
while ($raw = mysql_fetch_array($rezultat2))
{
$rtitle = $raw['title'];
$rpicture = $raw['picture_1'];
echo "Потребителко име: $rusername <br />Име: $rname <br />Град: $rgrad <br />Адрес: $radres <br />Телефон: $rphone<br />";
echo "Изображенитето: $rtitle и $rpicture";
}
}
 
ц-ц-ц

Код:
CREATE TABLE `profil`
(
 `id` int(11) NOT NULL auto_increment,
 `username` varchar(55) NOT NULL,
 `name` varchar(255) NOT NULL,
 `grad` varchar(255) NOT NULL,
 `adress` varchar(55) NOT NULL,
 `phone` varchar (50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM;

CREATE TABLE `picture`
(
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(255) NOT NULL default '',
  `title` varchar(255) NOT NULL default '',
   `picture_1` varchar(255) NOT NULL default '',
  PRIMARY KEY (`id`)
  ) ENGINE=MyISAM;

Ето ти заявката

Код:
SELECT
      profil.*, picture.*
FROM
      profil
LEFT JOIN
      picture ON picture.username = profil.username
WHERE
      picture.username = profil.username

Ето ти един пример...
 
Начините безспорно са много, но WHERE клаузата е излишна, защото имаш ON, а условията в двете са ти едни и същи.

Напиши един join по стария начин и ще видиш, че дублирането е безсмислено.
Код:
SELECT * FROM t1,t2 WHERE t1.id=t2.id;
ON или WHERE: едното е достатъчно.
 

Back
Горе