Из того, как вы это описали, складывается впечатление, что отношения между таблицами:
- у одного пользователя много списков
- в одном списке много конфигов
Если я правильно понимаю проблему, вы хотите просмотреть каждую запись конфигурации и получить набор списков для этой конфигурации.
если я использую ваши термины, схема будет выглядеть примерно так:
- Пользователь (ID)
- Список (xid, uid)
- Config (cid, cxid, uid)
где id = uid и xid = cxid.
И информация, которую вы хотите получить, для каждой записи в Config, все ее данные, а также все данные списка, соответствующие этой записи (вам также нужны данные пользователя?)
Это выглядит как прямое отношение, поэтому вы можете получить все эти данные одним SQL:
select c.*, l.*, u.*
from Config c
join List l
on c.cxid = l.xid
join User u
on u.id = l.uid
Этот запрос даст вам каждую запись в таблице конфигурации, содержащую все данные для списка, которому принадлежит эта конфигурация, а также все данные для пользователя, которому принадлежит этот список.
Если вы хотите получить данные для одной конкретной записи конфигурации, вы можете добавить sql для чтения как таковой (обратите внимание, что вам нужно только значение $ cid, поскольку это самый глубокий первичный ключ в этом отношении):
select c.*, l.*, u.*
from Config c
join List l
on c.cxid = l.xid
join User u
on u.id = l.uid
where c.cid = $cid
Итак, с точки зрения PHP, вы можете подойти к нему так:
// here is the sql query
$query = "select c.*, l.*, u.* from Config c join List l on c.cxid = l.xid join User u on u.id = l.uid";
// here are the results from MySQL
$result = mysql_query($query);
// and now for each result, throw it into an array called $row
while($row = mysql_fetch_assoc($result))
{
// get some data from that row, for example, Config.`data`, List.`functionname`, and User.`FirstName`
$config_data = $row['data'];
$function_name = $row['functionname'];
$first_name = $row['FirstName'];
// now do whatever you'd like with this data, before looping to the next record...
some_function($config_data, $function_name, $first_name);
}