|
|
|
| Ребята, такой вопрос. Пишу скрипт редактирования статей и все не как не могу решить одну проблему, делаю запрос и из базы вытаскиваю информацию с помощью параметра value="<?php echo $myrow['title']; ?>" Вытаскиваю что мне нужно, и все вроде бы нормально, но у меня есть выпадающие списки и вот тут у меня ступор. У меня есть 2 таблицы одна это статья где есть поле cat с номером категории и есть таблица cat с полями(id_cat, title_cat) где собственно сами категории, подскажите как сделать запрос, чтобы в цикле у меня выводились все категории, но первая в списке была та к которой собственно и принадлежит статья. | |
|
|
|
|
|
|
|
для: sedoy
(14.12.2014 в 10:13)
| |
ORDER BY id_cat BETWEEN $current_id AND $current_id DESC
|
| |
|
|
|
|
|
|
|
для: confirm
(14.12.2014 в 10:46)
| | Спасибо, я разобрался, но возник еще один вопрос.
Есть у меня список с двумя элементами
<select name="nali" id="nali">
<option value="0">Отсутствует</option>
<option value="1">Имеется </option>
</select>
|
а в базе есть поле nalichie c типом enum
Вопрос такой, как вытащить данные в этот список? | |
|
|
|
|
|
|
|
для: sedoy
(14.12.2014 в 11:13)
| | Ничего не понятно. Задаете вопросы ....
То есть этот список должен выводить значения 1 и 2 (значение полей ENUM начинаются с 1) и их текст Отсутствует и Имеется, или просто текст этого поля? | |
|
|
|
|
|
|
|
для: confirm
(14.12.2014 в 11:39)
| | При добавлении в базу я делал простой список без php
<select name="nali" id="nali">
<option value="0">Отсутствует</option>
<option value="1">Имеется </option>
</select>
|
далее с помощью ajax технологии считывал id и соответственно после значение value 0 или один считывалось в файле обработчик и добавлялось в базу, теперь мне нужен обратный эффект для редактирования статей, то есть, как видно у меня два значения, мне нужно вывести из базы в такой же список, для выбора например с 0 на 1, но только соответственно подписанное Отсутствует или Имеется . просто вывести у меня получается только одно значение.
<select name="nali" id="nali">
<option value="<?php echo $myrow['nalichie'];?>">Отсутствует</option>
<option value="1">Имеется </option>
</select>
|
| |
|
|
|
|
|
|
|
для: sedoy
(14.12.2014 в 12:12)
| | Ну если вас только поле ENUM беспокоит, то сделайте запрос:
SHOW CREATE TABLE table_name
|
Полученное парсером разобрать и получить нужное. Но лучше использовать
SELECT COLUMN_NAME, CHARACTER_MAXIMUM_LENGTH, DATA_TYPE, COLUMN_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = "base_name" AND TABLE_NAME = "table_name"
|
В этом случае легко найти в массиве нужное поле и его параметры, и только для SET и ENUM потребуется разбор строки (только значений), чтобы получить массив его значений, а так как вам нужны не 1 и 2, как это есть на самом деле, то explode вернет нужное.
Оформите это как функцию, передавая в нее массив полей таблицы, параметры которых интересуют, ищите их в массиве возвращенном запросом и как выше написано. | |
|
|
|