Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Несколько вопросов о том, как сделать базу данных из набора файлов :)  (Прочитано 8358 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Люсь
Команда клуба

ru
Offline Offline
Пол: Женский

« : 25-01-2005 06:20 » 

Что за зверь - базы данных?
  • если я хочу создать базу, то как мне сделать, чтобы информацию не приходилось вносить 2 раза на разных серверах? то есть один раз в интернет, а второй - в локалку? Разве нельзя переносить готовые таблицы с данными?
    MOPO3 Можно. У тебя есть такая вещь как phpMyAdmin? Там есть такая фишка как экспорт таблиц. Экспортируеш в файл или просто делаеш копи - пэйст в другую базу. смотри : на локалке в пхпмайадмине делаеш экспорт базы, копируеш то что получила в файл пхп и потом этот файл на сервере запускаеш и всё Улыбаюсь
  • Я обнаружила, что у меня в интернете и в локалке не совпадают айдишки. это проблема?
    если айди автоинкремент, то это проблема, потому что продублировать не удастся
    можно эту проблему решить, если грохнуть эти таблицы, и создать их заново?
    это выход Улыбаюсь
  • как тестировать данные в интернете, и только потом заполнить базу, чтобы и в интере и в локалке были идентичные номера?
    выход - создать лишнюю таблицу для тестирования?
    лишняя таблица для эксперементов не помешает

Как обойтись без базы данных, если есть готовые файлы с данными?
  • есть ли в пхп средства - "читать следующий файл в каталоге"? он как-нибудь может определить, какой файл является следующим?
    да, читаеш директорию и скрипт выдаст тебе список файлов в каталоге
  • а внутрь файла залезть можно чтобы прочитать например 2 строки, и сделать их ссылками, а потом, щёлкая по этим ссылкам - открываются эти файлы и читаешь их себе?
    да, любой файл можно прочитать построчно
  • тогда получается, если файлов немного - то не обязательно использовать базу?
    не обязательно Улыбаюсь. Правильно сформировать список в одном файле и тогда база не нужна.
    Но это если только файл не очень большой.

Записан

Посторонним просьба не беспокоить!
-------------------------------------------------
O (I) Rh +
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #1 : 25-01-2005 06:32 » 

  • если я хочу создать базу, то как мне сделать, чтобы информацию не приходилось вносить 2 раза на разных серверах? то есть один раз в интернет, а второй - в локалку? Разве нельзя переносить готовые таблицы с данными?
    MOPO3 Можно. У тебя есть такая вещь как phpMyAdmin? Там есть такая фишка как экспорт таблиц. Экспортируеш в файл или просто делаеш копи - пэйст в другую базу. смотри : на локалке в пхпмайадмине делаеш экспорт базы, копируеш то что получила в файл пхп и потом этот файл на сервере запускаеш и всё Улыбаюсь
Добавлю ещё вот что :
На локалке, при экспорте из phpMyAdmin'а обязательно поставь галочки на пункте "Add DROP TABLE IF EXIST". Это избавит тебя от некоторой возможной путаницы, потому что во время выполнения скрипта будет проверяться сначала есть ли такая таблица, и если есть, то уничтожить её и создать заново, что гарантирует тебе точную копию базы с твоей локалки.
Ещё при экспорте не забуть поставить галочки на пунктах "Export Data" и "Add full INSERTS". Хотя phpMyAdmin имеет и русский интерфейс, и я думаю ты не запаришся.

ЗЫ. Вся эта операция с экспортом данных называется : дамп базы данных (это так, к слову Улыбаюсь вдруг где услышишь такое словосочетание, будеш знать о чём речь идёт Улыбаюсь )
« Последнее редактирование: 19-12-2007 19:57 от Алексей1153++ » Записан

MCP, MCAD, MCTS:Win, MCTS:Web
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #2 : 25-01-2005 06:59 » 

  • есть ли в пхп средства - "читать следующий файл в каталоге"? он как-нибудь может определить, какой файл является следующим?
    да, читаеш директорию и скрипт выдаст тебе список файлов в каталоге
Вот тебе пример скрипта :
Код:
<?php
// пишем функцию для листинга файлов в указаном каталоге
function list_directory($dir
{
    
$file_list = &#39;&#39;;
    
$stack[] = $dir;
    while (
$stack) {
        
$current_dir array_pop($stack);
        if (
$dh opendir($current_dir)) {
            while ((
$file readdir($dh)) !== false) {
                if (
$file !== &#39;.&#39; AND $file !== &#39;..&#39;) {
                    
$current_file "{$current_dir}/{$file}";
                    if (
is_file($current_file)) {
                        
$file_list[] = "{$file}";
                    } elseif (
is_dir($current_file)) {
                        
$stack[] = $current_file;
                    }
                }
            }
        }
    }
    return 
$file_list;
}
//вызываем функцию и в качестве параметра передаём ей полный путь к каталогу
/* если под виндовсом, то путь выглядит так : $dirname = "C:\\MyCatalog\\website"; // двойные слэши обязательны
 * если под линуксом, то путь выглядит так : $dirname = "/usr/home/vwww/mywebsite";
*/
$files list_directory($dirname); // получаем массив $files со списком всех файлов в данном каталоге
?>

    • а внутрь файла залезть можно чтобы прочитать например 2 строки, и сделать их ссылками, а потом, щёлкая по этим ссылкам - открываются эти файлы и читаешь их себе?
      да, любой файл можно прочитать построчно
    Вот пример кода :
    допустим что файл у нас имеет вид
    Код:
    фамилия;имя;отчество;телефон
    фамилия;имя;отчество;телефон
    фамилия;имя;отчество;телефон
    тогда скрипт по его обработке выглядит так
    Код:
    <?php
    // Получаем весь файл в массив. Каждая строка - элемент массива
    // подать в функцию путь к файлу также как и в скрипте с директориями. Для винвовса и для линукса по разному
    $stroki file("C:\\sample.txt");
    // далее проходим весь массив и обрабатываем каждую строку
    foreach ($stroki as $nomer_stroki => $stroka
    {
         
    //сдесь нам надо обработать каждую строку. Выбрать данные, которые разделены точкой с запятой
         
    $massiv_elementov explode(";"$stroka); //создаём массив данных из строки разделённой точкой с запятой.
         // далее мы знаем сколько элементов у нас в каждой строке (имя, фамилия, отчество, телефон). Всего 4
         // выводим каждый из нужных элементов (не забываем что массивы индексируются с 0)
         
    print "Меня зовут ".$massiv_elementov[0]." ".$massiv_elementov[1]." ".$massiv_elementov[2].".<br />\n";
         print 
    "Мой телефон : ".$massiv_elementov[3].".\n<hr>";
    }
    ?>

    « Последнее редактирование: 19-12-2007 19:59 от Алексей1153++ » Записан

    MCP, MCAD, MCTS:Win, MCTS:Web
    Люсь
    Команда клуба

    ru
    Offline Offline
    Пол: Женский

    « Ответ #3 : 25-01-2005 08:11 » 

    большое спасибо, попробую!
    Записан

    Посторонним просьба не беспокоить!
    -------------------------------------------------
    O (I) Rh +
    Страниц: [1]   Вверх
      Печать  
     

    Powered by SMF 1.1.21 | SMF © 2015, Simple Machines