Помогите с базой SQL (неправильно формируются страницы)

Прислано: andreylishishin

чт, 08/12/2011 - 17:28

Помогите, пожалуйста разобраться с проблемой.
Стоит Drupal 5, при попытке создать новую страницу, новый материал становится на место старой страницы. Например, формирую страницу 1000, а она попадает на страницу 20, стерая ее содержимое.
При этом выпадают сообщения с ошибкой:

  • user warning: Duplicate entry '36' for key 1 query: INSERT INTO node_comment_statistics (nid, last_comment_timestamp, last_comment_name, last_comment_uid, comment_count) VALUES (36, 1323364922, NULL, 1, 0) in /home/andrey/domains/САЙТ/public_html/includes/database.mysql.inc on line 174.
  • user warning: Duplicate entry '36' for key 1 query: INSERT INTO xmlsitemap_node (nid, pid, last_changed, priority_override) SELECT 36, ua.pid, 1323364922, NULL FROM node n LEFT JOIN url_alias ua ON ua.src = CONCAT('node/', CAST(36 AS CHAR)) LIMIT 1 in /home/andrey/domains/САЙТu/public_html/includes/database.mysql.inc on line 174.

Буду благодарен за помощь.

Список всех nid

Прислано: unfilet

пн, 05/12/2011 - 13:25

Подскажите, как получить список(масив) всех nid node's?

<?php
$tmp 
db_query('SELECT nid FROM {node} WHERE tnid=0');
$myrow db_result($tmp);
do
{
 
dpm($myrow);        
} while (
$myrow db_result($tmp));
?>

Не пойму почему пишет error: Fatal error: Call to undefined function db_result() in ......

[Решено] запросы sql в drupal

Прислано: WhatTheFuck

ср, 26/10/2011 - 17:47

Другие статьи по теме:

Всем привет.

Помогите с запросами sql в drupal. Пишу в шаблоне

<?php  $result db_query("select filename from system");
print 
$result;  ?>

По идее, должно выводить список всех путей по которым находятся модули и темы drupal. Но на страничке ничего нету. В учебнике написано "select filename from system" выведет пути модулей. Как правильно писать подобные запросы?

Как такое может быть

Прислано: venji

вт, 11/10/2011 - 19:07

На хостинге установил Д7 база все как положено, спустя время обнаружил что база весит ровно "0" - удалил базу (перед этим сбекапил) базы нет а сайт работает, как так?

MSQL пробую.

Прислано: Pash0k

ср, 28/09/2011 - 11:58

Долго боялся, скорее сторонился MSQL. Но начал писать новостную ленту. Новостей становится больше пришлось все таки погрузится "во тьму" и прикрутить MSQL к php и очень приятно. Приятно и то что сам пробовал и писал код, а не использовал чужие блоки. Вот лента, пару дней назад была на php теперь она в базе http://pasha.kiev.ua/news1.php. Теперь думаю как одобно сделать отправку с формы в базу новостей. Да еще и добавить навигацию, по старницам новостей, когда их станет более 1.

Ограничения batch API

Прислано: leovka

пн, 01/08/2011 - 11:30

Добрый день!
Разрабатываю специализированный модуль для каталога автозапчайстей.
Есть специализированная программа (КАИС) - представляет собой каталог автозапчастей с актуальными ценами, заменами и т.д.
Выгрузка из данного каталога представляет собой дамп базы в формате SQL.
Файл весит около 180 Mb и содержит около 2000000 записей. Задумка модуля состоит в том что он построчно читает файл дампа и выполняет продченный запрос. Т.к число записей внушительно, принято решение пакетной обработки (использую batch API). Если в файле содержится менее 5000 строк, обработка проходит "На Ура", а вот как только записей становистя больше (в идеале около 2000000), выдается ошибка "Доступ запрещён. У вас нет доступа к этой странице."
Пробывал увеличивать параметры в php.ini - не помогает

Кусок кода модуля

<?php
function kais_upload_form_submit(&$form, &$form_state) {
    if (
$file file_save_upload('upload'$validatorsfile_directory_path())) {
        
$file->description $file->filename;
        
$file->weight 0;
        
$file->new TRUE;
        
$form_state['values']['files'][$file->fid] = (array)$file;
    }
/* ИМПОРТ SQL ИЗ ФАЙЛА */  
    
$handle fopen($file->filepath"r");
    while (!
feof($handle)) {
        
$buffer fgets($handle8096);
        if(
$buffer!=""){
             
$operations[] = array('kais_add_product', array($buffer));
        }        
    }
    
fclose($handle);
    
$batch = array(
            
'operations' => $operations,
            
'finished' => 'kais_batch_finished',
            
'title' => 'Импорт данных из КАИС',
            
'init_message' => 'Подготовка данных',?>

[РЕШЕНО] Рецепт по созданию Календаря с заданиями. Или Views Calendar что где когда (OR, AND, WHERE)

Прислано: otmoroz

ср, 29/06/2011 - 09:27

Другие статьи по теме:

Привет всем!
Изначально вопрос был такой:
Как сделать в Вьювс фильтрацию, чтобы выводились документы при совпадении одного из условий?

Например Вывести ноду, где указан юзер через юзерреференс или роль через ролереференс. Как сделать ИЛИ? а то у меня в выводе получается И, если добавить в фильтр юзера и роль

Но с его решением я закончил важную часть проекта и решил поделиться решением
----------------------------------------------
Задача: Сделать задания с периодом действия, чтобы эти задания отображались в календаре. Задания даются определенным пользователям или группам пользователей. Соответственно видят Задания только те люди, которым они предназначены.

Приступим.

Ставим модули CCK, Rolereference, Views, Calendar.
В поставку cck входит модуль userreference, для выбора пользователя, а rolereference будет служить для выбора группы.

Создаем тип материала "Задание", создаем поля для этого типа: "Дата"(field_date с настройками От и До, то есть дата начала и дата окончания) "Кому задание" (поле Ссылка на пользователя) и "Группа" (ссылка на роли).

Создаем роли, допустим филиалы Москвы, Курска, Воронежа.

Создаем несколько тестовых заданий, чтобы видеть результаты нашей работы.

Теперь идем в "Views", настраиваем календарь. Вот тут я секас делал очень долго.

Значит в Аргументах удаляем все нафик.
В полях добавляем отдельно срок ОТ, срок ДО. В фильтрах тоже.
В фильтре:

Группа по умолчанию
Оператор группы: И
Материал: Опубликовано Да
Содержимое: Срок (field_date) - Дата начала Содержимое: Срок (field_date) - Дата начала >=

[РЕШЕНО] "призрачные" ноды

Прислано: NaZg

чт, 09/06/2011 - 12:13

Камрады, помогите вылечить глюку.

UPD Вроде как заборол! Во вторник откадаю на боевом, но на локальной реплике всё считает.
Рецепт:
Во вьюхе (извините за русский, но не охота переключаться) Жмём "настройки"
609c2f28a6bb8ec4242c0071f450ce6a

Ставим галку "Disable SQL rewriting"
ee9b4ace18a125f76f2c324d570461c9

Результат
f340944cdd5024440911270ef8a37928
Ноды от разных пользователей

помогите пожалуйста составить sql запрос

Прислано: SvetOch

вт, 24/05/2011 - 11:48

Здравствуйте!
Есть две таблицы:
Студенты (с полями id_студента, ФИО, Счет)
Счет (с полями id_студента, id_счета, Дата, Сумма, Состояние)
В поле Студенты.Счет хранится долг данного студента. В таблице Счет лежат записи о платежах. Нужно выбрать студентов у которых сумма всех платежей (у которых Счет.Состояние = Подтверждено) < Студенты.Счет. В общем выбрать должников. Буду рад любым советам, относящимся к просьбе. Заранее очень признателен!

Ошибка при обновлении Drupal 6 до Drupal 7

Прислано: veresk

ср, 06/04/2011 - 17:41

Доброго времени суток!

Встретил распространённую ошибку, при обновлении D6 до D7. А именно:

PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'MYDBNAME.blocked_ips' doesn't exist: SELECT 1 FROM {blocked_ips} WHERE ip = :ip; Array ( [:ip] => 123.123.123.123 ) in drupal_is_denied() (line 1779 of /PATH/PATH/PATH/PATH/html/drupal/includes/bootstrap.inc).

При попытке напрямую вызвать update.php - пустой экран, как положено. Перечитал ветку на англоязычном форуме об этой ошибке, попробовал применить предлагаемые там патчи, не помогло. Ну или я слишком криворукий. Ещё непонятно, отчего вообще эта ошибка появилась, совершенно. Если есть какое решение по-русски написанное, посоветуйте, плиз. Только остаться на шестёрке не предлагайте.

А самое смешное, что я сперва попробовал на том же самом сервере этот же самый сайт обновить (тестировал) и всё обновление прошло гладко-гладко, без сучка.

(РЕШЕНО) Каким запросом удалить поле в бд?

Прислано: mail_ru@drupal.org

вс, 03/04/2011 - 11:38

Приветствую.

Решил добавить в один из типов материала текстовое поле (строку). При запросе длины поля подумал и поставил...: 1000000 (единичка и шесть нулей, да). Поле создалось. С варнингом. При создании не показывалось ессно и вообще друпал ругался.
Ладно, поле удалил стандартным способом (тоже с варнингом).
При попытке создать снова поле с вменяемой длиной, и с тем же именем - низзя, ибо поле существует.
А при запуске крона выдало следующее:

PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'adb.field_data_field_istlinktxt' doesn't exist: SELECT field_data_field_istlinktxt0.entity_type AS entity_type, field_data_field_istlinktxt0.entity_id AS entity_id, field_data_field_istlinktxt0.revision_id AS revision_id, field_data_field_istlinktxt0.bundle AS bundle FROM {field_data_field_istlinktxt} field_data_field_istlinktxt0 WHERE (field_data_field_istlinktxt0.deleted = :db_condition_placeholder_0) AND (field_data_field_istlinktxt0.bundle = :db_condition_placeholder_1) LIMIT 10 OFFSET 0; Array ( [:db_condition_placeholder_0] => 1 [:db_condition_placeholder_1] => article ) в функции field_sql_storage_field_storage_query() (строка 569 в файле /home/user/www/adb/modules/field/modules/field_sql_storage/field_sql_storage.module).

Здесь istlinktxt - машинное имя поля, adb - имя бд mysql.

ВОПРОС: каким прямым sql-запросом к базе (через консоль, Linux) можно удалить записи о поле\вычистить полностью трабл?

Ибо, увы, не совсем разбираюсь в теме - не соображу, как корректно запрос составить.

Помогите сделать выборку статей текущего автора.

Прислано: fastpars

пн, 28/02/2011 - 23:19

Привет. Как при помощи views или другими средствами сделать выборку статей в статье текущего автора?
Что есть?
id тасономии и id потомка ...

Вывод происходит непосредственно в page.tpl.php

Больше всего нужно правильно выбрать данные...

Своя таблица с данными

Прислано: chel

чт, 03/02/2011 - 17:50

По сути нужен совет, как дальше быть.

Хочу уйти от модуля domains. Т.к. количество сайтов будет расти. А общее у сайтов - две связынне таблицы: Организации и люди, но не связанные с другими нодами.

Начал делать их в отдельной таблице. Изучаю Form API. Хотел узнать у сообщества Drupal.ru, стоит ли делать схему drupal-schema для своих данных, чтобы выводить в формы (form api), сохранять , показывать данные. Или лучше обойтись обычными MySQL запросами (drupal-стандарта): Insert, Update, Select ?

[Решено] Непонятный результат при запросе к БД

Прислано: TTINC

сб, 29/01/2011 - 12:48

Добрый день!
Хочу взять из таблицы node содержание title.

Делаю запрос:
<?php $result db_query("SELECT n.title FROM {node} n WHERE n.nid > %d"$relproducts[nid]); ?>

Распечатываю массив:
<?php print_r ($result); ?>

И получаю совсем не то, чего ожидаю:
mysqli_result Object ( [current_field] => 0 [field_count] => 1 [lengths] => [num_rows] => 5 [type] => 0 )

В чём моя ошибка?

Помогите разобраться с перемещением значений из mysql базы в обычный список

Прислано: Drezdenozk

чт, 13/01/2011 - 19:45

Отрывок из кода модуля.. не могу понять почему запрос из бд ($dbned) не помещается в форму селект. Тупизм конечно, но видимо я не понял механизма. Помогите пожалуйста(

function nh_form() {

$form = array();

$dbned = db_query("SELECT n.title FROM {node} n WHERE 1");

$form['listot'] = array(
'#type' => 'select',
'#title' => t('Список доступных названий'),
'#size' => 19,
'#options' => $dbned,
'#description' => t('Здесь вы можете удалить ставший'),
);

заранее спасибо)

RSS-материал

Новое на сайте