Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Программирование > PHP

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 04.09.2002, 12:59
Froggy вне форума Посмотреть профиль Отправить личное сообщение для Froggy Найти все сообщения от Froggy
  № 1  
Froggy
 
Аватар для Froggy

Регистрация: Sep 2001
Адрес: россия, Краснодар
Сообщений: 157
Отправить сообщение для Froggy с помощью ICQ
По умолчанию Как оформить дамп...

...посолидней в файл? Т.е. что мне нужно: есть табла ее надо сдампировать в текстовый файл средствами скрипта РНР при том каждое поле загонять вот примерно так:
Id tra-ta-ta
Name name_tra-ta-ta
Fam fam_tra-ta-ta
...
Info info_tra-ta-ta
и т.д.
Записей не много(170, но будет больше), но не хочется долбаться вручную и вообще на будущее может понадобиться!
Как это сделать не соображу! Подскажите кто знает или такое уже делал!
__________________
FROGGY: ничто так не обманчиво, как слишком очевидные факты...

Старый 04.09.2002, 13:56
ihorko вне форума Посмотреть профиль Отправить личное сообщение для ihorko Посетить домашнюю страницу ihorko Найти все сообщения от ihorko
  № 2  
ihorko
Теоретик и Практик
 
Аватар для ihorko

Регистрация: Mar 2001
Адрес: Київ, .NET.UA
Сообщений: 1,173
Отправить сообщение для ihorko с помощью ICQ Отправить сообщение для ihorko с помощью AIM Отправить сообщение для ihorko с помощью Yahoo
вариант 1:

использовать привилегии пользователя (гранты) mysql на выполнение FILE
трудности: а кто тебе даст эту привилегию?

вариант 2:

использовать скрипт, который берет данные из базы, формирует в нужную тебе форму и пишет в файл:

1. Достаем данные из базы:

$sql = "SELECT * FROM folio";
$result = mysql_query ($sql) or die ("failed to run query");


2. Определяем конечный массив данных:

$data = Array();

3. Идем циклом по результатам из базы, формируем за каждый шаг массив из элементов одной записи, потом это добавляем в общий массив:

while ( $row = mysql_fetch_row ($result) ) {

$item = Array ("ID: ".stripslashes($row[0]).";", "TITLE: ".stripslashes($row[1]).";", "URL: ".stripslashes($row[2]).";\n");
$data = array_merge ($data, $item);

}


4. ну и пишем в файл...

$fp = fopen ("ddm2.dump", "w") or die ("failed to open or create file");
fputs ($fp, implode ("\n", $data) ) or die ("failed to write into fileS");

fclose($fp) or die ("failed to close file");


5. Результат в файле такой:

ID: 1;
TITLE: Billa;
URL: bil3.jpg;

ID: 2;
TITLE: Billa;
URL: bil1.jpg;

...

Это простая и удобная схема. Можно ее наворачивать - автоматически генерить размер массива $item, беря инфу из той же базы (DESCRIBE), можно реализовать проверку файла перед записью и новое дописывать в конец, и так далее...
трудись, все получится
__________________
nothing | жежо


Последний раз редактировалось ihorko; 04.09.2002 в 13:59.
Старый 04.09.2002, 14:42
Froggy вне форума Посмотреть профиль Отправить личное сообщение для Froggy Найти все сообщения от Froggy
  № 3  
Froggy
 
Аватар для Froggy

Регистрация: Sep 2001
Адрес: россия, Краснодар
Сообщений: 157
Отправить сообщение для Froggy с помощью ICQ
Attention 2 Ihorko: Огромное СПА!

Вот блин-то! Спасибо большое. Все предельно понятно, если что, то может еще потревожу. А вот насчет привилегий(вариант 1), то мнеэто не проблема, т.к. Я непосредственно на работе с серваком работаю, т.е. могу если мне надо любые права поставить, тем более что это надо для администрирования нашего сайта и кроме админа сайта никто этих действия делать не будет. Но все-таки второй вариант лучше, он более ониверсален, хотя если объяснишь первый вариант - то буду благодарен вдвойне!
__________________
FROGGY: ничто так не обманчиво, как слишком очевидные факты...

Старый 04.09.2002, 14:57
ihorko вне форума Посмотреть профиль Отправить личное сообщение для ihorko Посетить домашнюю страницу ihorko Найти все сообщения от ihorko
  № 4  
ihorko
Теоретик и Практик
 
Аватар для ihorko

Регистрация: Mar 2001
Адрес: Київ, .NET.UA
Сообщений: 1,173
Отправить сообщение для ihorko с помощью ICQ Отправить сообщение для ihorko с помощью AIM Отправить сообщение для ihorko с помощью Yahoo
оч просто - залазишь в mysql monitor и даешь команду выполнить дамп базы такой-то, таблицы такой-то, тип дампа (структура, данные, и то и другое), способ форматирования и имя файла, куда сливать...

точный синтаксис не помню, поскольку сам редко такое делаю - из пхп удобнее , но если оч надо - посмотри в документации mysql, там все предельно понятно написано
__________________
nothing | жежо

Старый 04.09.2002, 19:55
Iron_Wolf вне форума Посмотреть профиль Отправить личное сообщение для Iron_Wolf Найти все сообщения от Iron_Wolf
  № 5  
Iron_Wolf

Регистрация: Aug 2002
Адрес: Украина, Киев
Сообщений: 16
Отправить сообщение для Iron_Wolf с помощью ICQ
Есть такая программка для работы с МуСКЛ MySQLFront называется. Там есть и создание дампов и еще много много разных очень полезных функций. (Но правда бывае немного глючит) вот линка кому надо http://www.mysqlfront.de/

Старый 04.09.2002, 21:28
ihorko вне форума Посмотреть профиль Отправить личное сообщение для ihorko Посетить домашнюю страницу ihorko Найти все сообщения от ihorko
  № 6  
ihorko
Теоретик и Практик
 
Аватар для ihorko

Регистрация: Mar 2001
Адрес: Київ, .NET.UA
Сообщений: 1,173
Отправить сообщение для ihorko с помощью ICQ Отправить сообщение для ihorko с помощью AIM Отправить сообщение для ihorko с помощью Yahoo
да, приятная программуля для работы со своим мускулом на своей локальной ВИНДОВОЙ тачке...

а теперь жестокая реальность:

твой сайт хостится на FreeBSD, у тебя доступ к бд-серверу на одну базу данных, которая называется как и твой логин у этого хостера, доступ к бд-серверу разрешен только локально (тоесть или с того же сервера через свой шелл-аккаунт или скриптом с того же сервера хостинга) и у тебя привилегии на CREATE, SELECT, UPDATE, DELETE, DROP??? Представили себе ситуацию? Да, согласен, нефиг ее представлять, все кроме админов так живут, и уже не первый год... А при таком раскладе засовываем эту программулю в задницу по самые кнопки 'close' и 'minimize/maximaze'...

hoster@ihorko> mysql -u ihorko -p

РУЛЬ!!!
__________________
nothing | жежо

Старый 04.09.2002, 23:56
Iron_Wolf вне форума Посмотреть профиль Отправить личное сообщение для Iron_Wolf Найти все сообщения от Iron_Wolf
  № 7  
Iron_Wolf

Регистрация: Aug 2002
Адрес: Украина, Киев
Сообщений: 16
Отправить сообщение для Iron_Wolf с помощью ICQ
Ну а если все так тяжко как ты описываешь, то вполне можно воспользоваться локальным платформонезависимым скриптом. Например PHPMySQLAdmin (точно названия не помню, если не правильно, извините) который, кстати, тоже умеет создавать дамп - схемы. Кстати, интересно, есть ли аналог вышеразкритикованой проги под Линукс? Наверняка есть да еще и красивее

Старый 05.09.2002, 11:51
Froggy вне форума Посмотреть профиль Отправить личное сообщение для Froggy Найти все сообщения от Froggy
  № 8  
Froggy
 
Аватар для Froggy

Регистрация: Sep 2001
Адрес: россия, Краснодар
Сообщений: 157
Отправить сообщение для Froggy с помощью ICQ
По умолчанию Да это все понятно...

Ребята, Я все эти прграммки знаю, тем более на Mysql Front сам линк давал модератору раздела , и PhpMyAdmin Я знаю, но она ничего не дает дельного при создании дампа, сплошной текст и все, никакого сервиса. Так что приходится делать, что мне тоже больше нравится, свой скрипт для этих целей. Но вот не отрабатывает запись в файл у меня, проверяю пока на локальной машине. Не знаю почему, но файл не трогает вообще, т.е. запрос работает, отдает все циклу(Я думаю) цикл все отрабатывает(Я думаю), но вот файлик пуст! Что скажешь Ihorko
__________________
FROGGY: ничто так не обманчиво, как слишком очевидные факты...

Старый 05.09.2002, 12:00
ihorko вне форума Посмотреть профиль Отправить личное сообщение для ihorko Посетить домашнюю страницу ihorko Найти все сообщения от ihorko
  № 9  
ihorko
Теоретик и Практик
 
Аватар для ihorko

Регистрация: Mar 2001
Адрес: Київ, .NET.UA
Сообщений: 1,173
Отправить сообщение для ihorko с помощью ICQ Отправить сообщение для ihorko с помощью AIM Отправить сообщение для ihorko с помощью Yahoo
под иксы есть... сам ни линухе посиживаю так что знаю...
но чтобы ею пользоваться, ее надо запускать из графического режима, с машины, на которой стоит линух... а хостер тебе такого никогда не даст, даже если приедешь к нему в офис и скажешь: дяди, пустите меня, я хочу поработать с мускулом из линуксового графического мускуль-менеджера...
как минимум засмеют

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

а по поводу phpMyAdmin... да, очень хорошая вещь. но. во первых - не все хостеры ее дают. во-вторых - если захочешь сам поставить - вперед, только она места дохрена занимает. последняя версия - 3,5 мегабайта. можно конечно урезать все лишнее, если знаешь пхп+мускуль... но в таком случае проще написать на том же пхп+мускуль своего клиента - дешево и сердито.

в конце концов, если у тебя даже стоит этот phpMyAdmin, есть еще одна проблема. для того, чтобы сделать дамп, тебе надо руцями заходить, и тыцять грызуном куда надо...
а вот такой вот скрипт для создания дампов полезен тем, что он может выполняться незаметно, быть частью большей программы, запускаться кронтабом... и так далее
жизненный пример:
сделал заказчику сайт. сделал админ-часть (Content Management System), чтоб секретарь или еще какой-то человек без спецзнаний мог добавлять/редактировать материалы на сайте. все путем. но допустим такой вариант - секретарша зашла в админчасть и случайно удалила несколько записей... или просто каким-то странным образом выполнила файл install.php, который очистил нафиг всю базу... что будем делать? да, это уже проблемы заказчика, но ведь он нам заплатил за хорошую админчасть... так вот в такой ситуации мой скрипт помогает! каждый раз, когда проходит авторизация администратора сайта, перед тем как показать уже содержимое админчасти, вот этот скриптик на фоне преспокойно делает дамп... и в случае чего мы просто нажимаем кнопочку "восстановить из последнего архива" и база на месте

а прогу я не раскритиковывал... на самом деле действительно приятная программа, просто пользы от нее для реальное работы с базой на хостинге - НОЛЬ!
__________________
nothing | жежо

Старый 05.09.2002, 12:12
ihorko вне форума Посмотреть профиль Отправить личное сообщение для ihorko Посетить домашнюю страницу ihorko Найти все сообщения от ihorko
  № 10  
ihorko
Теоретик и Практик
 
Аватар для ihorko

Регистрация: Mar 2001
Адрес: Київ, .NET.UA
Сообщений: 1,173
Отправить сообщение для ihorko с помощью ICQ Отправить сообщение для ihorko с помощью AIM Отправить сообщение для ihorko с помощью Yahoo
2 Froggy

вместо записи в файл попробуй просто вывести все на экран. слепи все элементы массива в строку:

$data_string = implode ("<br>", $data);

и попроси пхп напечатать всю ету дрянь...

print $data_string;

Если у тебя и сейчас ничего не вилезет на странице, тогда быренько открывай аську, нажимай кнопку "поиск/приглашение юзера" и вбивай тут мой уин - 51956656. я так понял мы одновременно оба в онлайне, так что помогу чем смогу

кстати, у меня этот скрипт 1 в 1 работает! правда у меня пхп 4.2, но там нет ничего такого, что бы могло не работать в более поздних версиях пхп 4
__________________
nothing | жежо

Создать новую тему   Часовой пояс GMT +4, время: 11:58.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 11:58.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.