Подскажите вариант решения трудности. При работе с ckEditor-ом, для его вывода и сохранения использую переменную $i; $t=$i-1; <!--=========================== Визуальный редактор ====================--> <form method="post"> <?php echo ' <textarea id="'.$i.'" name="txt" cols="100" rows="20">'; ?><?php echo $txt[$t]['text'] ?></textarea> <script type="text/javascript"> <?php echo ' var ckeditor1 = CKEDITOR.replace( '.$i.' );' ?> AjexFileManager.init({ // Визов номого метода returnTo: 'ckeditor', // Передача параметров editor: ckeditor1 // Передача параметров }); </script> <br/> <input type="hidden" name="id" value="<?php echo $txt[$t]['id'] ?>" /> <input type="submit" name="sub" value="Обновить" /> </form> <!-- ============================ --> Переменная $i= ($_GET["id"]); <!-- ============================ --> Массив $txt[ ] function selectTxt(){ $txt = array(); // Инициализируем масив $txt $query = "SELECT categ_id, text FROM category"; $res = mysql_query($query); while($row = mysql_fetch_assoc($res)){ $txt[] = $row; } return $txt; <!-- ============================ --> Значение id формируется в jQuery $(document).ready(function() { $("#country").change(function(){ //Обращаемся к элементу с индификатором #country, отслеживаем событие change для списка #country var countryval = $("#country").val(); // Получаем выбранное значение списка родителя в переменную var countryval location.href = "http://work/admin/view_home_cat.php?id=" + countryval; }); <!-- ============================ --> Значение списка родителя с индификатором #country <form action="" method="post"> <select name="country" id="country" size="1"> <?php foreach ($cauntries as $key ):?> <option value="<?=$key['categ_id']?>"><?=$key['categ_tovara']?></option> <?php endforeach; ?> </select> </form> <!-- ============================ --> Массив $cauntries[ ] формируется: function selectCountries(){ $result = mysql_query("SELECT * FROM category"); $cauntries = array(); while ($row = mysql_fetch_assoc($result)) { $cauntries[ ] = $row; } return $cauntries; } <!-- ============================ --> База данных сategory categ_id categ_tovara text 1 Гипсокартон <p> Гипс</p> 7 Блоки <p> Блоки</p> 8 Шифер <p> Шифер</p> <!-- ============================ --> Трудность: При выборе в селекторе с id="country" к примеру "Гипсокартон" переменной $i присваивается значение 1 супер, и ckEditor работает корректно он выдает текст <p> Гипс</p>. Но как только производиться выборка "Блоки" переменной $i присваивается значение 7 не супер и ckEditor работает не корректно он, то есть он выдает пустоту, ckEditor выдал бы, что нибудь если бы в Базе Данных было по факту не три а семь строк. Мои думания: 1. Что то нужно менять в ckEditor, а именно в массиве $txt[ ] 2. В базе данных, чтоб id данных записывался не 1,7,8, а 1,2,3 - в правильной последовательности натуральных чисел. 3. Или в чем то другом.
База данных а что верхнию плохо читать categ_id . | . categ_tovara . |. text 1 . | . Гипсокартон .|. <p> Гипс</p> 7 . |. Блоки . | . <p> Блоки</p> 8 . |. Шифер . | . <p> Шифер</p> И print_r($cauntries); Array ( [0] => Array ( [categ_id] => 1 [categ_tovara] => Гипсокартон [text] => Гипс ) [1] => Array ( [categ_id] => 7 [categ_tovara] => Блоки [text] => Блоки ) [2] => Array ( [categ_id] => 8 [categ_tovara] => Шифер [text] => Шифер print_r($txt); Array ( [0] => Array ( [categ_id] => 1 [text] => Гипс ) [1] => Array ( [categ_id] => 7 [text] => Блоки ) [2] => Array ( [categ_id] => 8 [text] => Шифер
Естьмассив: f PHP: unction selectTxt(){ $txt = array(); $res = mysql_query("SELECT categ_id, text FROM category"); while($row = mysql_fetch_assoc($res)) { $txt[] = $row; } return $txt; } Егозначения: PHP: Array ( [0] => Array ( [categ_id] => 1 [text] => Гипс [1] => Array ( [categ_id] => 3 [text] => Блоки [2] => Array ( [categ_id] => 7 [text] => Шифер) Есть: значения categ_id которое равно 1, 3, 7 Переменная $id=($_GET["categ_id"]); может принимать значения на вариант пользователя $id=>(или 1 или 3 или 7) При запросе: echo $txt[$id]['text']; при $id=0, результат Гипс, а нужно при $id=1, чтобы выводило Гипс. А при $id=3 или 7 вообще ни чего не выводит, а нужно Блоки и Шифер. Посоветуйте решение, за ранее благодарствую.
И тут ничего не понятно, и в той теме, которую ты только что создал с точно таким же текстом тоже ничего не понятно... --- Добавлено --- Стоп так всё правильно выводится: $txt[0]["text"] - У тебя гипс под id = 0, вот и выводится текст элемента, у которого id = 0. Если надо обращаться именно по categ_id, то так их из базы и доставай. Код (Text): SELECT `text` FROM `название таблицы` WHERE `categ_id` = '1' - Шифер --- Добавлено --- Или можно как-то по извращаться твоим вариантом: PHP: while ($row = mysql_fetch_assoc($res)) { $arr[$row["cat_id"]] = $row["text"]; } echo $arr[1]."<br>"; echo $arr[3]."<br>"; echo $arr[7]."<br>"; Не уверен что это рабочий код, но идею, я надеюсь, ты понял. --- Добавлено --- А вообще, на сколько я знаю, есть в SQL такая функция, которая заменяет ключ на нужное поле прямо при выборке. Только не помню чо за функция. Вроде, "AS" Что-то типа "SELECT `id` AS `categ_id` FROM ..." Поправьте меня. Уверен что это неправильно
А второй вариант? Может его как-то переделаешь (А то я сомневаюсь о его работоспособности). --- Добавлено --- А чем тогда не устраивает вариант перебирать всё по id?
Вот второй сейчас тестирую, к стати может и подойдет, чет то сразу не разобрал, новости смотрел одним глазом
$arr[$row["cat_id"]] = $row["text"]; } echo $arr[1]."<br>"; echo $arr[3]."<br>"; echo $arr[7]."<br>";[/PHP] Блин два дня сидел ломал голову, все работает спасибо.