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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто-то объясняет эту тайну,
Этот запрос не возвращает ничего, несмотря на ценность «Линды Дениз Блэр» присутствует в таблице «actor.performer_aka»
 
   
 

Код:
 
[PHP]
SET @variable = 'Linda Denise Blair';
SELECT
    actor.actor_id,
    actor.nome,
    actor.performer_aka,
    ptgweb.alias,
    ptgweb2.websites  
FROM
    ptgweb
    INNER JOIN actor ON ptgweb.actor_id = actor.actor_id
    INNER JOIN ptgweb2 ON actor.actor_id = ptgweb2.actor_id  
WHERE
    actor.performer_aka LIKE concat ('%',@variable,'%')
    OR  
        ptgweb.alias LIKE concat ('%',@variable,'%')  
    OR  
        ptgweb2.websites LIKE concat ('%',@variable,'%')
 
[/PHP]
 

 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 09:37 25-08-2021 | Исправлено: zagorisback, 09:38 25-08-2021
Mavrikii

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

Цитата:
несмотря на ценность «Линды Дениз Блэр» присутствует в таблице «actor.performer_aka

и что? не видя данных в таблице, сказать ничего нельзя.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 18:02 25-08-2021
zagorisback



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

 
Я решил проблему с LEFT JOIN

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 18:57 25-08-2021
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня есть поле имени «links», где хранятся веб-адреса, они все разделены, собираясь на  
линию главы
 
пример:  
 

Цитата:
http://www.site1.com/perma/doom-rock.htm
http://www.site2.net/mod/doom.html
https://www.site3.com/m/doom-rock
http://site4.com/doom
https://site5.com/doom

 
То, что я хотел бы получить и создать функцию, которая управляет URL и извлекает данные так
 

Цитата:
site1.com
site2.net
site3.com
site4.com
site5.com

 
затем через функцию, URL проверяется, если в списке И ассоциированный Favicon отображается  
 

Цитата:
site1.com = favicon1.ico
site2.net = favicon2.ico
site3.com = favicon3.ico
site4.com = favicon4.ico
site5.com = favicon5.ico

 
Я думаю, что регулярное выражение для этого необходимо
 
Код вызова sites.php
 

Код:
 
 <?php
             
include ("sites.php");
                 
?>  
 

 
функция sites.php
 

Код:
 
<?php  
    $sites = $row['links'];  
        $web = explode("\r\n", $sites);
foreach($web as $url){
                          $url = trim($url);
switch ($url)
       {
           
           
case 'site1.com':
echo $url. '&nbsp;&nbsp;' . '<img src="../image_upload/sites/favicon1.ico"></img>' . '&nbsp;&nbsp;';
break;
 
case 'site2.net':
echo $url. '&nbsp;&nbsp;' . '<img src="../image_upload/sites/favicon2.ico"></img>' . '&nbsp;&nbsp;' ;
break;
 
case 'site3.com':
echo $url. '&nbsp;&nbsp;' . '<img src="../image_upload/sites/favicon3.ico"></img>' . '&nbsp;&nbsp;';
break;
 
case 'site4.com':
echo $url. '&nbsp;&nbsp;' . '<img src="../image_upload/sites/favicon4.ico"></img>' . '&nbsp;&nbsp;' ;
break;
 
case 'site5.com':
echo $url. '&nbsp;&nbsp;' . '<img src="../image_upload/sites/favicon5.ico"></img>' . '&nbsp;&nbsp;' ;
break;
 
 
default:
echo $url. '&nbsp;' . '(<span style="color:red;"> no flag</span>)' .'<img src="../image_upload/sites/nomatch.gif"</img>' . '&nbsp;&nbsp;' ;
 
 
}
}
 
 
?>
 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 13:10 27-08-2021 | Исправлено: zagorisback, 13:30 27-08-2021
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Этот код отлично работает (без регеек)
 
https://3v4l.org/3facc#v5.6.0
 

Код:
 
 
<?php
 
function get_host($url) {
    $host = parse_url($url, PHP_URL_HOST);
    $names = explode(".", $host);
     
    if(count($names) == 1) {
        return $names[0];
    }
    $names = array_reverse($names);
    return $names[1] . '.' . $names[0];
}
 
// Output for 5.6.0
 
echo get_host('http://www.site1.com/perma/doom-rock.htm'); // site1.com
echo "\n";
echo get_host('http://www.site2.net/mod/doom.html'); // site2.net
echo "\n";
echo get_host('https://www.site3.com/m/doom-rock'); // site3.com
echo "\n";
echo get_host('http://site4.com/doom'); // site4.com
echo "\n";
echo get_host('http://site5.com/doom'); // site5.com
 
 

 
Я адаптировался так для «Switch Case», но он не работает хорошо  
 
sites.php
 

Код:
 
 
<?php  
 
require_once "connetti.php";
 
 
 
    $host = $row['links'];  
        function get_host($url) {
    $host = parse_url($url, PHP_URL_HOST);
    $names = explode(".", $host);
 
    if(count($names) == 1) {
        return $names[0];
    }
 
    $names = array_reverse($names);
    return $names[1] . '.' . $names[0];
}
switch ($names)
       {
            
            
case 'site1.com':
echo $names. '&nbsp;&nbsp;' . '<img src="../image_upload/sites/us.gif"></img>' . '&nbsp;&nbsp;';
break;
 
case 'site2.net':
echo $names. '&nbsp;&nbsp;' . '<img src="../image_upload/sites/af.gif"></img>' . '&nbsp;&nbsp;' ;
break;
 
case 'site3.com':
echo $names. '&nbsp;&nbsp;' . '<img src="../image_upload/sites/scotland.gif"></img>' . '&nbsp;&nbsp;';
break;
 
case 'site4.com':
echo $names. '&nbsp;&nbsp;' . '<img src="../image_upload/sites/ru.gif"></img>' . '&nbsp;&nbsp;' ;
break;
 
case 'site5.com':
echo $names. '&nbsp;&nbsp;' . '<img src="../image_upload/sites/it.gif"></img>' . '&nbsp;&nbsp;' ;
break;
 
 
default:
echo $names. '&nbsp;' . '(<span style="color:red;"> no flag</span>)' .'<img src="../image_upload/sites/nomatch.gif"</img>' . '&nbsp;&nbsp;' ;
 
 
}
 
//echo get_host
 
?>      
 
 

 
 
 
 

mainpage.php

 

Код:
 
 
<?php
            
            // include la funzione
            
            require_once("sites.php");
            
            echo get_host;
            echo "\n";
                
            ?>
 

 
 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 15:37 27-08-2021 | Исправлено: zagorisback, 15:39 27-08-2021
sem88

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет.
 
есть таблица
 
id  | name |  text    | activ  |
---------------------------------
1   | n_1  | 0          |  
---------------------------------
2   | n_2  | txt txt2  | yes
---------------------------------
3   | n_3  | txt txt3  |  
---------------------------------
4   | n_4  | 0          |  
---------------------------------
5   | n_5  | txt txt5  |  
 
 
и т.д. до 20 шт.
 
Нужно сделать запрос изменяющий поле `activ`  по порядку, когда дойдет до конца вернуться к началу. "yes" может быть только один раз у одной строчки, которое не равно = 0.
Т.е. следующий должен быть #3. Потом 5, далее 6,7, если они пустые, то вернуться на №2
 
Понимаю, должно быть два запроса, первый выборка, потом запись. Как сделать не могу придумать.

Всего записей: 89 | Зарегистр. 13-04-2007 | Отправлено: 15:05 17-09-2021 | Исправлено: sem88, 15:06 17-09-2021
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sem88
добавить поле, с временной меткой, к примеру, чтобы знать в какой записи было последнее изменение.

Цитата:
первый выборка, потом запись.

первый - сброс предыдущего значения, второй - запись в следующее.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 17:49 17-09-2021
sem88

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо за ответ.  
 
Созрело такое решение.  
 
SELECT  
t1.id AS currentActiveId,  
t2.id AS nextActiveId,  
t3.id AS firstActiveId  
FROM bd t1 LEFT JOIN bd t2 ON (t1.id < t2.id AND t2.text <> '0') LEFT JOIN bd t3 ON (t1.id > t3.id AND t3.text <> '0' )  
WHERE t1.active = 'yes'    
 
ORDER BY t2.id, t3.id LIMIT 1;
 
Но нужно добавить возможность исключить отдельные строчки в ротации.
 
 
Так вариант  WHERE t1.active = 'yes'   AND t2.id NOT IN (14,15)
 
как бы работает, в выборке отсутствуют 14 и 15 id, НО если добавить NOT IN (14,15, 16) , а 16 последний, то выдает пустой запрос.

Всего записей: 89 | Зарегистр. 13-04-2007 | Отправлено: 15:30 20-09-2021 | Исправлено: sem88, 15:33 20-09-2021
Mavrikii

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

Цитата:
а 16 последний, то выдает пустой запрос.

выбрать еще и первую запись подходящую подзапросом, если нужная не находится.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 20:54 20-09-2021
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня есть поле времени в этом формате 00:00:00
В PHP-коде я ввел эти 2 функции
Функция 1.
плюрализировать текст
Функция 2.
Конвертировать HH: мм: сс до минут
 
Пример 1:
Я вижу время и минуты  
 
02:15:00
 
   
 
проблема и что если время меньше часа
Тот же результат возвращается для 2 функций
 
Пример 2:
Я вижу минуты  
 
00:34:00
 
   
 
Здесь я хотел бы один результат
 
Как избежать этого?  
 

Код:
 
