Брат твой код, работает. За знания я плачу. В ЛС напиши куда тебе кинуть денюшку. Хороший Ты человек)тут не любят готовый код ) так что вот так примерно можно сделать вывод чекбоксов с тегами для записи,
ну а как сохранить результат, я написал
DELETE FROM tags_data WHERE main_id='$id' -- все удалить
INSERT INTO tags_data (main_id,tag_id) VALUES ('$id','$ids[0]'), ('$id','$ids[1]'), ... и тд -- добавить выбранные теги
PHP:$tag_ids=array(); if ($res = $mysqli->query("SELECT * FROM tags_data WHERE main_id='".(int)$id."'")) // tag_id: 1 1 //main_id: 4 1 { while($tag_id = $res->fetch_assoc()) { $tag_ids[] = $tag_id['tag_id']; } } if ($result = $mysqli->query("SELECT * FROM tags ORDER BY name")) // id: 1 2 3 4 //name: Accustik Brass Drum Electro { while($tag = $result->fetch_assoc()) { $checked=""; if(in_array($tag['id'],$tag_ids)) $checked="checked"; echo ('<input type="checkbox" name="ids[]" value="' . $tag['id'] . '" ' . $checked . '>' . $tag['name'] . ' || '); } }
if ($result = $mysqli->query("SELECT * FROM tags_data WHERE tag_id='$tag'"))
{
while($tags_data = $result->fetch_assoc())
{
$main_id = $tags_data['main_id'];
if ($result2 = $mysqli->query("SELECT * FROM main WHERE id='$main_id' ORDER BY name")) // Не выводит по Алфавиту таблицы name
{
while($tag = $result2->fetch_assoc())
{
include ("template/mattis/post.html");
}
}
}
include ("template/mattis/post_end.html");
}
}
else
{
//Выборка всех таблиц...
if ($result = $mysqli->query("SELECT * FROM main ORDER BY name")) // А здесь всё ок. Выводит как надо.
{
while($tag = $result->fetch_assoc())
{
include ("template/mattis/post.html");
}
}
include ("template/mattis/post_end.html");
}
include ("template/mattis/end.html");
Конечно нет, много. (облако тегов)Что делает запрос: SELECT * FROM main WHERE id='$main_id' ORDER BY name ? Выбирает одну запись?
if ($result = $mysqli->query("SELECT * FROM tags_data WHERE tag_id='$tag'")) // Ошибка тут! Т.к. это первое действие. Тут получается если выставить ORDER BY main_id DESC но сортирует по ID а надо чтоб работало след. действие по Алфавиту.
{
while($tags_data = $result->fetch_assoc())
{
$main_id = $tags_data['main_id'];
if ($result2 = $mysqli->query("SELECT * FROM main WHERE id='$main_id' ORDER BY name ASC")) // Не выводит по Алфавиту таблицы name
{
while($tag = $result2->fetch_assoc())
{
include ("template/mattis/post.html");
}
}
}
include ("template/mattis/post_end.html");
}
}
else
{
//Выборка всех таблиц...
if ($result = $mysqli->query("SELECT * FROM main ORDER BY name ASC")) // А здесь всё ок. Выводит как надо.
{
while($tag = $result->fetch_assoc())
{
include ("template/mattis/post.html");
}
}
include ("template/mattis/post_end.html");
}
include ("template/mattis/end.html");
Проблема, очевидно, у тебя в голове.Так в чем же проблема? оО
да? А ни чё что я про это уже сам заметил? А на счёт головы не знаю, у кого проблемы.Проблема, очевидно, у тебя в голове.
Потому что ты делаешь два запроса там, где надо сделать один.
Подобный флуд неуместен...Ну раз заметил, перепиши код.
if ($result = $mysqli->query("SELECT * FROM tags_data WHERE tag_id='$tag'"));
while($tags_data = $result->fetch_assoc())
{
$main_id = $tags_data['main_id'];
if ($result2 = $mysqli->query("SELECT * FROM main WHERE id='$main_id' ORDER BY name ASC")) // Не выводит по Алфавиту таблицы name
{
while($tag = $result2->fetch_assoc())
{
include ("template/mattis/post.html");
}
}
}
include ("template/mattis/post_end.html");
}
Чтоб if ($result2 = $mysqli->query("SELECT * FROM main WHERE id='$main_id' ORDER BY name ASC")) действовал. Он не работает почему то.чтобы получить что?
на всякий случай - кодировка нужная включается при подключении?
кодировка та, в которой данные в базеЧтоб if ($result2 = $mysqli->query("SELECT * FROM main WHERE id='$main_id' ORDER BY name ASC")) действовал. Он не работает почему то.
Кодировка Utf-8? Да.