[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Структура БД
Страницы: 1, 2, 3
Wahtel
AllesKlar
Спасибо, буду пробовать.
Wahtel
AllesKlar
Сорри что дергаю, добавление, редактирование и удаление нормально работает, но вот с этой страницой все равно не ясно, я там пишу твой запрос

$sql = "
SELECT * FROM products LEFT JOIN users_products ON products.id = users_products.p_id
WHERE users_products.u_id = 1
";
mysql_query($sql) or die(mysql_error());

пробую этот запрос в mysql, пишет empty set.
AllesKlar
сделай дамп базы и прикрепи сюда

_____________
[продано копирайтерам]
Wahtel
AllesKlar
Лол, а как всю БД за дампить?)
AllesKlar
в phpmyadmin читай интерфейс

_____________
[продано копирайтерам]
Wahtel
AllesKlar
У меня просто не стоит phpmyadmin.
AllesKlar
Блин, из тебяя что, по слову вытягивать? biggrin.gif
А что у тебя?

_____________
[продано копирайтерам]
Wahtel
AllesKlar
аххаха, у меня стоит apache - php - mysql
AllesKlar
тогда mysqldump тебе в помощь

_____________
[продано копирайтерам]
Wahtel
AllesKlar
Задампил


-- MySQL dump 10.13 Distrib 5.5.23, for Win32 (x86)
--
-- Host: localhost Database: shop
-- ------------------------------------------------------
-- Server version 5.5.23

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `products`
--

DROP TABLE IF EXISTS `products`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `products` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`brand` varchar(50) NOT NULL DEFAULT '',
`description` varchar(50) NOT NULL DEFAULT '',
`price` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `products`
--

LOCK TABLES `products` WRITE;
/*!40000 ALTER TABLE `products` DISABLE KEYS */;
INSERT INTO `products` VALUES (2,'TeleVision','Very cool tv',1500),(3,'Rapier','careful, it falls...',5100);
/*!40000 ALTER TABLE `products` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `users`
--

DROP TABLE IF EXISTS `users`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL DEFAULT '',
`login` varchar(50) NOT NULL DEFAULT '',
`password` varchar(50) NOT NULL DEFAULT '',
`email` varchar(50) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `users`
--

LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
INSERT INTO `users` VALUES (1,'Paul','Wahtel','Wahtel','wahtel@ukr.net'),(2,'Riki','Maru','stealth','riki@ukr.net');
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `users_products`
--

DROP TABLE IF EXISTS `users_products`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `users_products` (
`u_id` int(11) NOT NULL DEFAULT '0',
`p_id` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`u_id`,`p_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `users_products`
--

LOCK TABLES `users_products` WRITE;
/*!40000 ALTER TABLE `users_products` DISABLE KEYS */;
/*!40000 ALTER TABLE `users_products` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2014-12-16 17:44:40


AllesKlar
у тебя таблица users_products пустая.

Хотя, чет я намудрил там, в твоем случае она не нужна. Можешь удалять smile.gif
Расширь таблицу products полем u_id и все.
И никаких join тебе не нужно будет.

_____________
[продано копирайтерам]
Wahtel
AllesKlar
u_id primary key?
А потом просто запросом:

Select * from products WHERE id = u_id

вывести это на страницу?
AllesKlar
Нет.
primary key - это что?
Это значит, что в этом столбце будут уникальные значения, по которым можно четко идентифицировать строку в таблице.
таблица products
id - идентификатор продукта
brand - название производителя
description - описание продукта
price - цена продукта
u_id - идетнификатор пользователя, который этот продукт внес в таблицу.

Пользователь может больше одного продукта добавить? Может. Значит это поле не может уже быть уникальным, т.к. в нем будет несколько одинаковых значений.

Обычный индекс.

Далее.
Прежде чем составить запрос, проговори его на человеческом языке.
В твоем случае это:
Хочу все продукты, у которых идетификатор пользователя равен пять (два / пятнадцать / сорок один).
Теперь давай проговорим вслух твой запрос:
Select * from products WHERE id = u_id

Хочу все продукты, идентификатор которых равен идентификатору пользователя, добавишего его
Это как бы тебе говорят: дайте нам список машин Иванова.
А ты пытаешься искать машины, номера которых равны номеру паспорта Иванова.

_____________
[продано копирайтерам]
Wahtel
AllesKlar
Я думаю что должна быть переменная $u_id в которой будет хранится индетификатор пользователя, которую и надо подставлять в запрос.
AllesKlar
ДААААААА

_____________
[продано копирайтерам]
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.