<?php
// Функция 1. function pluralizze
$original = $row ['duration'];
    $out = '';
    if(substr($original,0,2) == '01') //Here we check if this is equal to 1 cause this is the only cas where we will write "hour" and not "hours"
    $out .= ((int)substr($original,0,2)) . ' ora ';//Here we cast our value to int to remove the 0 before the value
    else if(substr($original,0,2) != '00') // In all others cases excepted when there is 0 hours
    $out .= ((int)substr($original,0,2)) . ' ore ';
    
    if(substr($original,3,2) == '01')
    $out .= ((int)substr($original,3,2)) . ' minuto ';
    else if(substr($original,3,2) != '00')
    $out .= ((int)substr($original,3,2)) . ' minuti ';
    
    if(substr($original,6,2) == '01')
    $out .= ((int)substr($original,6,2)) . ' secondo ';
    else if(substr($original,6,2) != '00')
    $out .= ((int)substr($original,6,2)) . ' secondi ';
    
    echo $out;
    
    
    // Функция 2. function How to convert hh:mm:ss to minutes
    echo '<br>';
    $time=$original;
    $timesplit=explode(':',$time);
    $min=($timesplit[0]*60)+($timesplit[1])+($timesplit[2]>30?1:0);
    echo $min.' Min' ; // 62 Min
?>
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 16:30 01-10-2021
Mavrikii

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

Цитата:
Как избежать этого?

$timesplit=explode(':', $original);
if ($timesplit[0] != 0) {
    echo '<br>';
    $min=($timesplit[0]*60)+($timesplit[1])+($timesplit[2]>30?1:0);
    echo $min.' Min' ; // 62 Min
}

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 20:29 01-10-2021
zagorisback



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

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 20:40 01-10-2021
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
кто-то объясняет мне, потому что я не могу войти
Несмотря на ввод данных, равные тем, которые в базе данных?  
 
 
   
 
   
 
   
 
 
Скачать файл
 
Ссылка

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 09:21 05-10-2021 | Исправлено: zagorisback, 09:23 05-10-2021
Mavrikii

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

Цитата:
Несмотря на ввод данных, равные тем, которые в базе данных?

В базе, обычно, хранится не сам пароль в чистом виде, а его хэш (hash)

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 13:40 05-10-2021
zagorisback



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

Цитата:
В базе, обычно, хранится не сам пароль в чистом виде, а его хэш (hash)

 
Как я могу получить доступ тогда?

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

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

Цитата:
Как я могу получить доступ тогда?

Читать описание скрипта или смотреть код, там должно быть указано как создавать первого пользователя.  
Или просто воспользоваться восстановлением пароля, чтобы сбросить его на новый.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 19:01 05-10-2021
andreiamelyn

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет! Народ можете посоветовать хороший скрипт для чата на сайт?

Всего записей: 1 | Зарегистр. 06-10-2021 | Отправлено: 09:09 06-10-2021
Mavrikii

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

Цитата:
можете посоветовать хороший скрипт для чата на сайт

Не можеи. В данном разделе пишут скрипты, а не ищут готовое
 
Все скрипты чатов (chat scripts)

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 09:35 06-10-2021
b7music



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброго времени суток. Подскажите, пожалуйста. Есть массив $moreProductsIds выглядит так:
 

Код:
Array
(
    [0] => 128567
    [1] => 128571
    [2] => 128572
    [3] => 130780
    [4] => 130781
    [5] => 162620
    [6] => 208021
    [7] => 208022
    [8] => 208023
    [9] => 234209
    [10] => 33813
    [11] => 33814
    [12] => 33890
    [13] => 33896
    [14] => 91410
    [15] => 91412
    [16] => 91415
    [17] => 91416
    [18] => 91417
    [19] => 91419
    [20] => 91431
    [21] => 91432
    [22] => 91433
    [23] => 91436
    [24] => 91440
    [ID] => Array
        (
            [128567] => 128567
            [128571] => 128571
            [128572] => 128572
            [130780] => 130780
            [130781] => 130781
            [162620] => 162620
            [208021] => 208021
            [208022] => 208022
            [208023] => 208023
            [234209] => 234209
            [33813] => 33813
            [33814] => 33814
            [33890] => 33890
            [33896] => 33896
            [91410] => 91410
            [91412] => 91412
            [91415] => 91415
            [91416] => 91416
            [91417] => 91417
            [91419] => 91419
            [91431] => 91431
            [91432] => 91432
            [91433] => 91433
            [91436] => 91436
            [91440] => 91440
        )
 
)

Пытаюсь добавить новое значение в этот массив ID => $value, но он мне просто в конец добавляет.

Код:
    foreach ($moreProductsIds as $key => $value ) {
                            $moreProductsIds['ID'][$value] = $moreProductsIds[$key];
 
                            }

В дальнейшем нужно будет обращаться к moreProductsIds['ID']. В чем моя ошибка и как правильно сделать?

Всего записей: 672 | Зарегистр. 04-03-2010 | Отправлено: 14:48 20-10-2021 | Исправлено: b7music, 14:51 20-10-2021
Mavrikii

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

Цитата:
но он мне просто в конец добавляет

В конец чего? Результат покажите.
 
Вот только цикл сделает копию подмассива ID в него же.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 16:01 20-10-2021 | Исправлено: Mavrikii, 16:48 20-10-2021
Открыть новую тему     Написать ответ в эту тему

Страницы: 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