|
|
|
| Помогите разобраться :)
Предыстория (читать не обязательно)
Я новичок в сфере сайтостроении, бьюсь несколько дней не могу сообразить. Короче:
Есть админка на сайте (сайт пишу сам), раздел "редактирование заметки". Так-вот кодгда выводится заметка в форме и из подставленными для неё данными которые выводятся из mysql, среди которых "категории" и тэги (темы) этой заметки. Я добился что-бы "категории" выводились и подставлялись автоматом под конкретную заметку а вот с тэгами (темами) этого не получается они выводятся но не отмечаются.
Вопрос: Как сделать следующее? Нужно чтобы при выводе заметки для редактирования выводились теги (темы) checkbox к этой заметке, которых может быть и один и несколько и автоматом обрабатывались т.е. отмечались. | |
|
|
|
|
|
|
|
для: Ярослав
(19.04.2012 в 12:42)
| | Ответьте на вопрос - по какому признаку (условию) должны отмечаться они? Если же такового условия нет, то просто указывайте чекбоксам атрибут checked. Но тогда вопрос - для чего они у вас служат? | |
|
|
|
|
 26.8 Кб |
|
|
для: confirm
(19.04.2012 в 13:00)
| | Если правильно понял, попробую ответить.
Условие следующее: есть, ли соответствия в сводной таблице, между id заметки и тэгов (далее тем). Попробую объяснить принцип работы. Выводятся все темы из чэкбоксами которые есть в таблице tags, далее выводится строки из таблицы post_tags где есть id нужной заметки, после чего идет сверка id в таблице tags и теми полями что были в выборке в таблице post_tags. Извините если выражаюсь не совсем понятно, понимаю что написанное может грузонуть своей непонятностью.
Может это поможет делу. Внизу часть кода которая занимается реализацией задуманного.
А также скриншот сводной таблицы.
Буду очень признателен за помощь.
таблица TAGS - в ней находятся перечень тем
таблица POST_TAGS - это сводная таблица содержит id заметок и тем.
/* Подключение таблицы TAGS */
$result_tag = mysql_query("SELECT * FROM tags",$db);
if (!$result_tag){echo '<p>Ошибка доступа к таблице tag</p>';exit (mysql_error());}
if (mysql_num_rows ($result_tag) > 0){$myrow_tag = mysql_fetch_array ($result_tag);}else{echo '<p>В таблице tag нет информации</p>';}
/* Вывод тэгов */
do
{
/* Подключение таблицы POST_TAGS для проверки */
$result_post_tags = mysql_query("SELECT id_tags FROM post_tags WHERE id_post='$id_post'",$db); // в переменную $id_post заносится id заметки.
if (!$result_post_tags){echo '<p>Ошибка доступа к таблице post_tags</p>';exit (mysql_error());}
if (mysql_num_rows ($result_post_tags) > 0){$myrow_post_tags = mysql_fetch_array ($result_post_tags);}else{echo '<p>В таблице post_tags нет информации</p>';}
do
{
$tg = $myrow_post_tags[id_tags];
if ( $myrow_tag[id] == $tg )
{
echo '<label><input type="checkbox" name="tag[]" value="'.$myrow_tag[id].'" checked>'.$myrow_tag[title].'</label><br>';
}
else
{
echo '<label><input type="checkbox" name="tag[]" value="'.$myrow_tag[id].'">'.$myrow_tag[title].'</label><br>';
}
}
while ( $myrow_post_tags = mysql_fetch_array ($result_post_tags) );
}
while ( $myrow_tag = mysql_fetch_array ($result_tag) );
|
| |
|
|
|
|
|
|
|
для: Ярослав
(19.04.2012 в 13:57)
| | Действительно непонятно. Чекбокс, это выбор. Например, некоторые записи, категории, или еще чего либо, можно скрывать от пользователей или показывать. К примеру, вы добавляете категорию товаров, а она еще не в полной мере заполнена, вот на это время скрыть. Или по иным причинам.
В этом случае вам чекбокс будет отображать активность такой категории, а отметив или разъотметив чекбокс, вы либо показываете ее, либо скрываете - устанавливаете признак в базе 0 или 1.
А что в вашем случае делают чекбоксы, кроме как отмечают наличие? Таковую информацию можно отобразить и без них. | |
|
|
|
|
 37.8 Кб |
