Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097

Как сделать выборку из базы?

13.07.2018, 00:21. Показов 953. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть таблица wp_postmeta и столбец meta_value в нем есть строка
a:5:{s:5:"width";i:836;s:6:"height";i:45 3;s:4:"file";s:25:"2017/11/Molodoy-teatr.png";s:5:"sizes";a:5:{s:9:"thumbna il";a:4:{s:4:"file";s:25:"Molodoy-teatr-150x150.png";
Мне нужно забрать картинку с размерами
Molodoy-teatr-150x150.png"

чего то не получается.
PHP
1
2
3
4
5
6
7
8
9
10
 $result4 = mysql_query("SELECT  * FROM wp_postmeta WHERE *", $connect_db);
while($row7 = mysql_fetch_assoc($result4))
{
   
    preg_match_all('#<img.*src="(.*)".*>#isU', $row7["meta_value"], $match2);
    echo '<pre>';
   print_r ($match2);
    echo '</pre>';
 
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.07.2018, 00:21
Ответы с готовыми решениями:

Как сделать правильно выборку из базы данных?
Привет форумчане! Я пока только учусь, так что не судите строго, но вопрос такой: У меня есть 2 страницы - одна index.php - сам...

Необходимо сделать выборку из базы данных
всем привет. я совсем немного понимаю в бд, поэтому прошу помощи. наверно кому-то будет раз плюнуть помочь.. суть вот в чем: файл...

Как сделать выборку из базы
В общем есть у меня массив айдишников $idArray = array(1,2,3,4,5,6); Как правильно связать запрос и этот массив айдишников?...

14
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
13.07.2018, 08:44
scherbakovss201, так там строка или картинка?
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
13.07.2018, 09:23
У WP есть специальные функции для выборки. Не нужно использовать свои запросы, тем более через устаревшее mysql-расширение.
0
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
13.07.2018, 09:32
Para bellum, я думаю ТС привёл название таблицы, а не имя широко известного фреймвока, хотя может и ошибаюсь.
0
13.07.2018, 09:44

Не по теме:

atanov, просто в Wordpress есть таблица wp_postmeta со столбцом meta_value, где как раз содержатся сериализованные данные.

Исходя из этого предположил, что он под WP что-то создаёт.

Хотя есть вероятность, что он просто дал названия таблице и столбцу как в WP. Но сомневаюсь.

0
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
13.07.2018, 09:47
Para bellum, коллега, полностью согласен.
0
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097
13.07.2018, 15:56  [ТС]
Цитата Сообщение от atanov Посмотреть сообщение
scherbakovss201, так там строка или картинка?
это большая строка в которой есть миниатюры картинок.

Добавлено через 5 минут
Цитата Сообщение от Para bellum Посмотреть сообщение
Хотя есть вероятность, что он просто дал названия таблице и столбцу как в WP. Но сомневаюсь.
В WP есть настройки->медиафайлы есть размеры миниаитюр,среднего и максимального размера картинок и включена галочка обрезать. В результате на хостинге в папке с оригинальным размером есть размеры 150х150 и 300х300 с именем картинки.я пробовал на хостинге удалить и обновил статью на сайте то место миниатюры тогда пустое.Как можно решить задачу,что бы на хостинге не нарезались доп картинки, если на хостинге их удалить то в статье на сайте WP сам с оригинального размера 1200х720 сделал бы миниатюру...

Добавлено через 3 часа 5 минут
Цитата Сообщение от Para bellum Посмотреть сообщение
У WP есть специальные функции для выборки. Не нужно использовать свои запросы, тем более через устаревшее mysql-расширение.
можно пример ибо в меня они не работают.

Добавлено через 27 секунд
если они могут вятащить из текста все картинки я готов ими пользоваться,прошу помочь.

Добавлено через 2 часа 11 минут
Цитата Сообщение от atanov Посмотреть сообщение
scherbakovss201, так там строка или картинка?
PHP
1
2
3
4
5
6
7
8
9
10
11
/*  все теги IMG из текста  post_meta*/
$result4 = mysql_query("SELECT meta_value FROM wp_postmeta" , $connect_db);
while($row7 = mysql_fetch_assoc($result4))
{
   
    preg_match_all('#<img.*src="(.*)".*>#isU', $row7["meta_value"], $match2);
    echo '<pre>';
   print_r (array_keys($match2));
    echo '</pre>';
 
}
Результат
Array
(
[0] => 0
[1] => 1
)
Array
(
[0] => 0
[1] => 1

Добавлено через 59 секунд
Цитата Сообщение от atanov Посмотреть сообщение
scherbakovss201, так там строка или картинка?
Самая обычная строка и не закадированная
a:5:{s:5:"width";i:836;s:6:"height";i:45 3;s:4:"file";s:25:"2017/11/Molodoy-teatr.png";s:5:"sizes";a:5:{s:9:"thumbna il";a:4:{s:4:"file";s:25:"Molodoy-teatr-150x150.png";

Добавлено через 1 минуту
Если так
PHP
1
 print_r ($match2);
результат
Array
(
[0] => Array
(
)

[1] => Array
(
)

)
Array
(
[0] => Array
(
)

[1] => Array
(
)

)

Добавлено через 27 минут
пробовал так,страница со скритом не открывается
PHP
1
2
3
4
5
6
7
 foreach ($match2 as &$value => $massiv) 
 {
     foreach($massiv  as  $inner_key => $value)
                {
                echo $value;
                }
 }
0
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097
13.07.2018, 16:13  [ТС]
поменял на,ничего кроме ошибок не выводит
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/*  все теги IMG из текста  post_meta*/
 $result4 = mysql_query("SELECT meta_value FROM wp_postmeta" , $connect_db);
while($row7 = mysql_fetch_assoc($result4))
{
    preg_match_all('#<img.*src="(.*)".*>#isU', $row7["meta_value"], $match2);
    echo '<pre>';
/*   print_r ($match2);  */
 foreach ($match2c as $base_key => $base_value) 
 {
     foreach($base_value as $key => $value)
                {
                 echo $value, ' ';
                }
 }
 
    echo '</pre>';
}
0
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097
13.07.2018, 16:17  [ТС]
Строка 64
foreach ($match2c as $base_key => $base_value)

Добавлено через 1 минуту
Notice: Undefined variable: match in /var/www/dayting/data/www/dayting.com.ua/mysql_numrowstable.php on line 64
Warning: Invalid argument supplied for foreach() in /var/www/dayting/data/www/dayting.com.ua/mysql_numrowstable.php on line 64
подправил на все равно ругаеться
PHP
1
foreach ($match as $base_key => $base_value)
Добавлено через 2 минуты
подправил на ошибок нет и вывода тоже нет.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/*  все теги IMG из текста  post_meta*/
 $result4 = mysql_query("SELECT meta_value FROM wp_postmeta" , $connect_db);
while($row7 = mysql_fetch_assoc($result4))
{
    preg_match_all('#<img.*src="(.*)".*>#isU', $row7["meta_value"], $match);
    echo '<pre>';
/*   print_r ($match);  */
 foreach ($match as $base_key => $base_value) 
 {
     foreach($base_value as $key => $value)
                {
                 echo $value, ' ';
                }
 }
 
    echo '</pre>';
}
0
7 / 7 / 5
Регистрация: 07.06.2018
Сообщений: 117
13.07.2018, 16:21
почитай вот это
Как пронумеровать ячейки таблицы
возможно наведёт на решение..
на новое решение..
брать из массива не очень удобно.

Добавлено через 52 секунды
все таблицы квадратные.
1
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097
13.07.2018, 17:12  [ТС]
Цитата Сообщение от winwin22 Посмотреть сообщение
все таблицы квадратные.
Хочу убедиться,что регулярка верная,как проверить?

Добавлено через 1 минуту
Цитата Сообщение от winwin22 Посмотреть сообщение
брать из массива не очень удобно.
регулярка в массив и заносит,да из бд тоже массив получаем.
0
7 / 7 / 5
Регистрация: 07.06.2018
Сообщений: 117
13.07.2018, 17:59
Цитата Сообщение от scherbakovss201 Посмотреть сообщение
регулярка
это что?
результат поиска выведенный в массив?
0
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097
13.07.2018, 18:25  [ТС]
Цитата Сообщение от winwin22 Посмотреть сообщение
результат поиска выведенный в массив?
PHP
1
 preg_match_all('#<img.*src="(.*)".*>#isU', $row7["meta_value"], $match);
вот эта строка
'#<img.*src="(.*)".*>#isU'

Добавлено через 1 минуту
цель с этой каши выбрать только все картинки
Есть таблица wp_postmeta и столбец meta_value в нем есть строка
a:5:{s:5:"width";i:836;s:6:"height";i:45 3;s:4:"file";s:25:"2017/11/Molodoy-teatr.png";s:5:"sizes";a:5:{s:9:"thumbna il";a:4:{s:4:"file";s:25:"Molodoy-teatr-150x150.png";
результат должен быть таким в массиве его и вывести
Molodoy-teatr-150x150.png"

Добавлено через 1 минуту
Я так понял никто не знает,как вывести значения из массива в окно браузера и записать в файл ибо сейчас вот так

Цитата Сообщение от scherbakovss201 Посмотреть сообщение
результат
Array
(
[0] => Array
(
)
[1] => Array
(
)
)
Array
(
[0] => Array
(
)
[1] => Array
(
)
)
0
7 / 7 / 5
Регистрация: 07.06.2018
Сообщений: 117
13.07.2018, 19:49
Цитата Сообщение от scherbakovss201 Посмотреть сообщение
preg_match_all
эта функция очень интересная, но и очень глючная..
нада спрасить у разрабов что они натварили, т.к. эта прегмач работает не стабильно и через раз.
а если б работала без ошибок так все бы давно перешли от привычного к ультро возможному.
такой фишкой можно вообще командной страке вытаскивать что угодно..

PHP
1
2
3
4
5
6
7
$re = '/"([^"]+)"/ui';
$str = 'a:5:{s:5:"width";i:836;s:6:"height";i:453;s:4:"file";s:25:"2017/11/Molodoy-teatr.png";s:5:"sizes";a:5:{s:9:"thumbnail";a:4:{s:4:"file";s:25:"Molodoy-teatr-150x150.png";';
 
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
 
// Print the entire match result
var_dump($matches);
результат можно брать как с ковычками так и без

Добавлено через 9 минут
Результат (preg_match_all) - совпадение подсвечено:

1. "width"
1. width

2. "height"
1. height

3. "file"
1. file

4. "2017/11/Molodoy-teatr.png"
1. 2017/11/Molodoy-teatr.png

5. "sizes"
1. sizes

6. "thumbnail"
1. thumbnail

7. "file"
1. file

8. "Molodoy-teatr-150x150.png"
1. Molodoy-teatr-150x150.png
вот этот результат
0
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097
14.07.2018, 14:13  [ТС]
Цитата Сообщение от winwin22 Посмотреть сообщение
результат можно брать как с ковычками так и без
получается сама строка в самом первом посту закодирована
правда пишет ошибку

Notice: unserialize(): Error at offset 0 of 13 bytes in /var/www/dayting/data/www/dayting.com.ua/mysql_numrowstable.php on line 69

false

PHP
1
2
3
4
5
6
7
8
9
10
11
12
/*  все картинки из текста  wp_postmeta->meta_value*/
 $result4 = mysql_query("SELECT meta_value FROM wp_postmeta" , $connect_db);
 $num_rows33 = mysql_num_rows( $result4  );
echo nl2br("Количество записей inherit : $num_rows33\n ");
while($row7 = mysql_fetch_assoc($result4))
{
    echo '<pre>';
    $data = $row7["meta_value"];
var_export(unserialize($data)); 
/* var_dump(json_decode($data)); */
  echo '</pre>';
}
Добавлено через 6 минут
Цитата Сообщение от winwin22 Посмотреть сообщение
такой фишкой можно вообще командной страке вытаскивать что угодно..
результат
array(0) {
}
array(0) {
}
array(0) {
}
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$re = '/"([^"]+)"/ui';
/*  все картинки из текста  wp_postmeta->meta_value*/
 $result4 = mysql_query("SELECT meta_value FROM wp_postmeta" , $connect_db);
while($row7 = mysql_fetch_assoc($result4))
{
    $data = $row7["meta_value"];
    preg_match_all($re, $data, $matches, PREG_SET_ORDER, 0);
     echo '<pre>';
    var_dump($matches);
   echo '</pre>';
  
}
Добавлено через 17 часов 0 минут
вот так все работает и пути парсит с бд
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*  все картинки из текста  wp_postmeta->meta_value*/
 $result4 = mysql_query("SELECT meta_value FROM wp_postmeta WHERE meta_key='_wp_attachment_metadata'" , $connect_db);
while($row7 = mysql_fetch_assoc($result4))
{
    $data = $row7["meta_value"];
    foreach(unserialize($data)['sizes'] as $file) 
    {
     echo '<pre>';  
 echo $file['file'];
 echo '</pre>';
   }
   
  
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.07.2018, 14:13
Помогаю со студенческими работами здесь

Как сделать выборку из базы
Доброго времени суток. Помогите разобраться. Не получается сделать выборку. Пробую делать так, но выдает ошибку. DBConnect...

Как сделать выборку из базы Access - удобную для просмотра!
Доброго времени суток! Имеется база данных Access для телефонистки, как сделать так чтобы ей было удобней ею пользоватся. Например...

Как ак сделать выборку по ключевому полю из одной базы данных в другой?
Господа, проблема. Подскажите, как сделать выборку по ключевому полю из одной базы данных в другой. Я пишу так: Private Sub...

Как сделать выборку из базы данных специфическую, чтоб выводились в соотвествуюшем порядке?
Здраствуйте, я столкнулся с такой проблемой, надо сделать выборку из баз данных(mysql), чтоб сначала выводились четыре особых...

Как в ChoiceField использовать выборку из базы
Ситуация следующая: В forms.py есть поле: patients = forms.ChoiceFiled() В views.py я создаю объект формы и в мой ChoiceField...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK сделайте это, JDK, то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Перейдите по ссылке:. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
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 будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru