#php #mysql
#php #mysql
Вопрос:
Здравствуйте, у меня есть функция, которая создает столбец кодов в XLS-файл из таблицы mysql, у меня есть это:
function XLSCreate($prodcode, $quantity, $creator, $requestID){
$folderloc = "requestFiles/" . $requestID . "/";
$filename = $creator . "Keys_1";
$finalloc = $folderloc . $filename . "xls";
$workbook = new Spreadsheet_Excel_Writer('$finalloc');
$worksheet =amp; $workbook->addWorksheet('$filename');
$worksheet->SetColumn(0, 0, 30);
$query = "SELECT key FROM keysdb WHERE productcode='{$prodcode}' AND used='0' ORDER BY dateLoaded ASC LIMIT {$quantity}";
$result = mysql_query($query) or die(mysql_error());
$j = 1;
while($result_array = mysql_fetch_array($result))
{
$worksheet->write($j, 0, $result_array[$i]);
$j ;
}
$workbook->close();
Я хотел бы УСТАНОВИТЬ значение used равным «1» при выполнении запроса. Как мне выполнить НАБОР и ВЫБРАТЬ одновременно? ТАКИМ образом, НЕИСПОЛЬЗУЕМЫЕ коды извлекаются из базы данных, но затем, после того, как они выводятся (select) в электронную таблицу Excel, они помечаются как использованные.
Кроме того, я еще не тестировал всю функцию целиком, дайте мне знать, если что-то покажется неправильным.
(Используя Pear’s Spreadsheet_Excel_Writer, исходный код из:http://www.technoreaders.com/2008/10/28/spreadsheet-excel-writer / Иметь только один столбец данных, без заголовка)
Ответ №1:
Вы бы настроили их обработку в конце скрипта, когда книга была закрыта в 1 запросе. Используйте транзакции для безопасности.
Ответ №2:
Вы должны выполнить отдельный запрос, чтобы установить для используемого столбца значение 1. Вы не можете сделать это в одном запросе.
Комментарии:
1. Как бы я это сделал? Из цикла while? Я просто беспокоюсь, что если во время выбора этих ключей произойдет изменение базы данных (будут добавлены новые ключи), то не будет возможности обновить те же ключи, которые были извлечены.
2. Ключи не являются ПОЛНОСТЬЮ уникальными. Они уникальны на основе пары создатель-ключ.