0 Пользователей и 1 Гость просматривают эту тему.
  • 44 Ответов
  • 2421 Просмотров
*

Zokko

  • Осваиваюсь на форуме
  • 31
  • 0 / 1
Re: Модуль обратной связи
« Ответ #30 : 30.09.2019, 16:41:58 »
Не к той таблице коннектишься. fabrik_elements - это же служебная таблица, в которой хранятся данные о привязке фабрик элементов к спискам. Нужно коннектиться к созданной таблице. В списках посмотри название своей таблицы

Вот из нее и дергай данные, должно получиться.
(или я что-то недопонял)
Да сделал, уже работает, знание php у меня как у мартышки, щас ковыряю как каждый столбец отдельно в скрипте вывести что бы стили HTML применить.

Я понял что вот тут вся моя таблица:
Код
for ($j = 2 ; $j < 7 ; ++$j) echo "<td><h3>$row[$j]</h3></td>";
Но тут блин все элементы, а мне нужно 5 и каждый отдельно что бы скрипт применить как тут но на каждый стобец <td><h3>$row[$j]</h3></td>
*

xpank

  • Захожу иногда
  • 448
  • 41 / 0
Re: Модуль обратной связи
« Ответ #31 : 30.09.2019, 17:12:33 »
Тоже не силен, но вроде должно быть как-то так.

Код
    echo "<table><tr><th>Id</th><th>Модель</th><th>Производитель</th></tr>";
    while ($row = mysqli_fetch_row($result)){
echo "<tr><td>$row[0]</td><td>$row[0]</td><td>$row[0]</td></tr>";
}
    echo "</table>";
P.S. Если не требуется выводить все поля таблицы, то лучше их и не включать в запрос, прописав в SELECT, только необходимые, зачем получать все данные и потом обрабатывать только часть, когда можно сразу получить необходимое?
« Последнее редактирование: 30.09.2019, 17:15:56 от xpank »
*

Zokko

  • Осваиваюсь на форуме
  • 31
  • 0 / 1
Re: Модуль обратной связи
« Ответ #32 : 01.10.2019, 09:38:04 »
Тоже не силен, но вроде должно быть как-то так.

Код
    echo "<table><tr><th>Id</th><th>Модель</th><th>Производитель</th></tr>";
    while ($row = mysqli_fetch_row($result)){
echo "<tr><td>$row[0]</td><td>$row[0]</td><td>$row[0]</td></tr>";
}
    echo "</table>";
P.S. Если не требуется выводить все поля таблицы, то лучше их и не включать в запрос, прописав в SELECT, только необходимые, зачем получать все данные и потом обрабатывать только часть, когда можно сразу получить необходимое?

Сработало, спасибо)

Тут еще один момент интересный, есть к примеру время работы врача, оно делится на четные и не четные, к примеру врач работает четные утром, не четные вечером, это 2 колонки, но есть вариант когда врач заболел или ушел в отпуск, нужно объединить эти 2 колонки в фабрик просто изменяя в форме, так еще что бы при изменении в выводном шаблоне была одна ячейка и написано другим шрифтом или цветом. пример:

/время 1/ /Время 2/
/       БОЛЕЕТ        /

так вот как это сделать в фабрике, более того что бы он еще и в MySQL это дело объеденил для вывода на конечную страницу.
*

Zokko

  • Осваиваюсь на форуме
  • 31
  • 0 / 1
Re: Модуль обратной связи
« Ответ #33 : 01.10.2019, 10:10:54 »
Цвет можно задавать в самом списке фабрика путем вписывания в форму HTML кода:

Код
<font color="red">БОЛНИЧНЫЙ</font>
*

xpank

  • Захожу иногда
  • 448
  • 41 / 0
Re: Модуль обратной связи
« Ответ #34 : 01.10.2019, 11:23:40 »
В этом случае нужно какой-то маркер вносить в бд. В MySQL не выйдет объединять две записи, они физически все равно остаются двумя записями. Тут можно исхитриться, если в этих колонках время, то выводить как две колонки, если иной маркер (пусть будет 0) то выводить одной ячейкой. Код на вскидку, не факт что рабочий.

Код
//пусть $row[1] и $row[2] содержат время
if ($row[1]==0 && $row[2]==0)
{
echo "<tr><td>$row[0]</td><td colspan="2">БОЛЬНИЧНЫЙ</td></tr>";
}
« Последнее редактирование: 01.10.2019, 13:01:44 от xpank »
*

Zokko

  • Осваиваюсь на форуме
  • 31
  • 0 / 1
Re: Модуль обратной связи
« Ответ #35 : 01.10.2019, 11:52:33 »
В этом случае нужно какой-то маркер вносить в бд. В MySQL не выйдет объединять две записи, они физически все равно остаются двумя записями. Тут можно исхитриться, если в этих колонках время, то выводить как две колонки, если иной маркер (пусть будет 0) то выводить одной ячейкой. Код на вскидку, не факт что рабочий.

Код
//пусть $row[1] и $row[2] содержат время
if ($row[1]==0 && $row[2]==0)
{
echo "<tr><td>$row[0]</td><td rowspan="2">БОЛЬНИЧНЫЙ</td></tr>";
}

Сложна  :o
*

xpank

  • Захожу иногда
  • 448
  • 41 / 0
Re: Модуль обратной связи
« Ответ #36 : 01.10.2019, 13:55:01 »
Да вроде все просто. Предполагается, что ячейки обычно содержат время (т.е. любое значение отличное от нуля), значит поставив 0 можем впоследствии скриптом проводить сверку значения. $row[1] и $row[2] - это элементы массива полученного запросом из БД, и соответствуют второму и третьему столбцу (могут быть другие, в зависимости от их количества и расположения). Вот более полный код:

Код
  echo "<table><tr><th>Id</th><th>Четные дни</th><th>Нечетные дни</th></tr>";
    while ($row = mysqli_fetch_row($result)){
       if ($row[1]==0 && $row[2]==0) //проверяется условие, что запись содержит нули в соответствующих ячейках
       {
        echo "<tr><td>$row[0]</td><td colspan="2">БОЛЬНИЧНЫЙ</td></tr>";
       }
       else //если условие не выполнено, значит выводим как есть
       {
       echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td></tr>";
       }
}
    echo "</table>";
В принципе можно пойти другим путем. Создать в таблице еще одно поле, которое будет содержать статут врача (больничный/отпуск или еще какой). По умолчанию поле всегда пустое и не заполняется, но если его будет содержать данные, то выводить его заместо времени. Этот вариант лучше тем, что не нужно затирать время. Допустим если это время уже расписано, а врач заболел, то не трогая поля с часами, можно указать, что у него больничный, и тогда данные возьмутся не из полей с часами, а из статуса.

Код
  echo "<table><tr><th>Id</th><th>Четные дни</th><th>Нечетные дни</th></tr>";
    while ($row = mysqli_fetch_row($result)){
       //допустим в таблице есть еще одно поле которое в массиве будет иметь значение статуса $row[3]
       if (is_null($row[3])!= true) //проверка на NULL
       {
        echo "<tr><td>$row[0]</td><td colspan="2">$row[3]</td></tr>";
       }
       else
       {
       echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td></tr>";
       }
}
    echo "</table>";
*

Zokko

  • Осваиваюсь на форуме
  • 31
  • 0 / 1
Re: Модуль обратной связи
« Ответ #37 : 01.10.2019, 14:45:14 »
Решил перенести инфу на домен для теста:

http://sp3dzm.ru/tablo/test.php получилось что при загрузке с БД кодировка хз какая, при этом на локальном хостинге проблем нет.

Перечитал кучу всего, пишут что нужно после подключения к БД указать:

Код
mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'");
mysql_query("SET CHARACTER SET 'utf8'");

Я его и туда и сюда вставил...
Короче кодировку в странице сделал, в PHP части скрипта сделал...
Все кроме данных из MySQL отображается без проблем....

Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <link rel="stylesheet" href="style.css">
    <link rel="stylesheet" href="style.css" media="all">
<meta http-equiv="refresh" content="5; url=/tablo/save.php">
<script type="text/javascript">
function clock() {
var d = new Date();
var month_num = d.getMonth()
var day = d.getDate();
var hours = d.getHours();
var minutes = d.getMinutes();
var seconds = d.getSeconds();

month=new Array("января", "февраля", "марта", "апреля", "мая", "июня",
"июля", "августа", "сентября", "октября", "ноября", "декабря");

if (day <= 9) day = "0" + day;
if (hours <= 9) hours = "0" + hours;
if (minutes <= 9) minutes = "0" + minutes;
if (seconds <= 9) seconds = "0" + seconds;

date_time = "Сегодня - " + day + " " + month[month_num] + " " + d.getFullYear() +
" г.&nbsp;&nbsp;&nbsp;Текущее время - "+ hours + ":" + minutes + ":" + seconds;
if (document.layers) {
 document.layers.doc_time.document.write(date_time);
 document.layers.doc_time.document.close();
}
else document.getElementById("doc_time").innerHTML = date_time;
 setTimeout("clock()", 1000);
}
</script>
<table>
    <tr>
        <td>
            <h1><span id="doc_time">Дата и время</span><script type="text/javascript">clock();</script></h1>
        </td>
        <td>
            <center><link type="text/css" rel="stylesheet" href="https://www.meteoprog.ua/css/winformer.min.css">
            <div class="meteoprog-informer" style="width: 264px" data-params='{"id": "5d930605984852e71a8c8c35", "city_ids": "1495", "domain": "https://www.meteoprog.ua/ru/", "lang": "ru"}'> <a title="Погода в городе Москва" target="_blank" href="https://www.meteoprog.ua/ru/weather/Moscow"></a>
            <a target="_blank" class="constructor__met2wlink" href="https://www.meteoprog.ua/ru/review/Moscow/"></a>
            <a class="constructor__metlink" target="_blank" href="https://www.meteoprog.ua/ru/"></a>
            </div>
            <script type="text/javascript" src="https://www.meteoprog.ua/js/winformer.min.js"></script></center>
        </td>
    </tr>
