Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » MySql/PHP: общие вопросы

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76

Открыть новую тему     Написать ответ в эту тему

Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
data:'id'  

это где такое видели?
для начала - возможно нужно преобразовать JSON обратно (если не делается за вас)
а затем обращаться как в js - data['id']
причем тут php?

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 19:28 06-08-2023 | Исправлено: Mavrikii, 19:30 06-08-2023
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
Предыдущий код решен
 

Цитата:
причем тут php?
 

 
Код и php + Ajax
 
Я пытаюсь вставить это «утверждение» внутри, но не могу понять, как сделать
 
Код, который должен быть вставлен внутри
 

Код:
 
if ( (strtotime($row['data_web'])+7*86400)>time() ){
  echo '<b style="color:green;">' .$newDateweb. '</b>';
  echo '&nbsp; &nbsp;' . '<img src="ico/new_icon.gif" />';
    
}else{
    
    echo $row['data_web'];
}
 

 
 
php + Ajax code
 

Код:
 
## Fetch records
$empQuery = "select * from store WHERE 1 ".$searchQuery." order by ".$columnName." ".$columnSortOrder." limit ".$row.",".$rowperpage;
$empRecords = mysqli_query($con, $empQuery);
$data = array();
 
while ($row = mysqli_fetch_assoc($empRecords)) {
    $data[] = array(
            "id"=>$row['id'],
            "title"=>$row['title'],
            "title"=>'<a href="../member/film.php?id=' . $row['id'] . '" target="_blank"' . '>' . $row['title'] . '</a>',
            "image"=>'<a href="../images/' .$row['image']. '"><img src="../images/' .$row['image']. '" width="50px" class="zoom"/><a>',
            "cast"=>$row['cast'],
            "data_web"=>$row['data_web'],
            "tags"=>$row['tags'],
            "trailer"=>'<a href="../trailer/' . $row['trailer'] . '" target="_blank"' . '>' . $row['trailer'] . '</a>'
        );
}
 
## Response
$response = array(
    "draw" => intval($draw),
    "iTotalRecords" => $totalRecords,
    "iTotalDisplayRecords" => $totalRecordwithFilter,
    "aaData" => $data
);
 
echo json_encode($response);
 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 08:35 07-08-2023
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
Я пытаюсь вставить это «утверждение» внутри, но не могу понять, как сделать


Цитата:
$response = array(
    "draw" => intval($draw),
    "iTotalRecords" => $totalRecords,
    "iTotalDisplayRecords" => $totalRecordwithFilter,
    "aaData" => $data
);

добавить атрибут с нужным значением, а потом в js его использовать

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 09:00 07-08-2023
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
добавить атрибут с нужным значением, а потом в js его использовать

 
пример? Чтобы понять структуру

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 10:10 07-08-2023
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
пример? Чтобы понять структуру


Код:
if ( (strtotime($row['data_web'])+7*86400)>time() ){
  $otherData = '<b style="color:green;">' .$newDateweb. '</b>
  &nbsp; &nbsp;' . '<img src="ico/new_icon.gif" />';    
}else{
  $otherData = $row['data_web'];
}
$response = [
    "draw" => intval($draw),
    "iTotalRecords" => $totalRecords,
    "iTotalDisplayRecords" => $totalRecordwithFilter,
    "aaData" => $data,
    "otherData" => $otherData
];

 
и в js тогда
data['otherData']

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 17:54 07-08-2023
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 

Цитата:
и в js тогда
data['otherData']

 
data['otherData']
 
{data: 'otherData'},
 
В коде JavaScript я попробовал комбинации, но это не работает
 
 
index


Код:
 
 
<script>
        $(document).ready(function(){
            $('#empTable').DataTable({
                'processing': true,
                'serverSide': true,
                'serverMethod': 'post',
                'ajax': {
                    'url':'ajaxfile.php'
                },
                "order": [[ 0, "desc" ]],
                "pageLength": 5,
                "dom": '<lfi<t>ip>',
                 "lengthChange": false, // Will Disabled Record number per page
                 
                'columns': [  
                     
                     
                    {data: 'id'},
                     
                    {data: 'title'},
                     
                    {data: 'image'},
                     
                    { data: 'cast' },
                     
                    { data: 'data_web', name: 'data_web',
                    render: function(data) {
                        return moment(data).format('YYYY-MM-DD')}},
                         
                    { data: 'tags' },
                     
                     
                    { data: 'trailer' },
                     
                    {data: 'otherData'},
                     
                ],  
                 
                // end columns
 

 
 
ajax
 

Код:
## Fetch records
$empQuery = "select * from store WHERE 1 ".$searchQuery." order by ".$columnName." ".$columnSortOrder." limit ".$row.",".$rowperpage;
$empRecords = mysqli_query($con, $empQuery);
$data = array();
 
while ($row = mysqli_fetch_assoc($empRecords)) {
    $data[] = array(
            "id"=>$row['id'],
            "title"=>$row['title'],
            "title"=>'<a href="../member/film.php?id=' . $row['id'] . '" target="_blank"' . '>' . $row['title'] . '</a>',
            "image"=>'<a href="../images/' .$row['image']. '"><img src="../images/' .$row['image']. '" width="50px" class="zoom"/><a>',
            "cast"=>$row['cast'],
            "data_web"=>$row['data_web'],
            "tags"=>$row['tags'],
            "trailer"=>'<a href="../trailer/' . $row['trailer'] . '" target="_blank"' . '>' . $row['trailer'] . '</a>'
        );
}
 
 
if ( (strtotime($row['data_web'])+7*86400)>time() ){
  $otherData = '<b style="color:green;">' .$newDateweb. '</b>
  &nbsp; &nbsp;' . '<img src="new_icon.gif" />';    
}else{
  $otherData = $row['data_web'];
}
 
## Response
$response = array(
    "draw" => intval($draw),
    "iTotalRecords" => $totalRecords,
    "iTotalDisplayRecords" => $totalRecordwithFilter,
    "aaData" => $data,
    "otherData" => $otherData
);
 
echo json_encode($response);

 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 18:46 07-08-2023 | Исправлено: zagorisback, 19:07 07-08-2023
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
{data: 'otherData'},

чушь, не понимаете основ
 

Цитата:
но это не работает

потому что передается null, видно же.
значит $row['data_web'] со значением null

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 19:31 07-08-2023
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 

Цитата:
потому что передается null, видно же.
значит $row['data_web'] со значением null

 
Это не правильно, данный и присутствующий
 
   
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 20:15 07-08-2023
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
Это не правильно, данный и присутствующий

значит в вашем коде что то не так написано, как указали.
смотрите ответ сервера, есть ли в ответе значение в поле otherData

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 20:20 07-08-2023
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
 
index.php (только JavaScript)
 

Код:
 
<script>
        $(document).ready(function(){
            $('#empTable').DataTable({
                'processing': true,
                'serverSide': true,
                'serverMethod': 'post',
                'ajax': {
                    'url':'ajaxfile.php'
                },
                "order": [[ 0, "desc" ]],
                "pageLength": 5,
                "dom": '<lfi<t>ip>',
                 "lengthChange": false, // Will Disabled Record number per page
                 
                'columns': [  
                     
                     
                    {data: 'id'},
                     
                    {data: 'title'},
                     
                    {data: 'image'},
                     
                    {data: 'cast' },
                     
                    { data: 'data_web', name: 'data_web',
                    render: function(data) {
                        return moment(data).format('YYYY-MM-DD')}},
                         
                    {data: 'tags' },
                     
                     
                    {data: 'trailer' },
                     
                    {data: 'otherData'},
                     
                ],  
 

 
 
 
ajaxfile.php (Полный код)
 

Код:
 
 
<?php
include 'config.php';
 
 
## Read value
$draw = $_POST['draw'];
$row = $_POST['start'];
$rowperpage = $_POST['length']; // Rows display per page
$columnIndex = $_POST['order'][0]['column']; // Column index
$columnName = $_POST['columns'][$columnIndex]['data']; // Column name
$columnSortOrder = $_POST['order'][0]['dir']; // asc or desc
$searchValue = mysqli_real_escape_string($con,$_POST['search']['value']); // Search value
 
## Search  
$searchQuery = " ";
if($searchValue != ''){
    $searchQuery = " and (title like '%".$searchValue."%' or  
        tags like '%".$searchValue."%' or  
        data_web like'%".$searchValue."%' ) ";
}
 
## Total number of records without filtering
$sel = mysqli_query($con,"select count(*) as allcount from store");
$records = mysqli_fetch_assoc($sel);
$totalRecords = $records['allcount'];
 
## Total number of records with filtering
$sel = mysqli_query($con,"select count(*) as allcount from store WHERE 1 ".$searchQuery);
$records = mysqli_fetch_assoc($sel);
$totalRecordwithFilter = $records['allcount'];
 
 
## Fetch records
$empQuery = "select * from store WHERE 1 ".$searchQuery." order by ".$columnName." ".$columnSortOrder." limit ".$row.",".$rowperpage;
$empRecords = mysqli_query($con, $empQuery);
$data = array();
 
while ($row = mysqli_fetch_assoc($empRecords)) {
    $data[] = array(
            "id"=>$row['id'],
            "title"=>$row['title'],
            "title"=>'<a href="../member/film.php?id=' . $row['id'] . '" target="_blank"' . '>' . $row['title'] . '</a>',
            "image"=>'<a href="../images/' .$row['image']. '"><img src="../images/' .$row['image']. '" width="50px" class="zoom"/><a>',
            "cast"=>$row['cast'],
            "data_web"=>$row['data_web'],
            "tags"=>$row['tags'],
            "trailer"=>'<a href="../trailer/' . $row['trailer'] . '" target="_blank"' . '>' . $row['trailer'] . '</a>'
        );
 
}
 
 
if ( (strtotime($row['data_web'])+7*86400)>time() ){
    $otherData = '<b style="color:green;">' .$row['data_web']. '</b>
    &nbsp; &nbsp;' . '<img src="ico/new_icon.gif" />';    
    }else{
    $otherData = $row['data_web'];
    }
 
 
 
 
## Response
$response = array(
    "draw" => intval($draw),
    "iTotalRecords" => $totalRecords,
    "iTotalDisplayRecords" => $totalRecordwithFilter,
    "aaData" => $data,
    "otherData" => $otherData
);
 
echo json_encode($response);
 
 
?>
 

 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 21:42 07-08-2023
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback
вы данные пихаете в  

Цитата:
    $data[] = array(
            "id"=>$row['id'],
            "title"=>$row['title'],
            "title"=>'<a href="../member/film.php?id=' . $row['id'] . '" target="_blank"' . '>' . $row['title'] . '</a>',
            "image"=>'<a href="../images/' .$row['image']. '"><img src="../images/' .$row['image']. '" width="50px" class="zoom"/><a>',
            "cast"=>$row['cast'],
            "data_web"=>$row['data_web'],
            "tags"=>$row['tags'],
            "trailer"=>'<a href="../trailer/' . $row['trailer'] . '" target="_blank"' . '>' . $row['trailer'] . '</a>'
        );

 
значит туда и запихивайте что нужно вам.
 

Цитата:
    $data[] = [
            "id"=>$row['id'],
            "title"=>$row['title'],
            "title"=>'<a href="../member/film.php?id=' . $row['id'] . '" target="_blank"' . '>' . $row['title'] . '</a>',
            "image"=>'<a href="../images/' .$row['image']. '"><img src="../images/' .$row['image']. '" width="50px" class="zoom"/><a>',
            "cast"=>$row['cast'],
            "data_web"=>$row['data_web'],
            "tags"=>$row['tags'],
            "trailer"=>'<a href="../trailer/' . $row['trailer'] . '" target="_blank"' . '>' . $row['trailer'] . '</a>',
            'otherData' =>  (strtotime($row['data_web'])+7*86400)>time() ?  '<b style="color:green;">' .$row['data_web']. '</b>&nbsp; &nbsp;' . '<img src="ico/new_icon.gif" />' : $row['data_web']
        ];

 
без
Цитата:
 
if ( (strtotime($row['data_web'])+7*86400)>time() ){
    $otherData = '<b style="color:green;">' .$row['data_web']. '</b>
    &nbsp; &nbsp;' . '<img src="ico/new_icon.gif" />';    
    }else{
    $otherData = $row['data_web'];
    }
 


Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 22:05 07-08-2023
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
Я получаю данные сейчас, но я не отображаю значок
 
2023-08-07 и в диапазоне 7 дней
 
   
 
 
 

Код:
'otherData' =>  (strtotime($row['data_web'])+7*86400)>time() ?  '<b style="color:green;">' .$row['data_web']. '</b>&nbsp; &nbsp;' . '<img src="new_icon.gif" />' : $row['data_web']

 
 
 
 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 22:46 07-08-2023
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
сейчас, но я не отображаю значок

ну так возможно не вставляется как html, нужно смотреть в коде страницы, что конкретно там появляется.
судя по всему, не срабатывает условие. если хочется иначе - переписать не в одну строку, а сделать переменную, ей с условием if передавать нужный вид строки, а потом уже использовать ее в массиве вместо той длинной строки.

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 23:02 07-08-2023
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
Проблема была здесь
 

Код:
{ data: 'data_web', name: 'data_web',
                        render: function(data) {
                    return moment(data).format('YYYY-MM-DD')}},

 
заменен таким образом
 

Код:
{data: 'data_web'},

 
так изменилось
 

Код:
"data_web"=>(strtotime($row['data_web'])+7*86400)>time() ?  '<b style="color:green;">' .$row['data_web']. '</b>&nbsp; &nbsp;' . '<img src="new_icon.gif" />' : $row['data_web'],

 
финал
 
   
 
Большое спасибо Mavrikii, ты мне очень помог
 

 
PS: Что это за операторы?  ?  :

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 23:31 07-08-2023
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
PS: Что это за операторы?  ?  :

https://www.codementor.io/@sayantinideb/ternary-operator-in-php-how-to-use-the-php-ternary-operator-x0ubd3po6

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 00:45 08-08-2023
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 

Цитата:
https://www.codementor.io/@sayantinideb/ternary-operator-in-php-how-to-use-the-php-ternary-operator-x0ubd3po6

 
тройной оператор, интересный
Спасибо

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 07:19 08-08-2023
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет,
 
Я пытаюсь решить этот вопрос,
Следуя драгоценному совету Mavrikii по "Ternary Operator", я написал этот код,
Он работает частично, видеоплеер и доступен
Но если в папке нет видео или с другим именем, оно должно показать мне уведомление или ссылку на проверку
 
 

Код:
 
$sub_array[] = $row["trailer"]  
 = ($row['trailer'] == true)  
? "<div><video  width='120' height='60'  controls ><source src='../../trailer/". $row['trailer'] ."' type='video/mp4'></video></div>"
: 'Video not aviable' . '<a href="../../trailer/' . $row['trailer'] . '" target="_blank"' . '>' . $row['trailer'] . '</a><br>';
 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 13:17 14-08-2023 | Исправлено: zagorisback, 18:11 14-08-2023
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
Но если в папке нет видео или с другим именем, оно должно показать мне уведомление или ссылку на проверку
 

обычные if, не нужно перегружать и усложнять чтение кода.
 
у этого варианта может быть куча вложения
$a = $condition1 ? 'yes' : ($condition2 ? 'yes' : 'no');
и так далее.

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 18:33 14-08-2023
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 

Цитата:
$a
$condition1
$condition2

 
Откуда эти переменные?
В коде есть только
Код:
$row["trailer"]

Вы можете привести пример, потому что, честно говоря, я не понял, как продолжить
 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 18:54 14-08-2023 | Исправлено: zagorisback, 18:55 14-08-2023
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
Откуда эти переменные?

это просто сокращение. там может быть переменная, либо логическое условие.
 

Цитата:
Вы можете привести пример, потому что, честно говоря, я не понял, как продолжить

пользуйтесь обычным if, не нужно писать все в одну строку.
 
и я не понимаю, столько времени уже пишете что то на php, а не понятны простые конструкции?
 
$a - просто переменная, которой что то назначается
$condition1 - ($var1 > 1)
$condition2 - ($va2 <= 0)
условия просто для наглядности

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 18:55 14-08-2023 | Исправлено: Mavrikii, 18:57 14-08-2023
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76

Компьютерный форум Ru.Board » Интернет » Web-программирование » MySql/PHP: общие вопросы


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru