Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
2 / 2 / 0
Регистрация: 17.12.2013
Сообщений: 275

Вывод данных с БД через if

28.06.2018, 15:07. Показов 1064. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
всем привет!
столкнулся с такой проблемой как вывод данных через IF.
есть табличка где хранится данные - наименование и путь к файлу.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$plagin = mysql_query("select * from plagin where activation='ON'",$db);
            if (!$plagin)
            {
            echo "<p>Запрос из выборки базы данных не прошел. Напишите об этом администратору. <em><strong>Код ошибки:</strong></em></p>";
            exit(mysql_error());
            }
            if (mysql_num_rows($plagin) > 0){
            $plagin_row = mysql_fetch_array($plagin);}
            else
            {
            echo "<div style='border:1px #000000 solid; border-radius:10px; width:50%; margin-left:25%; margin-top:2%;'>
                  <div align='center'><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAANtSURBVGhD7ZfZa9RAHMfrgQ8iCKJ4PPlfKIguaLbbJltru4ltVTwePAqiPlRtrbq1lRZUqhS1d3dba0Gw4IMiWrT3IRVEfRM8WreCB4gPPcDujvPL/pId066brLvZiPnAwJD55Zfvb2a+mSTNxsbGxsbGJom43e6lTkE85RQ8D+XGiyfhGg7/G3CctJwKf0kLIWzjBM8LGMMw6+PkPa2K+LMXqkiptzJSDC/6MczauATPZio4BKLrGv1EobbBpxQTghgMtyYOh2OxsqV27z9CZmZmsAwi9+EajMEWg1i8zXrQLXUMZ530D45gCRH6BoaVVSEQi7dZCwcvraEz/QNEFp+tQOlzgbFwIeL3rVn5q/F260BfsW0gkN9RQAITn1D2XMY/BuQYiLWc8VmDN/tvo+ToNPvblS0WcmbmbsI0qUU2uOB5BcK0Bo/G1PQ02bXvcHhVqPElSVqE6VIHJ4jHcXbJwNAzlBomFAqRG/Ut5CZt0Gfp7R9SVoUWIx7FdKmBNXjJuYsoMcLYeEAVC97Qcrq0PDxOjZ+RIa7CtOZDZ/IWCIlm8Hfvx9RCoK8FisvMzpPH6YT4MK25sAZvae1Aab8TqxCgyRcxPpeRsxHTm4Neg+spBIxfsPeQHGO68emWOqEI1BqcRU8hQE/foBq3TRAL8THJJZbBWfQWAhSVlIVjzTI+x3va4YGxTnDASCEa4zfh45IDa3Bf2/wGZzFSCNDQ3KbEJ8/4YHD6bfQaHqT3BGfPEejHQmP850kxPmvwweHoBmeZnZ0ll6qvyw36enja068Wn3DjswY/c/7PBk8EjPG/JdT4Rgyu5VFXt9yM8GFsXDU+Pa8aUcbf4eRzt9CEug3O8vnLV3WbQN8I9U2t8n10EoP0b3IDyokP1uB7DhTqMjhLMBgk1TW15GpN3Zyv31hMTk6pxqdt1Ov1LkRZxonH4InkSXfE+NSjB1GWYRbQJZ2AJGYYfD5gFYuKveFiePEN6jKGy5WzVpmNoZFRTG0+3b0D6qqkp4srUJ5+HJK0TDYaTdB57z6mNZ+OO51KIT/pAbkE5RmDLucDSJKZnU+qLl+T/x3MbOWVV4gra6dSyF2UZRyXK2899UkAE6Wu8eJbbnv+OpQVHw53wUr6xqigybrg+8fk9pgeiGVxecPGxsbGxub/Iy3tF80FK/t0+woJAAAAAElFTkSuQmCC' width='100' height='100'></div>
                  <div align='center'>Плагины отсутствуют в базе данных!...</div>
                  <div align='center'>Перейдите в Админку, чтобы добавить плагины!...</div>
                  </div>";
            exit();
            }
на данный момент хранится две записи под наименованием - Регистрация и Вход.

так вот мне нужно будет в определенный места шаблона вставлять регистрацию и вход. пытался сделать таким образом:

PHP
1
2
            if ($plagin_row['title'] == 'Регистрация') {include $plagin_row['path'];}
            if ($plagin_row['title'] == 'Вход') {include $plagin_row['path'];}
хотел попробывать сначала так вывести и выходит только регистрация. закоментировал первое условие, то есть регистрацию и все, ничего нету - даже вход не вышел.

подскажите как правильно сделать вывод?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.06.2018, 15:07
Ответы с готовыми решениями:

Вывод таблицы из бд MySQL через php в браузер, с возможностью вноса и изменения данных прямо через ячейки
Всем здравствуйте, в общем, такая вот проблема: Есть код: &lt;!doctype html&gt; &lt;html&gt; &lt;head&gt; &lt;meta...

Запрос к базе данных через форму и вывод данных на страничке
Всем привет. Очень нужна ваша помощь, вы моя последняя надежда. У меня стоит одна форма и ввожу имя человека который проходит тест, потом...

Голосовой ввод данных и вывод данных через динамики
На Android есть приложение &quot;Pasal N-IDE&quot; Там есть модули для ввода и вывода данных через микрофон и динамики&quot;aRecognition&quot; и...

14
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
28.06.2018, 15:21
Записи надо в цикле выводить. А так вы только первую первую строчку из БД получили и всё.
0
2 / 2 / 0
Регистрация: 17.12.2013
Сообщений: 275
28.06.2018, 15:25  [ТС]
tarasalk, если я буду выводить их в цикле то все пути выйдут и откроются все файлы подряд - а мне все записи подряд не надо. мне надо их выводить там где я задам.
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
28.06.2018, 15:31
Выбирайте только нужные записи и выводите. Фильтровать можно сразу в sql, а не через php. Потом выводить в цикле. Вы же хотите вывести 2 элемента(регистрация и вход), а значит без цикла тут никак.
0
2 / 2 / 0
Регистрация: 17.12.2013
Сообщений: 275
28.06.2018, 15:36  [ТС]
tarasalk, ну так я фильтрую из по полю activation. суть в том что вход мне надо ставить в верхним левом углу, а регистрацию в центре. а вы предлагаете цикл. циклы же будут все записи подряд выводить. а мне надо чтобы я вставил Регистрацию в одно место, Вход в другое. записи будут дополняться и так же буду их вставлять в другие места, даже не на всех страничках использовать
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
28.06.2018, 15:51
По прошлым сообщениям никак не догадаешься что записи в разных местах выводятся.
Но это не важно. Вначале эти записи нужно получить.

PHP
1
$plagin_row = mysql_fetch_array($plagin);
Так вы получаете только первую строчку. Видимо первым у вас идет регистрация, поэтому только она и выводится.

Надо что то подобное:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
$plagins = array();
while ($row = mysql_fetch_array($plagin, MYSQL_ASSOC )) {
    $plagins[$row['title']] = $row;
}
 
