2017-01-13 4 views
0

У меня возник вопрос о добавлении значений в таблицу. Сейчас я работаю над приложением, в котором вы можете сохранить запас, например, в магазине инструментов.столбец MySQL с несколькими значениями

<?php 
include 'dbconnect.php'; 

// Stock query 
$sql = "SELECT * FROM product WHERE locationcode = 'loc1'"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
     echo "<tr>"; 
     echo "<td>".$row['locationcode']."</td>"; 
     echo "<td>".$row['product_id']."</td>"; 
     echo "<td>".$row['amount']."</td>"; 
    } 
} 
else { 
    echo "0 results"; 
} 

$conn->close(); 

стол, который я сделал для продуктов, доступных состоит из следующих колонок:
- Product ID
- Тип продукта
- Марка
- Модель
- Стоимость Цена
- Продажа Цена
- Код города
- Сумма

Множество продуктов из этого инструментального цеха доступны в нескольких местах (в стране расположено несколько физических магазинов).

Можно ли добавить более одного значения в столбец? Это связано с тем, что клиент должен иметь возможность фильтровать продукты и соответствующие местоположения (IE. Продукт может быть доступен как в местоположении 1, так и в местоположении 2).

Заранее благодарен!

+2

См. Нормализацию. – Strawberry

ответ

2

Я бы настоятельно рекомендовал не добавлять более одного значения в столбец, например. используя CSV здесь. Вместо этого создайте новую таблицу, скажем product_locations, которая имеет один столбец для идентификатора продукта и другой столбец для идентификатора местоположения.

Например, если продукт 1 появился только в позиции 1, и продукт 2 появился в обоих местах 1 и 2, таблица будет выглядеть следующим образом:

ProductID | LocationID 
    1  |  1 
    2  |  1 
    2  |  2 

Обратите внимание, что если у вас есть необходимость в покажите все местоположения данного продукта, вы всегда можете заполнить таблицу выше, используя GROUP_CONCAT, например

SELECT ProductID, GROUP_CONCAT(LocationID) AS locations 
FROM product_locations 
GROUP BY ProductID 
Смежные вопросы