|
|
для: confirm
(19.04.2012 в 14:07)
| | Я действительно благодарен Вам за помощь решить мой вопрос.
Наверное нужно еще много чего уточнить, для более точного понимания того, что я от Вас хочу. Действительно оказываться сложно высказать то что творится в голове, но нужно питаться.
На сайте вывод тем установил.
Теперь вопрос админки, по задумке когда создается заметка, темы к которым относится заметка отмечаются в чекбоксах, это записывается в так называемую временную (сводную) таблицу, с этим тоже получилось.
А вот с редактированием этой заметки получается сложность. Сложность в том, чтобы выводились все темы (чекбоксы), а те что относятся к этой заметке были уже выделены.
Код который я выложил ранее делает это , но он делает цикл вывода столько раз сколько есть тем (скриншот в прикрепленном файле) т.е. делает ненужное движение (как бы копирование).
Может есть какой то изначально другой способ реализации этого. | |
|
|
|
|
|
|
|
для: Ярослав
(19.04.2012 в 14:38)
| | Опять вы не о том.
Чекбокс - это элемент, который пользователь может выбрать или снять отметку. Выбранный чекбокс обязательно будет отправлен на сервер. При его получении вы уже будете знать, что далее делать. А это может быть:
а) отмеченный чекбокс означает удаление выбранной записи, категории и т.п.;
б) отмеченный чекбокс означает показ выбранной записи, категории и т.п., а те что что разотмечены пользователем (не пришли на сервер) - скрыть;
в) отмеченный чекбокс означает перемещение выбранной записи, категории и т.п. в другую категорию.
И еще множество других действий. То есть, чекбокс не для красоты, он подразумевает действие, чего у вас нет, по крайней мере об этом вы не сказали ни слова.
Просто же отобразить информацию наличия чего либо, так для этого чекбокс не нужен, даже более того, неудобен.
Хотите просто отобразить, так что вам мешает, например так:
-----------------------------
Сообщение | img
-----------------------------
Текст 1 | --
Текст 2 | да
Текст 3 | --
|
Как в этом примере. Зачем в этом случае чекбоск?
Вот что объясните - какую роль (действие) подразумевает выбор или нет чекбокса у вас? | |
|
|
|
|
|
|
|
для: confirm
(19.04.2012 в 15:01)
| | Ухх... :)
Чекбокс нужен для:
в) отмеченный чекбокс означает перемещение выбранной записи, категории и т.п. в другую категорию. | |
|
|
|
|
|
|
|
для: Ярослав
(19.04.2012 в 15:08)
| | Ясно. А зачем тогда отмечать их (чекбоксы) при выводе записей (из базы), о чем вы изначально спрашивали?
Ведь решение перемещать что либо вы будете потом, получив эти записи на странице. То что вы отметите, значит переместить. Или вы опять не точно описали свое желание и в этом случае? | |
|
|
|
|
|
|
|
для: confirm
(19.04.2012 в 15:13)
| | Еще как-бы дополню общее описание процесса.
Когда чекбоксы выведутся и среди них будут отмечены те которые относятся к заметке (статье). После, установка галочек в других чекбоксах, будет означать что к этой заметке нужно добавить соответствующие темы, а снятие галочек с чекбоксов у которых они установлены, будет означать что нужно убрать соответствующие темы у этой заметки.
>Ведь решение перемещать что либо вы будете потом, получив эти записи на странице. То что вы отметите, значит переместить.
Так вот и борюсь, что бы получить "правильные" чекбоксы на странице для редактирования. | |
|
|
|
|
|
|
|
для: Ярослав
(19.04.2012 в 15:26)
| | Ясно. Тогда лучше использовать для этой цели всего один чекбокс, то есть для каждой записи один чекбокс, который будет содержать id текущего родителя, а так же принимать id нового родителя (категории в которую нужно переместить).
Получив выбранные чекбоксы извлекать эти id и производить обновление таблицы. В помощь к этому потребуется JavaScript, так как выбор категории, в которую нужно будет переместить, это конечно список, иное будет просто неудобно.
Можно и два чекбокса - один содержит текущего родителя, второй нового. Но одного будет вполне достаточно.
Прочтите обязательно о функции mysql_fetch_array(), так как вы ее используете, это расточительство. Цикл do while тут тоже не к месту. | |
|
|
|
|
 30.7 Кб |
|
|
для: confirm
(19.04.2012 в 15:35)
| | Не совсем понял.
В данном случае чекбокс и есть один, он только проходи цикл несколько раз, из за чего и получаются не нужные копии.
Не понял случай из родителями.
По поводу функции mysql_fetch_array() согласен, мне кажется что здесь я и зарылся в коде, потому что знаю только этот способ выбирать инфо из таблиц. Если есть возможность, то сообщите какую функцию желательно использовать.
И затея почти получилась, но искривление было из за цикла do while который, как Вы говорите не к месту, и я не смог пока придумать более подходящего.
Так может это все не правильно. Может нужно совсем с другой стороны.
Что посоветуете в данной ситуации? Может был подобный опыт? Может источник сайт, книга?...
И еще постараюсь как-то повлиять на данный вопрос. Отправлю несколько скриншотов, как действует уже написанный код, он почти подходит но есть маленький "бок"...
Скрин, описание №1
$tg = $myrow_post_tags[id_tags];
if ( $myrow_tag[id] == $tg )
{
echo '<label><input type="checkbox" name="tag[]" value="'.$myrow_tag[id].'" checked>'.$myrow_tag[title].'</label><br>';
}
else
{
echo '<label><input type="checkbox" name="tag[]" value="'.$myrow_tag[id].'">'.$myrow_tag[title].'</label><br>';
}
|
Это центральная часть кода (который вверху). Если посмотреть скрин (прикр. файл) то он ставит галочки правильно, но из за того что он проходит цикл несколько раз он делает как-бы копии, хотя тему нужно вывести только один раз, либо с галочкой либо без.
Продолжение следует... | |
|
|
|
|
 15.2 Кб |
