![]() |
|
||||||||||
|
|||||
|
...посолидней в файл? Т.е. что мне нужно: есть табла ее надо сдампировать в текстовый файл средствами скрипта РНР при том каждое поле загонять вот примерно так:
Id tra-ta-ta Name name_tra-ta-ta Fam fam_tra-ta-ta ... Info info_tra-ta-ta и т.д. Записей не много(170, но будет больше), но не хочется долбаться вручную и вообще на будущее может понадобиться! Как это сделать не соображу! Подскажите кто знает или такое уже делал!
__________________
FROGGY: ничто так не обманчиво, как слишком очевидные факты... |
|
|||||
|
Теоретик и Практик
|
вариант 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), можно реализовать проверку файла перед записью и новое дописывать в конец, и так далее... трудись, все получится ![]() Последний раз редактировалось ihorko; 04.09.2002 в 13:59. |
|
|||||
|
Вот блин-то! Спасибо большое. Все предельно понятно, если что, то может еще потревожу. А вот насчет привилегий(вариант 1), то мнеэто не проблема, т.к. Я непосредственно на работе с серваком работаю, т.е. могу если мне надо любые права поставить, тем более что это надо для администрирования нашего сайта и кроме админа сайта никто этих действия делать не будет. Но все-таки второй вариант лучше, он более ониверсален, хотя если объяснишь первый вариант - то буду благодарен вдвойне!
__________________
FROGGY: ничто так не обманчиво, как слишком очевидные факты... |
|
|||||
|
Теоретик и Практик
|
оч просто - залазишь в mysql monitor и даешь команду выполнить дамп базы такой-то, таблицы такой-то, тип дампа (структура, данные, и то и другое), способ форматирования и имя файла, куда сливать...
точный синтаксис не помню, поскольку сам редко такое делаю - из пхп удобнее , но если оч надо - посмотри в документации mysql, там все предельно понятно написано |
|
|||||
|
Есть такая программка для работы с МуСКЛ MySQLFront называется. Там есть и создание дампов и еще много много разных очень полезных функций. (Но правда бывае немного глючит) вот линка кому надо http://www.mysqlfront.de/
|
|
|||||
|
Теоретик и Практик
|
да, приятная программуля для работы со своим мускулом на своей локальной ВИНДОВОЙ тачке...
а теперь жестокая реальность: твой сайт хостится на FreeBSD, у тебя доступ к бд-серверу на одну базу данных, которая называется как и твой логин у этого хостера, доступ к бд-серверу разрешен только локально (тоесть или с того же сервера через свой шелл-аккаунт или скриптом с того же сервера хостинга) и у тебя привилегии на CREATE, SELECT, UPDATE, DELETE, DROP??? Представили себе ситуацию? Да, согласен, нефиг ее представлять, все кроме админов так живут, и уже не первый год... А при таком раскладе засовываем эту программулю в задницу по самые кнопки 'close' и 'minimize/maximaze'... hoster@ihorko> mysql -u ihorko -p РУЛЬ!!! |
|
|||||
|
Ну а если все так тяжко как ты описываешь, то вполне можно воспользоваться локальным платформонезависимым скриптом. Например PHPMySQLAdmin (точно названия не помню, если не правильно, извините) который, кстати, тоже умеет создавать дамп - схемы. Кстати, интересно, есть ли аналог вышеразкритикованой проги под Линукс? Наверняка есть да еще и красивее
![]() |
|
|||||
|
Ребята, Я все эти прграммки знаю, тем более на Mysql Front сам линк давал модератору раздела
, и PhpMyAdmin Я знаю, но она ничего не дает дельного при создании дампа, сплошной текст и все, никакого сервиса. Так что приходится делать, что мне тоже больше нравится, свой скрипт для этих целей. Но вот не отрабатывает запись в файл у меня, проверяю пока на локальной машине. Не знаю почему, но файл не трогает вообще, т.е. запрос работает, отдает все циклу(Я думаю) цикл все отрабатывает(Я думаю), но вот файлик пуст! Что скажешь Ihorko
__________________
FROGGY: ничто так не обманчиво, как слишком очевидные факты... |
|
|||||
|
Теоретик и Практик
|
под иксы есть... сам ни линухе посиживаю
так что знаю...но чтобы ею пользоваться, ее надо запускать из графического режима, с машины, на которой стоит линух... а хостер тебе такого никогда не даст, даже если приедешь к нему в офис и скажешь: дяди, пустите меня, я хочу поработать с мускулом из линуксового графического мускуль-менеджера... как минимум засмеют ![]() все хостеры дают (если вообще дают) доступ к серверу по протоколу SSH - а это терминальный протокол... и пользоваться прогами, которые требуют графического режима ты не сможешь... если ты еще не понял, то привожу пример: у тебя есть фотошоп. даже заинсталеный. но на компе у тебя слетела винда и остался дос. если ты запустишь фотошоп из этого доса, что он тебе скажет? правильно, пошлет куда подальше ![]() а по поводу phpMyAdmin... да, очень хорошая вещь. но. во первых - не все хостеры ее дают. во-вторых - если захочешь сам поставить - вперед, только она места дохрена занимает. последняя версия - 3,5 мегабайта. можно конечно урезать все лишнее, если знаешь пхп+мускуль... но в таком случае проще написать на том же пхп+мускуль своего клиента - дешево и сердито. в конце концов, если у тебя даже стоит этот phpMyAdmin, есть еще одна проблема. для того, чтобы сделать дамп, тебе надо руцями заходить, и тыцять грызуном куда надо... а вот такой вот скрипт для создания дампов полезен тем, что он может выполняться незаметно, быть частью большей программы, запускаться кронтабом... и так далее ![]() жизненный пример: сделал заказчику сайт. сделал админ-часть (Content Management System), чтоб секретарь или еще какой-то человек без спецзнаний мог добавлять/редактировать материалы на сайте. все путем. но допустим такой вариант - секретарша зашла в админчасть и случайно удалила несколько записей... или просто каким-то странным образом выполнила файл install.php, который очистил нафиг всю базу... что будем делать? да, это уже проблемы заказчика, но ведь он нам заплатил за хорошую админчасть... так вот в такой ситуации мой скрипт помогает! каждый раз, когда проходит авторизация администратора сайта, перед тем как показать уже содержимое админчасти, вот этот скриптик на фоне преспокойно делает дамп... и в случае чего мы просто нажимаем кнопочку "восстановить из последнего архива" и база на месте ![]() а прогу я не раскритиковывал... на самом деле действительно приятная программа, просто пользы от нее для реальное работы с базой на хостинге - НОЛЬ! ![]() |
|
|||||
|
Теоретик и Практик
|
2 Froggy
вместо записи в файл попробуй просто вывести все на экран. слепи все элементы массива в строку: $data_string = implode ("<br>", $data); и попроси пхп напечатать всю ету дрянь... print $data_string; Если у тебя и сейчас ничего не вилезет на странице, тогда быренько открывай аську, нажимай кнопку "поиск/приглашение юзера" и вбивай тут мой уин - 51956656. я так понял мы одновременно оба в онлайне, так что помогу чем смогу ![]() кстати, у меня этот скрипт 1 в 1 работает! правда у меня пхп 4.2, но там нет ничего такого, что бы могло не работать в более поздних версиях пхп 4 |
![]() |
Часовой пояс GMT +4, время: 11:58. |
|
|
« Предыдущая тема | Следующая тема » |
|
|