</table>
</head>
<body>
<?php
mb_internal_encoding("UTF-8");
require_once 'connection.php'; // подключаем скрипт

$link = mysqli_connect($host, $user, $password, $database)
    or die("Ошибка " . mysqli_error($link));

$query ="SELECT * FROM tablo LIMIT 0 , 15";

$result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
if($result)
{

    $rows = mysqli_num_rows($result); // количество полученных строк
     
    echo "<h2>Стоматологи-терапевты</h2><table><tr><th><h2>Ф.И.О.</h2></th><th><h2>Должность</h2></th><th><h2>Каб.</h2></th><th><h2>Чет.</h2></th><th><h2>Не чет.</h2></th></tr>";
    while ($row = mysqli_fetch_row($result)){
echo "<tr><td><h3>$row[2]</h3></td><td><h4>$row[3]</h4></td><td><h4>$row[4]</h4></td><td><h3>$row[5]</h3></td><td><h3>$row[6]</h3></td></tr>";
}
    echo "</table>";
     
    // очищаем результат
    mysqli_free_result($result);
}
mysqli_close($link);
?>
</body>
</html>
*

xpank

  • Захожу иногда
  • 448
  • 41 / 0
Re: Модуль обратной связи
« Ответ #38 : 01.10.2019, 14:57:19 »
А в самой базе данные нормальные? Возможно при заливке базы в СУБД хостинга из-за различий в кодировке данные повредились.
*

Zokko

  • Осваиваюсь на форуме
  • 31
  • 0 / 1
Re: Модуль обратной связи
« Ответ #39 : 01.10.2019, 15:01:52 »
А в самой базе данные нормальные? Возможно при заливке базы в СУБД хостинга из-за различий в кодировке данные повредились.

в самой MySQL в fabrik все отображается нормально, проблема именно когда идет выгрузка данных с MySQL
*

xpank

  • Захожу иногда
  • 448
  • 41 / 0
Re: Модуль обратной связи
« Ответ #40 : 01.10.2019, 15:24:53 »
А кодировка в БД какая?
*

Zokko

  • Осваиваюсь на форуме
  • 31
  • 0 / 1
Re: Модуль обратной связи
« Ответ #41 : 01.10.2019, 15:30:56 »
Код
utf8_general_ci
*

xpank

  • Захожу иногда
  • 448
  • 41 / 0
Re: Модуль обратной связи
« Ответ #42 : 01.10.2019, 15:39:26 »
Если и файл test.php тоже сохранен в utf-8, то я хз, почему так.

mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'");
mysql_query("SET CHARACTER SET 'utf8'");
Кстати, как вариант попробовать так
Код
$link = mysqli_connect($host, $user, $password, $database)
    or die("Ошибка " . mysqli_error($link));
$link->set_charset("utf8");
« Последнее редактирование: 01.10.2019, 15:59:32 от xpank »
*

Zokko

  • Осваиваюсь на форуме
  • 31
  • 0 / 1
Re: Модуль обратной связи
« Ответ #43 : 01.10.2019, 16:04:52 »
Если и файл test.php тоже сохранен в utf-8, то я хз, почему так.
Кстати, как вариант попробовать так
Код
$link = mysqli_connect($host, $user, $password, $database)
    or die("Ошибка " . mysqli_error($link));
$link->set_charset("utf8");

Да ты блин шутишь... Я так же делал, 0 эмоций либо ошибка...
Щас поставил как ты сказал http://sp3dzm.ru/tablo/test.php

Дай почтовый адрес я тебе коньяк вышлю)
*

xpank

  • Захожу иногда
  • 448
  • 41 / 0
Re: Модуль обратной связи
« Ответ #44 : 01.10.2019, 17:17:33 »
Я так же делал, 0 эмоций либо ошибка...
Небось в интернете нашел, а переменную не поправил  ;)
Дай почтовый адрес я тебе коньяк вышлю)
Это совсем не обязательно  ^-^
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль отображения сообщений группы телеграмм на сайте

Автор kunsaid

Ответов: 2
Просмотров: 338
Последний ответ 08.02.2024, 13:13:27
от kunsaid
Модуль вывода материалов

Автор alexandr-spb

Ответов: 3
Просмотров: 957
Последний ответ 21.10.2023, 00:20:17
от shur
Модуль вывода новостей по категориям

Автор Error222

Ответов: 1
Просмотров: 734
Последний ответ 31.07.2023, 09:44:53
от Vastriet
Модуль/компонент/плагин видео из Вконтакте

Автор Snip

Ответов: 0
Просмотров: 857
Последний ответ 25.05.2023, 19:16:49
от Snip
Модуль случайного вывода ссылок на материалы для Joomla! 2.5

Автор Serhio

Ответов: 22
Просмотров: 8644
Последний ответ 15.03.2023, 11:19:27
от Doctor Death