|
|
для: Ярослав
(19.04.2012 в 16:12)
| | А если использовать это код без else:
Скрин, описание №2
$tg = $myrow_post_tags[id_tags];
if ( $myrow_tag[id] == $tg )
{
echo '<label><input type="checkbox" name="tag[]" value="'.$myrow_tag[id].'" checked>'.$myrow_tag[title].'</label><br>';
}
|
то выходит следующее (в скрине).
Код обрабатывает только те которые использует эта заметка. А нужно все которые есть в таблице где находятся темы т.е. tags
Может я изначально не правильно выбрал ход действий? Так я действовал только потому что не знаю другого варианта выбирать инфу с таблиц в базе.
Как быть? | |
|
|
|
|
|
|
|
для: Ярослав
(19.04.2012 в 16:18)
| | Вы же сами сказали, что выбранный чекбокс означает перемещение такой записи в другую категорию. Зачем же вы их при выводе сразу отмечаете? | |
|
|
|
|
|
|
|
для: confirm
(19.04.2012 в 16:28)
| | Да, сказал, но это тогда, когда страница уже загружена из "правильными" чекбоксами. После мы делаем манипуляции, ставим галочки или снимаем, зависит от-того нужно добавить или убрать темы к заметке.
А, до загрузки страницы, нужно отметить среди всех тем (чекбоксов), те темы которые уже принадлежат данной заметке. Так как это редактирование заметки, которая была уже создана, и у нее уже есть ранее установленные (выбранные) темы, которые в последствии при необходимости будут изменяться. | |
|
|
|
|
|
|
|
для: Ярослав
(19.04.2012 в 16:41)
| | о это тогда, когда страница уже загружена из "правильными" чекбоксами - это как понимать?
Страницу вы и выводите для того, чтобы указать в ней, что надо изменить изменить. И коли предполагается перенос чего-то из одной категории в другую, то какого черта они (чекбоксы) уже должны быть отмечены? Это что означает - они по умолчанию значит обязательно будут перемещены?
Вы либо не можете объяснить толком того, чего хотите, либо я вас не понимаю. | |
|
|
|
|
|
|
|
для: confirm
(19.04.2012 в 16:57)
| | Правильные - это тогда когда этот вопрос будет решен.
>Вы либо не можете объяснить толком того, чего хотите, либо я вас не понимаю.
Ну скорее всего, сначала первое а потом другое :)
Это что означает - они по умолчанию значит обязательно будут перемещены?
Планируется так: если галочки не убирались то изменений не будет,
если убирались то удалить соотношение между темой и заметкой в сводной таблице,
если галочки добавились (к примеру в другие темы) то добавить соотношение между темой и заметкой в сводной таблице.
А мы можем использовать альтернативные способы общения.
Например скайп + TeamViewer чтобы можно было показать или рассказать. | |
|
|
|
|
|
|
|
для: Ярослав
(19.04.2012 в 17:23)
| | >Планируется так: если галочки не убирались то изменений не будет,
>если убирались то удалить соотношение между темой и заметкой в сводной таблице,
Это уже не перемещение, это уже иное - разрыв связей. Но в данном случае встает вопрос - что делать с этими записями, чьи связи разорваны? | |
|
|
|
|
|
|
|
для: confirm
(19.04.2012 в 17:31)
| | К большому сожалению я не владею профессиональными терминами, почему и происходит "непонятка".
Но в данном случае встает вопрос - что делать с этими записями, чьи связи разорваны?
Ничего. Связь (одна или несколько) удаляется (разрывается) в сводной таблице (посредник между таблицей из темами и таблицей из заметками).
Такая заметка выходит на сайт (после редактирования) уже с меньшим (или измененным) количеством тем (тэгов).
Это как "облако тегов". И вот такую заметку мы редактируем, в последствии, этих тем (тэгов) может быть больше, меньше или количество не изменится.
Представьте, что Вам нужно отредактировать заметку с тегами (как на этом сайте http://citaty.info/tema/neizbezhnost-rok-sudba). У этой заметки 3 темы (тэга): горе, жизнь, неудача, так вот Вам нужно убрать одну тему, и добавить две остальные оставить без изменений.
(На следующий вопрос не обязательно отвечать, потому что он заберет много времени, но все-же интересно)
Как бы Вы это сделали? | |
|
|
|
|
|
|
|
для: Ярослав
(19.04.2012 в 17:54)
| | Я уже вам говорил и вы должны это знать, что не отмеченные чекбоксы на сервер не придут. Это не страшно конечно, можно узнать какие из них не пришли. Но...
Вот у вашей заметки три тега. Эта заметка имеет id, например 10. Этот id должен быть родителем для всех этих тегов (связь таблиц по ключам), при этом каждый тег тоже должен иметь свой id - его идентификатор.
Простым вычитанием из массива id тем, массива полученных (отмеченных) чекбоксов по id родителя, можно узнать, id тех чекбоксов, которые не пришли (вы сняли отметку, разорвали связь). Но все было бы замечательно, если бы у каждого родителя было по одному потомку - одному чекбоксу идентифицирующему тег. Если же их несколько, то этот способ не даст полной картины. Если наоборот, отмеченные это изменение, было бы проще.
А в этом случае нужно хранить на сервере id отправленных чекбоксов, и сравнивать их с пришедшими. Либо по известным делать запрос в базу, получая недостающие, то есть те, связи которых нужно разорвать.
Ну а в самой базе изменение, так это просто очистить в таблице id родителя. Тут надо знать как у вас реализованы таблицы, их связи. | |
|
|
|
|
|
|
|
для: confirm
(19.04.2012 в 18:16)
| | Боюсь, у нас скоро не будет места для общения :)
Я благодарен что Вы, уделили свое время для поиска решения этого вопроса.
К моему сожалению, мне нужно завершать переписку, и я не смогу выйти на связь несколько дней.
Если этот вопрос решится я выложу инфу о методе который использовал, если нет, я сообщу как реализованы таблицы и их связи, и брошу все в изображении на этот форум. И если Вам будет интересно продолжить общение по решению этого вопроса, тогда до скорого...
И еще раз спасибо. :) | |
|
|
|
|
|
|
|
для: Ярослав
(19.04.2012 в 18:48)
| | Я, как пользователь, отношусь к этим облакам тегов нейтрально - и мне они нафик не нужны, я не обращаю на них внимания, и они меня как бы не трогают. Поэтому, я даже не имею представления, что там выводится в них от теме к теме. Но думаю, что один тег может принадлежать нескольким темам. А это значит, что сами теги лучше держать в отдельной таблице, а их связь с родителями (темами) описывать в отдельной таблице связи (внешняя таблица по отношению к таблицам тем и тегов).
Исходя из этого, и еще из того, что ради разрыва связей иметь отдельную страницу управления не стоит, а лучше редактировать темы, включая удаление связей с тегами комплексно, будем выводить примерно такую форму:
<form method=post><input name=title[1] value="Name 1" /><br>
<textarea name=desc[1]>Desc 1</textarea><br>
<input type=hidden name=tag[1][] value=1 />
word 1 <input type=checkbox name=lnk[1][] value=1 checked /><br>
<input type=hidden name=tag[1][] value=2 />
word 2 <input type=checkbox name=lnk[1][] value=2 checked /><br>
<input type=hidden name=tag[1][] value=3 />
word 3 <input type=checkbox name=lnk[1][] value=3 checked /><br><br>
<input name=title[2] value="Name 2" /><br>
<textarea name=desc[2]>Desc 2</textarea><br>
<input type=hidden name=tag[2][] value=1 />
word 1 <input type=checkbox name=lnk[2][] value=1 checked /><br>
<input type=hidden name=tag[2][] value=4 />
word 4 <input type=checkbox name=lnk[2][] value=4 checked /><br>
<input type=hidden name=tag[2][] value=5 />
word 5 <input type=checkbox name=lnk[2][] value=5 checked /><br><br>
<input name=title[3] value="Name 3" /><br>
<textarea name=desc[3]>Desc 3</textarea><br>
<input type=hidden name=tag[3][] value=5 />
word 5 <input type=checkbox name=lnk[3][] value=5 checked /><br>
<input type=hidden name=tag[3][] value=6 />
word 6 <input type=checkbox name=lnk[3][] value=6 checked /><br>
<input type=hidden name=tag[3][] value=7 />
word 7 <input type=checkbox name=lnk[3][] value=7 checked /><br><br>
<input name=title[4] value="Name 4" /><br>
<textarea name=desc[4]>Desc 4</textarea><br>
<input type=hidden name=tag[4][] value=8 />
word 8 <input type=checkbox name=lnk[4][] value=8 checked /><br>
<input type=hidden name=tag[4][] value=9 />
word 9 <input type=checkbox name=lnk[4][] value=9 checked /><br>
<input type=hidden name=tag[4][] value=10 />
word 10 <input type=checkbox name=lnk[4][] value=10 checked /><br><br>
<input type="submit" value="Edit" />
</form>
|
При отправке формы, на сервере будут получены следующие массивы (в примере удалены некоторые связи, что отражается в массиве lnk.
Array
(
[title] => Array
(
[1] => Name 1
[2] => Name 2
[3] => Name 3
[4] => Name 4
)
[desc] => Array
(
[1] => Desc 1
[2] => Desc 2
[3] => Desc 3
[4] => Desc 4
)
[tag] => Array
(
[1] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
[2] => Array
(
[0] => 1
[1] => 4
[2] => 5
)
[3] => Array
(
[0] => 5
[1] => 6
[2] => 7
)
[4] => Array
(
[0] => 8
[1] => 9
[2] => 10
)
)
[lnk] => Array
(
[2] => Array
(
[0] => 1
[1] => 5
)
[3] => Array
(
[0] => 7
)
[4] => Array
(
[0] => 8
[1] => 9
)
)
)
|
Массивы title и desc, это массивы содержащие заголовки тем и их описание, соответственно. Ключами этих массивов служат их id. Массив tag - массив хранящий в себе все текущие теги темы, и первичный ключ этого массива, это как раз id родителя (темы), а значениями id этих тегов. Тоже самое и в массиве lnk - первичный ключ массива, это id родителя (темы), а значения id тегов.
<?
if($_POST) {
echo '<pre>';
print_r($_POST);
$tag = array();
foreach($_POST['tag'] as $k=>$v) {
if(array_key_exists($k, $_POST['lnk'])) {
if($t = array_diff($v, $_POST['lnk'][$k])) $tag[$k] = $t;
} else $tag[$k] = $v;
}
print_r($tag);
echo '</pre>';
}
|
В цикле получается массив $tag, который будет, опять таки, в качестве первичного ключа иметь id родителя, а значения, это id тех тегов, которые нужно удалить из таблицы связей. То есть, из этой таблицы нужно удалить записи, которые содержат первичный ключ этого массива и одно из его значений, например, для темы с id = 1, это будут записи имеющие ключи 1,1; 1,2; 1,3 (предполагается, что первый столбец таблицы связей, это id тем, а второй id тегов).
Array
(
[1] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
[2] => Array
(
[1] => 4
)
[3] => Array
(
[0] => 5
[1] => 6
)
[4] => Array
(
[2] => 10
)
)
|
Если все будет организовано так, то при удалении самих тегов (редактировании таблицы тегов), необходимо удалять их и из таблицы связей - все записи принадлежащие этим тегам.
Как я говорил ранее, массив tag можно хранить на сервере, например в сессии, формируя его при выводе формы, то есть не обязательно формировать его с помощью скрытых полей в форме. Ну или придется делать лишний запрос к базе. | |
|
|
|
|
 17.1 Кб |
|
|
для: confirm
(19.04.2012 в 23:31)
| | Спасибо confirm за попытку помочь мне. Я понимаю как трудно понять когда человек что-то хочет "эдакое", особенно когда он сам не до конца понимает как это все будет.
Я испробовал метод "если долго мучится, что-нибудь получится" и получилось не что-нибудь а именно то что задумал (ушло 3 дня). Результат в прикрепленном файле, нужные темы отмечаются автоматом.
Выложу код может кто поймет мой "почерк" и возьмет для себя что-то полезное.
/* Подключение таблицы TAGS */
$result_tag = mysql_query("SELECT id,title FROM tags",$db);
if (!$result_tag){echo '<p>Ошибка доступа к таблице tag</p>';exit (mysql_error());}
if (mysql_num_rows ($result_tag) > 0){$myrow_tag = mysql_fetch_array ($result_tag);}else{echo '<p>В таблице tag нет информации</p>';}
/* Вывод тэгов */
do
{
$result_checkbox = ''; // пустая переменная
/* Подключение таблицы POST_TAGS */
$result_post_tags = mysql_query("SELECT id_tags FROM post_tags WHERE id_post='$id_post'",$db);
if (!$result_post_tags){echo '<p>Ошибка доступа к таблице post_tags</p>';exit (mysql_error());}
if (mysql_num_rows ($result_post_tags) > 0){$myrow_post_tags = mysql_fetch_array ($result_post_tags);}else{echo '<p>В таблице post_tags нет информации</p>';}
do
{
if ( $myrow_tag[id] == $myrow_post_tags[id_tags] )
{
$result_checkbox = '<label><input type="checkbox" name="tag[]" value="'.$myrow_tag[id].'" checked>'.$myrow_tag[title].'</label><br>';
echo $result_checkbox;
} // выводятся и отмечаются теги которые связаны с заметкой
}
while ( $myrow_post_tags = mysql_fetch_array ($result_post_tags) );
if ( $result_checkbox == '' )
{
echo '<label><input type="checkbox" name="tag[]" value="'.$myrow_tag[id].'">'.$myrow_tag[title].'</label><br>';
} // выводятся все остальные теги которые есть в базе тегов.
}
while ( $myrow_tag = mysql_fetch_array ($result_tag) );
|
| |
|
|
|
|
|
|
|
для: Ярослав
(24.04.2012 в 14:55)
| | Нет ничего полезного в коде вашем - первое, это неграмотное использование mysql_fetch_array, второе, это неоправданное в данном случае использование цикла do while.
Ну а самое главное ваш код не отвечает на вопрос вами же поставленный - "как распознать среди полученного выбор пользователя". | |
|
|
|
|
|
|
|
для: confirm
(24.04.2012 в 15:01)
| | :)
>Нет ничего полезного в коде вашем.
Ну нет, так нет. Это только информация, я не говорю что так нужно делать, это один из (наверное) десятки способов которые бы помогли в данном случае.
>неграмотное использование mysql_fetch_array
Может, и так. Благодаря Вашей критике я поищу книгу по php, буду ознакомляться более глубоко.
Хотя Вы не разу не объяснили почему я делаю не правильно, так-же и по циклу do while.
Был бы признателен за ответ.
>Ну а самое главное ваш код не отвечает на вопрос вами же поставленный - "как распознать среди полученного выбор пользователя".
Код работает.
Может мы, до сих пор не понимаем друг друга.
Но, в любом случае спасибо за то что уделили мне свое время и опыт. Может быть и Вы подбросили мне эту идею, только я еще не понял этого. | |
|
|
|
|
|
|
|
для: Ярослав
(24.04.2012 в 15:54)
| | Обязательно прочтите и о mysql_fetch_array, и чем отличается цикл while от цикла do while, а уже если будут вопросы, тогда пояснения дадут, но думаю, что поймете сами. Прочтение материала самостоятельно, это лучшее его закрепление, иначе, я об этом mysql_fetch_array говорил некоторым, а результат ноль, видимо не хотят они себя беспокоить "пустяками всякими".
Что касается сути самого вопроса о чекбоксах. Изначально я вас спрашивал - зачем их сразу отмечать при выводе, ели речь идет о выборе? После долгих вопросов и ответов выяснилось - вам надо снимать отмеченные, чтобы разорвать связи. Картинка же, которую вы прикрепили, и на которой само поле сообщения пусто, может говорить как раз об обратном - о добавлении таких связей. А значит изначально чекбоксы не должны быть выбраны.
Выбраны при выводе они могут быть только в том случае, если к примеру, при отправке формы на сервер, вы выявили ошибки в ее заполнении, и возвращаете форму для исправления их, и нужно отметить те чекбоксы, которые пользователь уже выбрал.
В общем, вы скорее всего просто не можете пояснить, что вам все таки нужно, а значит и ответить вам по сути практически не возможно. | |
|
|
|
|
|
|
|
для: confirm
(24.04.2012 в 16:44)
| | Выбраны при выводе они могут быть только в том случае
это далеко не так, как бы вам это го не хотелось
значения могут годами хранится в базе и при редактировании должна быть возможность как убрать (разорвать) существующие так и добавить (соединить) новые эти самые чекбоксы | |
|
|
|
|
|
|
|
для: Valick
(24.04.2012 в 16:56)
| | Valik, не надо комментировать, я говорю о том, что данная картинка может говорить об обратном, так как он упоминал в своих пояснениях чему эти "теги" могут принадлежать.
Я автору задавал вопросы не ради любопытства, а потому, что не понятно было чего он хочет. Я и до сих пор не понимаю чего. А коли вы его поняли - пожалуйста, но все для него, не для меня. | |
|
|
|
|
|
|
|
для: Ярослав
(19.04.2012 в 12:42)
| | структуру бд надо показать | |
|
|
|
|
|
|
|
для: Valick
(19.04.2012 в 13:29)
| | >структуру бд надо показать
А как это сделать? | |
|
|
|
|