// выводим где надо
if (array_key_exists('регистрация', $plagins) {
    include $plagins['регистрация']['path'];
}
 
if (array_key_exists('вход', $plagins) {
    include $plagins['вход']['path'];
}
Кстати, mysql_* функции устарели, переходите на mysqli или PDO.
0
2 / 2 / 0
Регистрация: 17.12.2013
Сообщений: 275
28.06.2018, 16:10  [ТС]
сделал как вы сказали.

PHP
1
if (array_key_exists('Регистрация', $plagins) {include $plagins['Регистрация']['path'];}
на эту строчку выдает ошибку - Parse error: syntax error, unexpected '{' in C:\OSPanel\domains\cms-shoping\index.php on line 9

Добавлено через 33 секунды
сделал как вы сказали.

PHP
1
if (array_key_exists('Регистрация', $plagins) {include $plagins['Регистрация']['path'];}
на эту строчку выдает ошибку - Parse error: syntax error, unexpected '{' in C:\OSPanel\domains\cms-shoping\index.php on line 9

Добавлено через 5 минут
tarasalk, нашел ошибку. скобку не закрыли.
теперь выдает - Warning: array_key_exists() expects parameter 2 to be array, null given in C:\OSPanel\domains\cms-shoping\index.php on line 9
0
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
28.06.2018, 16:13
kuzmich-kz,
Цитата Сообщение от kuzmich-kz Посмотреть сообщение
Warning: array_key_exists() expects parameter 2 to be array
А посмотреть в офф документацию и сравнить аргументы?
http://php.net/manual/ru/funct... exists.php
0
2 / 2 / 0
Регистрация: 17.12.2013
Сообщений: 275
28.06.2018, 18:43  [ТС]
edward_freedom, спасибо! разобрался

Добавлено через 1 час 58 минут
теперь возникла такая проблема. подключаю в файл index.php который лежит в корневой папке и выдает такую ошибку

Warning: include(../settings/plagin/registrations.php): failed to open stream: No such file or directory in C:\OSPanel\domains\cms-shoping\index.php on line 9

Warning: include(): Failed opening '../settings/plagin/registrations.php' for inclusion (include_path='.;c:/ospanel/modules/php/PHP-5.5;c:/ospanel/modules/php/PHP-5.5/PEAR/pear') in C:\OSPanel\domains\cms-shoping\index.php on line 9

создал ссылку
PHP
1
echo "<a href='".$plagins['Регистрация']['path']."'>123</a>";
а файл по ссылке открывается.
путь в базе установлен таким образом - ../settings/plagin/registrations.php
понять не могу почему include не открывает, а если перехожу по ссылки открывает
0
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
28.06.2018, 18:45
kuzmich-kz, по идее, надо относительно того пусти, в котором ты вызываешь include
0
2 / 2 / 0
Регистрация: 17.12.2013
Сообщений: 275
28.06.2018, 18:53  [ТС]
edward_freedom, и что по данному пути я не открою?

Добавлено через 3 минуты
edward_freedom, суть в том, что я и шаблон буду подключать.
главная страница будет находиться в корневом файле, регистрация в другой и т.д. такие страницы как регистрация - там все работает, а вот главная
0
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
28.06.2018, 18:55
kuzmich-kz, подожди других ответов, я уже 100 лет с пхп не работал, а когда работал, там была единая точка входа без таких проблем
0
2 / 2 / 0
Регистрация: 17.12.2013
Сообщений: 275
28.06.2018, 19:02  [ТС]
edward_freedom, остается ждать! я уже весь интернет перелапатил

Добавлено через 4 минуты
edward_freedom,
PHP
1
if (array_key_exists('Регистрация', $plagins)) {include __DIR__ . $plagins['Регистрация']['path'];\}
вот таким образом сделал и работает в корневом каталоге
0
2 / 2 / 0
Регистрация: 17.12.2013
Сообщений: 275
29.06.2018, 19:36  [ТС]
всем привет!
в данной ситуации столкнулся с ошибкой то, что пишет ошибку то, что нету данного файла.
в базе он занесен таким образом - ../папка/папка/наименование_файла
так вот в корневом файле выдает эту ошибку. если разместить страничку в новой папке то открывается.
путь лучше не менять. подскажите как решить эту проблему. использовать __DIR__ . не вариант.
благодарю за помощь
0
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
02.07.2018, 15:38
PHP
1
2
define('ROOTDIR', dirname(__FILE__));
include(ROOTDIR.'/fghjk.php');
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.07.2018, 15:38
Помогаю со студенческими работами здесь

Вывод данных с базы данных через компоненты Interbase
Здравствуйте, пытаюсь вывести данные с базы данных с помощью компонентов Interbase, но не выходит. Размещаю на форме: - IBDatabase...

Вывод данных через ajax с типом данных JSON
Если я из обработчика пишу это, выведет, как и ежу понятно, 1 кнопку. ... $res = mysqli_query($db, 'SELECT `podmenu_name` FROM...

Нахождение основных значений оформить через функцию RESHENIE(), ввод данных и вывод на печать через функцию MAIN()
а помогите теперь эту задачку #include &lt;iostream&gt; int main() { int last = 0, next = 1; long sum = 1; for(;...

Вывод данных из БД через id
Всем привет! Собственно, сама задача (даже не знаю, как это называется, поэтому не знаю, что в интернете искать): Есть таблица users....

Вывод данных через время
Доброго утра всем! У моего знакомого в институте на 2 курсе ввели практику по С++,первым заданием на дом дали сделать задачу, стало...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru