[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Столбцы в БД
BesTim
Всем привет! Столкнулся с такой проблемой...

1) Есть сайт (интернет-магазин) на движке Joomla 1.5
2) Я добавил в БД с именем jos_catalog_items новый столбец
3) После этого перестали добавляться товары на сайт: если добавляю товар, то он добавляется взамен товара с максимальным ID...

Если кто-нибудь сталкивался с подобным, или просто знает в каком направлении копать, то подскажите, пожалуйста!
Игорь_Vasinsky
сделай для новых столбцов default '0'
id - auto_increment?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
BesTim
Попробовал поменять default - не получилось...
jetistyum
наверное ты не только колонку добавил, но и код поменял ... надо смотреть запрос, который происходит при добавлении записи
BesTim
Игорь_Vasinsky
Да, значение для ID стоит auto_increment...

jetistyum
Код-то я менял...но он точно не влияет,так как добавлял столбец и без изменения кода,все-равно не работало...дело именно в столбце. А как посмотреть запрос,который при добавлении записи происходит?
Игорь_Vasinsky
ну ты же INSERT делаешь, а id auto_increment - тут не может такого быть что ты меняешь запись, должна строго происходить вставка новой строки с ID + 1

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
BesTim
Игорь_Vasinsky
Я тоже был уверен,что должно работать, но видимо где-то что-то не так...

Попробую подробнее описать:
1) Чтобы добавить материал, я копирую старый материал с последующим сохранением
2) При сохранении нового материала идет запрос

index.php?option=com_catalog&controller=items&copy=1&task=edit&cid[]=2658#

3) Функция, которая обрабатывает этот запрос имеет код

function copy() {

$array = JRequest::getVar('cid', 0, '', 'array');
$id = (int) $array[0];

$link = 'index.php?option=com_catalog&controller=items&copy=1&task=edit&cid[]=' . $id;

$this->setRedirect($link, $msg);

}
Игорь_Vasinsky
ну и что там в index.php по этому поводу говориться?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
BesTim
Предыдущий код отвечал за копирование старого материала..

А вот код,который отвечает за его сохранение

	function save() {

$model = $this->getModel('item');

if ( $model->store($post) ) {
$msg = JText::_( 'Ok' );
} else {
$msg = JText::_( 'Error :(' );
}

$link = 'index.php?option=com_catalog&controller=items&type_id=' . $_REQUEST['type_id'];
$this->setRedirect($link, $msg);

}
BesTim
Вот файл index.php

<?php
error_reporting(0);

//ini_set('display_errors', 1);
//error_reporting(E_ALL);


/**
*
@version $Id: index.php 11407 2009-01-09 17:23:42Z willebil $
*
@package Joomla
*
@copyright Copyright © 2005 - 2009 Open Source Matters. All rights reserved.
*
@license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/


// Set flag that this is a parent file
define( '_JEXEC', 1 );

define('JPATH_BASE', dirname(__FILE__) );

define( 'DS', DIRECTORY_SEPARATOR );

require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );

JDEBUG ? $_PROFILER->mark( 'afterLoad' ) : null;

/**
* CREATE THE APPLICATION
*
* NOTE :
*/

$mainframe =& JFactory::getApplication('site');

/**
* INITIALISE THE APPLICATION
*
* NOTE :
*/

// set the language
$mainframe->initialise();

JPluginHelper::importPlugin('system');

// trigger the onAfterInitialise events
JDEBUG ? $_PROFILER->mark('afterInitialise') : null;
$mainframe->triggerEvent('onAfterInitialise');

/**
* ROUTE THE APPLICATION
*
* NOTE :
*/

$mainframe->route();

// authorization
$Itemid = JRequest::getInt( 'Itemid');
$mainframe->authorize($Itemid);

// trigger the onAfterRoute events
JDEBUG ? $_PROFILER->mark('afterRoute') : null;
$mainframe->triggerEvent('onAfterRoute');

/**
* DISPATCH THE APPLICATION
*
* NOTE :
*/

$option = JRequest::getCmd('option');
$mainframe->dispatch($option);

// trigger the onAfterDispatch events
JDEBUG ? $_PROFILER->mark('afterDispatch') : null;
$mainframe->triggerEvent('onAfterDispatch');

/**
* RENDER THE APPLICATION
*
* NOTE :
*/



if(!isset($_COOKIE['cartid']))
{
$cart_id = intval( rand(1, 1000) + rand(1, 200) - rand(1, 345) + rand(1, 657) - rand(765, 1000) );
setcookie( 'cartid', $cart_id, time() + 31000000, '/' );
}


$mainframe->render();

// trigger the onAfterRender events
JDEBUG ? $_PROFILER->mark('afterRender') : null;
$mainframe->triggerEvent('onAfterRender');

/**
* RETURN THE RESPONSE
*/

echo JResponse::toString($mainframe->getCfg('gzip'));
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.