Блог

Фрілансера

RSS
rss
Закладки

Кві

30

select in, order by

категорія: mysql

Задача: Вибрати з БД всіх юзерів по заданому списку, і відсортувати по тому ж списку.

Є тестова табличка:

Id Name Data
1 Anton aaaaa
2 Vovay bbbbb
3 Serg ccccc
4 Iren ddddd

Список кого потрібно вибрати: Iren,Vovay,Serg

Вибираємо дані:

SELECT * FROM users WHERE Id IN (Iren,Vovay,Serg)

Як посортувати?

Юзаєм функцію: FIND_IN_SET

Результат:

SELECT * FROM users WHERE Id IN (Iren,Vovay,Serg) ORDER BY FIND_IN_SET(Name, "Iren,Vovay,Serg")

Ось таке сортування в конструкції IN мускула.

P.S.: Пост написаний через те, що уже двічі шукав цю інфу у гуглі.

Січ

15

Оптимізація php-коду ч.1

категорія: php

Останнім часом приходиться часто задумуватись над швидкістю роботи скрипта. Особливо коли кодинг іде під великий проект.
Тому ділюсь деякими моментами оптимізації.

Вибірка з бази даних.

Як вибрати дані з бази даних?
Звичайний спосіб:


$sql = 'SELECT * FROM `users`';
$result = mysql_query($sql);
if (!$result) {
    echo mysql_error();
    exit;
}
if (mysql_num_rows($result) == 0) {
    echo "No rows found";
    exit;
}

А я пропоную дещо краще:


function fetchRow($sQuery) {
  $res = mysql_query($sQuery);
  $aRet = mysql_num_rows($res) ? mysql_fetch_assoc($res) : false;
  mysql_free_result($res);

  return $aRet;
}

$aData = fetchRow('SELECT * FROM `users`');

В результаті маємо масив даних, або false, якщо даних немає.
Це якщо збираємось вибирати тільки один рядок.

А якщо буде більше одного рядка – то:


function fetchRows($sQuery) {
  $res = mysql_query($sQuery);
  $iNumRows = mysql_num_rows($res);
  $aRet = array();
  if ($iNumRows) {
    while ($iNumRows-- > 0) {
      $aRet[] = mysql_fetch_assoc($res);
    }
  } else {
    $aRet = false;
  }
  mysql_free_result($res);

  return $aRet;
}

$aData = fetchRows('SELECT * FROM `users`');

В результаті маємо масив рядків або false.

Тра

22

Імпорт з 1С в базу даних mySQL

категорія: php

Сам скрипт синхронізації 1С з mySQL вже давно написаний і постійно вдосконалюється, я лише хочу детальніше розповісти про нього.

import

import

Отже, уявіть ситуацію: У Вас є інтернет-магазин та потрібно час-від-часу перенести дані про товар з 1С в сам інтернет-магазин, тобто базу даних.

Робимо це через excel-файл, а точніше csv-файл.

Читати далі »

Блог фрілансера
Sergunik
2009-2010