Нужно сохранить выборку из MySQL в .тхт

Статус
В этой теме нельзя размещать новые ответы.

ctx79

Создатель
Регистрация
25 Авг 2006
Сообщения
31
Реакции
1
Возникла следующая задача. Есть БД, из нее делается выборка, получается порядка 200к строк. Нужно эти строки, после определенных манипуляций (дописать кое-чего), сохранить в текстовые файлики, по 10к строчек. Подскажите с чего начать и куда копать.

UPD:
Ёперный театр - все оказалось куда проще чем казалось. Спасибо. Тему можно закрыть.
 
Таким темам место в разделе Для просмотра ссылки Войди или Зарегистрируйся

из нее делается выборка
Значит цикл уже есть?
добавь куантер $i++;
И если $i == 10000; произведи запись в файл file_put_contents(), накопленное в переменной значение, обнулив её после.
 
Таким темам место в разделе Для просмотра ссылки Войди или Зарегистрируйся
Извиняюсь, учту.
Значит цикл уже есть?
добавь куантер $i++;
И если $i == 10000; произведи запись в файл file_put_contents(), накопленное в переменной значение, обнулив её после.
Не цикл. Выборка простая - "select column from db".
Если я правильно понял - то эту выборку можно сохранить в текстовый файлик, а потом уже разобрать циклом с каунтером?
 
Не правильно поняли.

Продемонстрирую кодом:
PHP:
<?
$conn = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!$conn) {
    echo "Unable to connect to DB: " . mysql_error();
    exit;
}

if (!mysql_select_db("mydbname")) {
    echo "Unable to select mydbname: " . mysql_error();
    exit;
}

$sql = "SELECT id as userid, fullname, userstatus
        FROM   sometable
        WHERE  userstatus = 1";

$result = mysql_query($sql);

if (!$result) {
    echo "Could not successfully run query ($sql) from DB: " . mysql_error();
    exit;
}

if (mysql_num_rows($result) == 0) {
    echo "No rows found, nothing to print so am exiting";
    exit;
}

// До тех пор, пока в результате содержатся ряды, помещаем их в ассоциативный массив.
// Замечание: если запрос возвращает только один ряд - нет нужды в цикле.
// Замечание: если вы добавите extract($row); в начало цикла, вы сделаете
//            доступными переменные $userid, $fullname и $userstatus
$i = $p = 0; $buffer = '';
while ($row = mysql_fetch_assoc($result)) {
    $i++;
    //Здесь можно обработать данные перед добавлением в строку
    $buffer .= $row["userid"] . $row["fullname"] . $row["userstatus"];
    
    if ($i % 10000 = 0) {
      $p++;
      file_put_contents('file-' . $p . '.txt', $buffer);
      $buffer = '';
    }
}

mysql_free_result($result);

Для просмотра ссылки Войди или Зарегистрируйся - почти весь код отсюда
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху