Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
3 / 3 / 0
Регистрация: 14.11.2012
Сообщений: 110
1

Как вставить тег через 50 слов?

21.04.2013, 09:35. Показов 1050. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
После переноса сайта с движка ДЛЕ на Вордпресс, я очистил таблицу с короткими новостями, которые выводились на ДЛЕ. Теперь все записи в таблице wp_posts начинаются с тега <!--more-->.

Возможно ли с помощью SQL запроса переместить тег <!--more--> в таблице wp_posts к примеру на 50 слов у всех записях? Или может можно его сначала удалить во всех записях, а потом вставить через 50 слов с помощью SQL запроса.

Заранее благодарен.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2013, 09:35
Ответы с готовыми решениями:

Как вставить видео тег в html?
так, что бы еще и можно было посмотреть видео без интернета

Как быстро вставить тег LATEX ?
Чтобы нажать кнопку и получить ...

Как вставить тег leech в .tpl?
Подскажите пожалуйста можно ли тут где-то вставить тег leech чтоб ссылка не блокировалась в...

XML. Как вставить тег в нужное место?
Здравствуйте. Помогите с функцией для вставки тега &lt;oldprice&gt; после &lt;price&gt; в XML файле. В общем...

7
3 / 3 / 0
Регистрация: 14.11.2012
Сообщений: 110
22.04.2013, 12:23  [ТС] 2
с помощью REPLACE() тег <!--more--> успешно убрал. Теперь все посты - как полная новость.

Из SUBSTRING_INDEX() - не могу разобраться никак. Пол дня уже убил и нет результата.
Подскажите пожалуйста sql запрос который нужно выполнить чтобы вставить тег <!--more--> в таблице wp_posts в столбце post_content через 50 слов. Заранее благодарен.
0
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
22.04.2013, 14:39 3
это мозговынос 50 слов находить на sql, проще на php это сделать
0
3 / 3 / 0
Регистрация: 14.11.2012
Сообщений: 110
22.04.2013, 14:42  [ТС] 4
Мне нужно в базе сайта в phpMyAdmin вставить указанный тег. Как это можно сделать с помощью php? Если поможете - буду благодарен за помощь. Мне не важен метод, важен результат.
0
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
22.04.2013, 15:25 5
Этап первый - ничего не пишем,а просто вынимаем одну запись и выводим ее на экран. Если отработает как надо без ошибок допишем. А пока запустите дабы проверить работаспособность, заменив данные где комменты на свои.
Кликните здесь для просмотра всего текста
PHP
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?
set_time_limit(0);
#не пугаемся, это уже написанный инструмент работы с базой
 
class database extends PDO {
private $connected;
public $errors;
 
 function __construct($server, $database , $charset , $username, $password){
    $this -> errors = array();
    $this -> connected = true;
    try { 
      parent::__construct(
      'mysql:dbname='.$database.';host='.$server.';charset='.$charset ,      
       $username,
       $password
      ); 
      $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch (PDOException $Exception) { 
      $this -> connected = false;
      $this -> errors[] = $Exception;      
    } 
 }
 
 function Run($query , &$rows){ 
   if (!$this -> connected){
    $rows = 0;
    return false;    
   }
   try {
      $query_obj = $this->prepare($query);
      $query_obj->execute();
      $rows = $query_obj->rowCount();
   } catch (PDOException $Exception) {
      $this -> errors[] = $Exception->getMessage();
      return false;
   } 
   return true;
 }
 
 function SimpleQuery($query){
   if (!$this -> connected){
    return false;    
   }
   try{
     $stmt = $this->query($query);
     if (!$stmt) return null;
     return $stmt->fetch(PDO::FETCH_ASSOC);    
   }catch (PDOException $Exception) { 
     $this -> errors[] = $Exception->getMessage();
     return null;
   }
 }
 
  function GetAsArray($query){
   if (!$this -> connected){
    return false;    
   }
   try{
     $stmt = $this->query($query);
     if (!$stmt) return null;
     return $stmt->fetchAll(PDO::FETCH_ASSOC);    
   }catch (PDOException $Exception) { 
     $this -> errors[] = $Exception->getMessage();
     return null;
   }
 }
 
}
 
#пошел код
#Замените значения соединения на свои (внутри кавычек!!)
$server = '127.0.0.1';
$username = 'ROOT';
$password = '';
#кодировка
$charset = 'utf8';
$database = 'test';
#таблица в которой надо изменить запись
$table_name='ResignStatus';
#поле в таблицы которое меняем
$table_field='ResignReason';
#через сколько слов вставить
$word_limit=2;
#далее не трогаем код
 
$DB = new database($server, $database , $charset , $username, $password);
if (count($DB->errors) > 0) { echo 'ошибка базы данных!</br>'; var_dump($DB->errors); die();}
echo 'connected OK</br>';
$posts = $DB->GetAsArray("select `$table_field` from `$table_name` limit 1");
if (count($DB->errors) > 0) { echo 'ошибка выборки статей!</br>'; var_dump($DB->errors); die();}
echo 'load data OK</br>';
$count=count($posts);
if ($count < 0) { echo 'ошибка, статьи не выбрались!</br>'; die();}
echo 'loaded ', $count , ' posts!';
foreach ($posts as &$post){
 $array = explode(' ', $post[$table_field]);
 if (!isset($array[$word_limit-1])) die('To short post');
 $array[$word_limit-1] .= '<!--more-->';
 $post = implode(' ',$array); 
 echo '</br>OUTPUT:</br><textarea>', htmlspecialchars($post) , '</textarea>';
}
0
3 / 3 / 0
Регистрация: 14.11.2012
Сообщений: 110
22.04.2013, 15:50  [ТС] 6
Заменил данные и отрыл http://site.ua/test.php. Я все верно сделал?

Получил сообщение: "connected OK", хотя без замены данных на мои - то же самое сообщение получается...
0
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
22.04.2013, 15:52 7
Цитата Сообщение от realmen80 Посмотреть сообщение
Я все верно сделал?
да, ну а далее что, это все что пишет?
0
3 / 3 / 0
Регистрация: 14.11.2012
Сообщений: 110
22.04.2013, 15:56  [ТС] 8
Да. Ваш код вставил в блокнот, сохранил как test.php, залил в корень и отрыл http://site.ua/test.php. Все что пишет: "connected OK". Напишите в ЛС аську или скайп.
0
22.04.2013, 15:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2013, 15:56
Помогаю со студенческими работами здесь

Как вставить тег внутрь другого тега?
Доброго времени суток! Возник вопрос. Допустим есть тег &lt;ul&gt;&lt;/ul&gt;. Как мне средствами php, при...

Как в XML вставить новый тег в определенном месте?
Необходимо в существующем XML добавить новый тег. В определенном месте. Что надо сделать, чтобы в...

Как изменить тег в юнити через код, не сразу а через время
Имеется код: if (other.gameObject.tag == &quot;ZeroPlatform&quot;) { ...

Как с помощью js найти тег title и вставить в него введённый в input text заголовок?
Я использую CKEditor. Как с помощью js найти тег title и вставить в него введённый в input text...

Как вставить в TextBox текущее время, и через пробел вставить текст?
Я хочу сделать свою программку типа собеседника. Тоесть например вводишь в один TextBox вопрос , и...

Как передать значения массива через тег <a>
&lt;? $delete_qr = mysql_query(&quot;SELECT * FROM `stek`&quot;); while($delete =...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru