- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Очень надо, если строке в поле в () есть текст, то стереть ковычки с содержимым и обрезать слово sql запросом.
К примеру есть:
Вася пупкин (ступкин)
А станет
Вася пуп
через пхпадмин хочу сделать
Либо же, более расширенная задача.
php скриптом или же через phpmyadmin
1. найти в таблице-1 все записи, у которых есть в () текст.
2. для каждой из этих записей сделать замену со старой на новую, оставляя после второго слова 2-3 символа.
3. для каждой обработанной записи найти в таблице-2 её старое название и заменить на новое.
Пока что знаю тольк
SELECT * FROM `user` WHERE `username` LIKE '%(%'
А как пройтись циклом по результатам селекта?
Всё сделал, вот только проблема, как занести в БД обаботанные данные из $row
$sql = mysql_query("SELECT * ....
$row = mysql_fetch_array($sql ....
if (mysql_query("UPDATE user SET username='$row[username]'")) - затирает просто все строки user.username в БД, а как зменить только те что ранее выбрал?
Всё сделал, вот только проблема, как занести в БД обаботанные данные из $row
$sql = mysql_query("SELECT * ....
$row = mysql_fetch_array($sql ....
if (mysql_query("UPDATE user SET username='$row[username]'")) - затирает просто все строки user.username в БД, а как зменить только те что ранее выбрал?
WHERE `username` = ....
Ну и обьясняете вы конечно ..
Вообще если вам единоразово надо произвести замену то можно перебрать все поля в таблице:
while($row = mysql_fetch_assoc( $sql )){ // цикл перебора
echo $row['id'] . ' - ' . $row['username'];
if(preg_match('/^(.*)\((.*)\)(.*)$/Uis',$row['username'],$match)){ // если у юзера скобки то
$new_name = substr(($match[1].$match[3]),0,10); // формируем новый ник, без скобок и их содержимого, обрезаем
mysql_query("UPDATE user SET username='{$new_name}' WHERE id='{$row['id']}'"); // обновляем ник
echo ', новый ник:'.$new_name;
}
echo '<br>';
}
Все решил все проблемы, спасиб! Тему можно закрывать.
Другая проблема, не хочу клепать темы, как искать спец символы?
¦ • и просто "
$sql = mysql_query("SELECT * FROM `user` WHERE `username` LIKE '%¦%'
и потом в
$len = str_replace("символ","",$len);
вставить
Другая проблема, не хочу клепать темы, как искать спец символы?
¦ • и просто "
$sql = mysql_query("SELECT * FROM `user` WHERE `username` LIKE '%¦%'
и потом в
$len = str_replace("символ","",$len);
вставить
Спецсимволы.
SEO-MAN, у вас данные в базу без фильтрации проходят? Не проще ли перед занесением данных в бд - фильтровать их по всем нужным параметрам, удалять спец символы?
Опять же я думаю проще будет единоразово перебрать все поля в таблице, попутно проверяя значения на спецсимволы, удалять их или экранировать и сразу заносить новое значение в бд.
Мне нужно 1 раз очистить уже существующую БД от подобного мусора.
к примеру
$sql = mysql_query("SELECT * FROM `user` WHERE `username` LIKE '%•%'");
что то возвращает 0 строк, хотя есть символы такие.
И
$glas1 = array('¥'); тоже не отрабатывает.
Так у Вас в таблице в столбце user.username есть вообще такой набор символов "•" ?