HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 05.01.2010, 16:51
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

Полно вариантов, особено в никсах, но мне по душе скриптом такие вещи делать - без предварительного дампа, без зависимости от системы и бла-бла-бла

PHP код:
<pre>
<?php
$dbname 
'instant'# Имя БД
$prefix 'vobla_'# Желаемый префикс 
$link mysql_connect("localhost""root""root"); # Хост, юзер, пароль
$query "SHOW TABLES FROM " $dbname;
mysql_select_db($dbname);
$result mysql_query($query,$link);
while (
$table mysql_fetch_array($result)) {
   
$new mysql_query ("ALTER TABLE `" $table[0]. "` RENAME `" $prefix $table['0'] . "`"$link);
   print 
$table[0] . " ---> " .  $prefix $table['0'] . "\n";
}
mysql_close($link); 
print 
"Замена произведена \n";
?>
</pre>
Скуль запросом чтобы такое сделать (одним) - хз

Последний раз редактировалось Pashkela; 05.01.2010 в 19:07..
 
Ответить с цитированием

  #2  
Старый 05.01.2010, 19:28
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

Или еще один способ, чисто через phpmyadmin, аналогов не видел:

1. phpmyadmin->выбираем БД->SQL
2. Выполняем такой запрос:

SELECT CONCAT(CONCAT('ALTER TABLE ', table_name),CONCAT(' RENAME ', CONCAT('pref_', table_name, ';'))) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='instant' LIMIT 0 , 100;

где "pref_" - нужный префикс, в LIMIT указываем кол-во таблиц для изменения, "instant" - имя БД, в которой мы хотим добавить префикс к таблицам. В результате получим текст sql-запроса, который останется только скопировать и выполнить:



т.е. полученный текст копируем, опять лезем в SQL, вставляем, выполняем, всё.

PS: Можно вывести в файл и потом копировать оттуда

Последний раз редактировалось Pashkela; 05.01.2010 в 19:33..
 
Ответить с цитированием

  #3  
Старый 05.01.2010, 20:34
REBUUS
Постоянный
Регистрация: 06.04.2009
Сообщений: 383
Провел на форуме:
1288105

Репутация: 328
По умолчанию

какой самый быстрый способ выбора последних n строк с таблице , в том же порядке в котором идут, длю удобства есть id (auto inc)
 
Ответить с цитированием

  #4  
Старый 05.01.2010, 20:48
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

select * from table order by id DESC limit n,m

Последний раз редактировалось Pashkela; 05.01.2010 в 20:51..
 
Ответить с цитированием

  #5  
Старый 05.01.2010, 20:54
REBUUS
Постоянный
Регистрация: 06.04.2009
Сообщений: 383
Провел на форуме:
1288105

Репутация: 328
По умолчанию

Цитата:
Сообщение от Pashkela  
select * from table order by id DESC limit n,m
не так я уже делал, только один витаскивал, n-ий с конца
 
Ответить с цитированием

  #6  
Старый 05.01.2010, 20:58
REBUUS
Постоянный
Регистрация: 06.04.2009
Сообщений: 383
Провел на форуме:
1288105

Репутация: 328
По умолчанию

select * from table order by data limit $количество_записей-N ,$количество_записей

только вот такой вариант заработал как надо, но тут заранее еще надо и количество всех записей узнавать, хоте бы что бы без этого было
 
Ответить с цитированием

  #7  
Старый 06.01.2010, 01:30
VDShark
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме:
804931

Репутация: 526
По умолчанию

Код:
SELECT * FROM
(SELECT *
FROM table
ORDER BY id DESC LIMIT 10) as x
ORDER BY id ASC
 
Ответить с цитированием

  #8  
Старый 06.01.2010, 02:30
REBUUS
Постоянный
Регистрация: 06.04.2009
Сообщений: 383
Провел на форуме:
1288105

Репутация: 328
По умолчанию

Цитата:
Сообщение от VDShark  
Код:
SELECT * FROM
(SELECT *
FROM table
ORDER BY id DESC LIMIT 10) as x
ORDER BY id ASC
да, вот этот вариант мне подходит, спасибо
 
Ответить с цитированием

  #9  
Старый 06.01.2010, 01:53
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Имеем таблицу,в ней допустим:
id name vis num
+--------+---------+---------+---------+
| 1 hello 1 4 |
| 2 blabla 1 2 |
| 3 sexy 0 1 |
| 4 pew 1 9 |
+---------+---------+---------+--------+
PHP код:
$query mysql_query("SELECT * FROM block WHERE vis = 1"); 
Так вот,хотелось бы получить результаты отсортированные по num, тоесть по возрастанию,от 1 к 9.Спасибо.
 
Ответить с цитированием

  #10  
Старый 06.01.2010, 02:08
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
Сообщение от m0Hze  
Имеем таблицу,в ней допустим:
id name vis num
+--------+---------+---------+---------+
| 1 hello 1 4 |
| 2 blabla 1 2 |
| 3 sexy 0 1 |
| 4 pew 1 9 |
+---------+---------+---------+--------+
PHP код:
$query mysql_query("SELECT * FROM block WHERE vis = 1"); 
Так вот,хотелось бы получить результаты отсортированные по num, тоесть по возрастанию,от 1 к 9.Спасибо.
)) DESC,ASC
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сетевой этикет (Перед тем, как задать вопрос хакеру) satana-fu Статьи 7 21.10.2009 07:40
Ответы на часто задаваемые вопросы + линки на статьи по SQL/XSS/PHP-инклуд Jokester Уязвимости 2 28.06.2009 00:19
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