2013-07-09 3 views
1

У меня есть таблица mysql с 100 000 местоположений, которые я бы хотел применить вложенную модель набора, чтобы я мог легко создавать упорядоченные списки. По очевидным причинам, это небольшая задача, которую нужно выполнить вручную, поэтому я надеялся, что, учитывая, что мои данные достаточно хорошо структурированы, это было бы что-то, что могло бы быть написано в SQL (или PHP в качестве резервной копии). Вот таблица:MySQL автоматическая генерация модели вложенного набора в большом списке данных?

Id    place    county   country 
1    Abberly   Worcestershire England 
2    Abberton   Worcestershire England 
3    Abbey Field  Essex   England 
4    Abbey St Bathans Scottish Border Scotland 
5    Abbeycwmhir  Powys   Wales 

Мои планы перенести содержимое на стол что-то вроде следующего:

id  location   _left _right 
1  England  
2  Wales 
3  Scotland 
4  Essex 
5  Powys 
6  Scottish Border 
7  Worcestershire 
8  Abberyly 
9  Abberton 
10  Abbey Field 
11  Abbey St Bathans 
12  Abbeycwmhir 

Любая помощь очень ценится!

+0

Это возможно, вы сами что-то пробовали? – Tredged

+0

У меня проблемы с моей головой. Я не уверен, что лучший маршрут состоит в том, чтобы настроить новую таблицу с помощью только id, name, _left, _right там, как только это будет перемещено во вложенную модель, что облегчит выбор «Worcestershire» как " имя ", а затем найти всех своих детей со значениями L/R? – James

ответ

1

Таблица MySQL содержит 100 000 строк? затем сделайте что-то вроде таблицы перед ней, она покажет все в виде табуляции того, что вы хотели.

<?php 
$query = "SELECT id, name, country FROM table"; 
if ($result = mysqli_query($connect, $query)) { 
while ($get = mysqli_fetch_assoc($result)) { 
echo"<tr><td>" . $get['id'] . "</td>"; 
echo"<td>" . $get['name'] . "</td></tr>"; 
echo"<td>" . $get['country'] . "</td></tr>";          
} 
} 
?> 

Вроде бы это помогло.

+0

Я должен был упомянуть, что он должен быть вложен, чтобы я мог запросить другую таблицу следующим образом: SELECT * FROM data WHERE locationId IN (2,3) – James

Смежные вопросы