Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Attributes Sort, Attributes Copier, Webmakers


cjtroiani

Recommended Posts

Hey guys...

 

I'm pulling my hair OUT on this one!!!! I have installed the Attibutes Sort contribution along with Attributes Copier which included the Webmakers Added Functions. Everything seemed to be ok, but now when I add an attribute to a product in the product attributes area in Admin, I get the following error:

 

1136 - Column count doesn't match value count at row 1

insert into products_attributes values ('', '89', '2', '37', '0', '+', '0', '0', '', '', '', '')

[TEP STOP]

 

Now I have no idea what to do because I've looked but can't quite understand what I would need to change in my code... I know people have had this problem before in other posts, and all I could get out of it was 'I already fixed it and you do have to add stuff', but that doesn't really help me does it?

 

So PLEASE PLEASE PLEASE will someone help me? I'll provide any code you need to look at in any of the files!!!!

 

Thanks in advance!

CJ

Link to comment
Share on other sites

  • 2 weeks later...

I have also experienced that error. I've been taking the sorting contribute out and have made some progress. That error I would suspect would be in the posting part of the file where data isn't matching the table columns..

 

I think I will take out the attributes table and replace it with stock and see what happens.

 

Post if anyone has seen a fix.

 

Thanx

 

Brad

Link to comment
Share on other sites

  • 1 month later...

Hello,

:'( Any one have a solution vithout uninstalling ewerything??? :'(

Thank you, Bekor.

Edited by Bekor Anak

== EasyPHP 1.7

== www.easyphp.org

== apache 1.3.27 - php 4.3.3 - mysql 4.0.15 - phpmyadmin 2.5.3

 

 

et

==osCommerce 2.2-MS2

==PHP Version 4.3.8 (Zend : 1.3.0)

==Apache/2.0.50 (Fedora)

 

et

autres MachinTruk... :-)

Link to comment
Share on other sites

I do not have this contribution installed, however it is caused by the inserted values not matching the column count and therefore a resolve would be to add the missing column part to the code where

      case 'add_product_attributes':
       $products_id = tep_db_prepare_input($HTTP_POST_VARS['products_id']);
       $options_id = tep_db_prepare_input($HTTP_POST_VARS['options_id']);
       $values_id = tep_db_prepare_input($HTTP_POST_VARS['values_id']);
       $value_price = tep_db_prepare_input($HTTP_POST_VARS['value_price']);
       $price_prefix = tep_db_prepare_input($HTTP_POST_VARS['price_prefix']);

       tep_db_query("insert into " . TABLE_PRODUCTS_ATTRIBUTES . " values ('', '" . (int)$products_id . "', '" . (int)$options_id . "', '" . (int)$values_id . "', '" . tep_db_input($value_price) . "', '" . tep_db_input($price_prefix) . "')");

this code is from a standard products_attributes.php but gives you an idea.

 

I would need a fully extended exported line from a database in order to see what all the columns are and then the codes from an attributes page

No longer giving free advice. Please place deposit in meter slot provided.  Individual: [=] SME: [==] Corporation: [===]
If deposit does not fit one of the slots provided then you are asking too much! :P

Is your Osc dated try Phoenix  raising oscommerce from the ashes.

Link to comment
Share on other sites

This is my: catalog / admin / products_attributes.php

 

 

<?php

/*

$Id: products_attributes.php,v 1.52 2003/07/10 20:46:01 dgw_ Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2003 osCommerce

 

Released under the GNU General Public License

*/

 

require('includes/application_top.php');

$languages = tep_get_languages();

 

$action = (isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : '');

 

if (tep_not_null($action)) {

$page_info = '';

if (isset($HTTP_GET_VARS['option_page'])) $page_info .= 'option_page=' . $HTTP_GET_VARS['option_page'] . '&';

if (isset($HTTP_GET_VARS['value_page'])) $page_info .= 'value_page=' . $HTTP_GET_VARS['value_page'] . '&';

if (isset($HTTP_GET_VARS['attribute_page'])) $page_info .= 'attribute_page=' . $HTTP_GET_VARS['attribute_page'] . '&';

if (tep_not_null($page_info)) {

$page_info = substr($page_info, 0, -1);

}

 

switch ($action) {

case 'add_product_options':

$products_options_id = tep_db_prepare_input($HTTP_POST_VARS['products_options_id']);

$option_name_array = $HTTP_POST_VARS['option_name'];

 

for ($i=0, $n=sizeof($languages); $i<$n; $i ++) {

$option_name = tep_db_prepare_input($option_name_array[$languages[$i]['id']]);

 

tep_db_query("insert into " . TABLE_PRODUCTS_OPTIONS . " (products_options_id, products_options_name, language_id) values ('" . (int)$products_options_id . "', '" . tep_db_input($option_name) . "', '" . (int)$languages[$i]['id'] . "')");

}

tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info));

break;

case 'add_product_option_values':

$value_name_array = $HTTP_POST_VARS['value_name'];

$value_id = tep_db_prepare_input($HTTP_POST_VARS['value_id']);

$option_id = tep_db_prepare_input($HTTP_POST_VARS['option_id']);

 

for ($i=0, $n=sizeof($languages); $i<$n; $i ++) {

$value_name = tep_db_prepare_input($value_name_array[$languages[$i]['id']]);

 

tep_db_query("insert into " . TABLE_PRODUCTS_OPTIONS_VALUES . " (products_options_values_id, language_id, products_options_values_name) values ('" . (int)$value_id . "', '" . (int)$languages[$i]['id'] . "', '" . tep_db_input($value_name) . "')");

}

 

tep_db_query("insert into " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " (products_options_id, products_options_values_id) values ('" . (int)$option_id . "', '" . (int)$value_id . "')");

 

tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info));

break;

case 'add_product_attributes':

$products_id = tep_db_prepare_input($HTTP_POST_VARS['products_id']);

$options_id = tep_db_prepare_input($HTTP_POST_VARS['options_id']);

$values_id = tep_db_prepare_input($HTTP_POST_VARS['values_id']);

$value_price = tep_db_prepare_input($HTTP_POST_VARS['value_price']);

$price_prefix = tep_db_prepare_input($HTTP_POST_VARS['price_prefix']);

$attributes_sort = tep_db_prepare_input($HTTP_POST_VARS['attributes_sort']);

 

tep_db_query("insert into " . TABLE_PRODUCTS_ATTRIBUTES . " values ('', '" . (int)$products_id . "', '" . (int)$options_id . "', '" . (int)$values_id . "', '" . tep_db_input($value_price) . "', '" . tep_db_input($price_prefix) . "', '" . (int)$attributes_sort . "')");

 

if (DOWNLOAD_ENABLED == 'true') {

$products_attributes_id = tep_db_insert_id();

 

$products_attributes_filename = tep_db_prepare_input($HTTP_POST_VARS['products_attributes_filename']);

$products_attributes_maxdays = tep_db_prepare_input($HTTP_POST_VARS['products_attributes_maxdays']);

$products_attributes_maxcount = tep_db_prepare_input($HTTP_POST_VARS['products_attributes_maxcount']);

 

if (tep_not_null($products_attributes_filename)) {

tep_db_query("insert into " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " values (" . (int)$products_attributes_id . ", '" . tep_db_input($products_attributes_filename) . "', '" . tep_db_input($products_attributes_maxdays) . "', '" . tep_db_input($products_attributes_maxcount) . "')");

}

}

 

tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info));

break;

case 'update_option_name':

$option_name_array = $HTTP_POST_VARS['option_name'];

$option_id = tep_db_prepare_input($HTTP_POST_VARS['option_id']);

 

for ($i=0, $n=sizeof($languages); $i<$n; $i ++) {

$option_name = tep_db_prepare_input($option_name_array[$languages[$i]['id']]);

 

tep_db_query("update " . TABLE_PRODUCTS_OPTIONS . " set products_options_name = '" . tep_db_input($option_name) . "' where products_options_id = '" . (int)$option_id . "' and language_id = '" . (int)$languages[$i]['id'] . "'");

}

 

tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info));

break;

case 'update_value':

$value_name_array = $HTTP_POST_VARS['value_name'];

$value_id = tep_db_prepare_input($HTTP_POST_VARS['value_id']);

$option_id = tep_db_prepare_input($HTTP_POST_VARS['option_id']);

 

for ($i=0, $n=sizeof($languages); $i<$n; $i ++) {

$value_name = tep_db_prepare_input($value_name_array[$languages[$i]['id']]);

 

tep_db_query("update " . TABLE_PRODUCTS_OPTIONS_VALUES . " set products_options_values_name = '" . tep_db_input($value_name) . "' where products_options_values_id = '" . tep_db_input($value_id) . "' and language_id = '" . (int)$languages[$i]['id'] . "'");

}

 

tep_db_query("update " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " set products_options_id = '" . (int)$option_id . "' where products_options_values_id = '" . (int)$value_id . "'");

 

tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info));

break;

case 'update_product_attribute':

$products_id = tep_db_prepare_input($HTTP_POST_VARS['products_id']);

$options_id = tep_db_prepare_input($HTTP_POST_VARS['options_id']);

$values_id = tep_db_prepare_input($HTTP_POST_VARS['values_id']);

$value_price = tep_db_prepare_input($HTTP_POST_VARS['value_price']);

$price_prefix = tep_db_prepare_input($HTTP_POST_VARS['price_prefix']);

$attribute_id = tep_db_prepare_input($HTTP_POST_VARS['attribute_id']);

$attributes_sort = tep_db_prepare_input($HTTP_POST_VARS['attributes_sort']);

 

tep_db_query("update " . TABLE_PRODUCTS_ATTRIBUTES . " set products_id = '" . (int)$products_id . "', options_id = '" . (int)$options_id . "', options_values_id = '" . (int)$values_id . "', options_values_price = '" . tep_db_input($value_price) . "', price_prefix = '" . tep_db_input($price_prefix) . "', attribute_sort = '" . (int)$attributes_sort . "' where products_attributes_id = '" . (int)$attribute_id . "'");

 

if (DOWNLOAD_ENABLED == 'true') {

$products_attributes_filename = tep_db_prepare_input($HTTP_POST_VARS['products_attributes_filename']);

$products_attributes_maxdays = tep_db_prepare_input($HTTP_POST_VARS['products_attributes_maxdays']);

$products_attributes_maxcount = tep_db_prepare_input($HTTP_POST_VARS['products_attributes_maxcount']);

 

if (tep_not_null($products_attributes_filename)) {

tep_db_query("replace into " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " set products_attributes_id = '" . (int)$attribute_id . "', products_attributes_filename = '" . tep_db_input($products_attributes_filename) . "', products_attributes_maxdays = '" . tep_db_input($products_attributes_maxdays) . "', products_attributes_maxcount = '" . tep_db_input($products_attributes_maxcount) . "'");

}

}

 

tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info));

break;

case 'delete_option':

$option_id = tep_db_prepare_input($HTTP_GET_VARS['option_id']);

 

tep_db_query("delete from " . TABLE_PRODUCTS_OPTIONS . " where products_options_id = '" . (int)$option_id . "'");

 

tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info));

break;

case 'delete_value':

$value_id = tep_db_prepare_input($HTTP_GET_VARS['value_id']);

 

tep_db_query("delete from " . TABLE_PRODUCTS_OPTIONS_VALUES . " where products_options_values_id = '" . (int)$value_id . "'");

tep_db_query("delete from " . TABLE_PRODUCTS_OPTIONS_VALUES . " where products_options_values_id = '" . (int)$value_id . "'");

tep_db_query("delete from " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " where products_options_values_id = '" . (int)$value_id . "'");

 

tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info));

break;

case 'delete_attribute':

$attribute_id = tep_db_prepare_input($HTTP_GET_VARS['attribute_id']);

 

tep_db_query("delete from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_attributes_id = '" . (int)$attribute_id . "'");

 

// added for DOWNLOAD_ENABLED. Always try to remove attributes, even if downloads are no longer enabled

tep_db_query("delete from " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " where products_attributes_id = '" . (int)$attribute_id . "'");

 

tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info));

break;

}

}

?>

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">

<html <?php echo HTML_PARAMS; ?>>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">

<title><?php echo TITLE; ?></title>

<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">

<script language="javascript"><!--

function go_option() {

if (document.option_order_by.selected.options[document.option_order_by.selected.sel

ectedIndex].value != "none") {

location = "<?php echo tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'option_page=' . ($HTTP_GET_VARS['option_page'] ? $HTTP_GET_VARS['option_page'] : 1)); ?>&option_order_by="+document.option_order_by.selected.options[document.option_order_by.selecte

d.selectedIndex].value;

}

}

//--></script>

</head>

<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF">

<!-- header //-->

<?php require(DIR_WS_INCLUDES . 'header.php'); ?>

<!-- header_eof //-->

 

<!-- body //-->

<table border="0" width="100%" cellspacing="2" cellpadding="2">

<tr>

<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">

<!-- left_navigation //-->

<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>

<!-- left_navigation_eof //-->

</table></td>

<!-- body_text //-->

<td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">

<!-- options and values//-->

<tr>

<td width="100%"><table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td valign="top" width="50%"><table width="100%" border="0" cellspacing="0" cellpadding="2">

<!-- options //-->

<?php

if ($action == 'delete_product_option') { // delete product option

$options = tep_db_query("select products_options_id, products_options_name from " . TABLE_PRODUCTS_OPTIONS . " where products_options_id = '" . (int)$HTTP_GET_VARS['option_id'] . "' and language_id = '" . (int)$languages_id . "'");

$options_values = tep_db_fetch_array($options);

?>

<tr>

<td class="pageHeading"> <?php echo $options_values['products_options_name']; ?> </td>

<td> <?php echo tep_image(DIR_WS_IMAGES . 'pixel_trans.gif', '', '1', '53'); ?> </td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td colspan="3"><?php echo tep_black_line(); ?></td>

</tr>

<?php

$products = tep_db_query("select p.products_id, pd.products_name, pov.products_options_values_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov, " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_DESCRIPTION . " pd where pd.products_id = p.products_id and pov.language_id = '" . (int)$languages_id . "' and pd.language_id = '" . (int)$languages_id . "' and pa.products_id = p.products_id and pa.options_id='" . (int)$HTTP_GET_VARS['option_id'] . "' and pov.products_options_values_id = pa.options_values_id order by pd.products_name");

if (tep_db_num_rows($products)) {

?>

<tr class="dataTableHeadingRow">

<td class="dataTableHeadingContent" align="center"> <?php echo TABLE_HEADING_ID; ?> </td>

<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_PRODUCT; ?> </td>

<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_OPT_VALUE; ?> </td>

</tr>

<tr>

<td colspan="3"><?php echo tep_black_line(); ?></td>

</tr>

<?php

$rows = 0;

while ($products_values = tep_db_fetch_array($products)) {

$rows++;

?>

<tr class="<?php echo (floor($rows/2) == ($rows/2) ? 'attributes-even' : 'attributes-odd'); ?>">

<td align="center" class="smallText"> <?php echo $products_values['products_id']; ?> </td>

<td class="smallText"> <?php echo $products_values['products_name']; ?> </td>

<td class="smallText"> <?php echo $products_values['products_options_values_name']; ?> </td>

</tr>

<?php

}

?>

<tr>

<td colspan="3"><?php echo tep_black_line(); ?></td>

</tr>

<tr>

<td colspan="3" class="main"><br><?php echo TEXT_WARNING_OF_DELETE; ?></td>

</tr>

<tr>

<td align="right" colspan="3" class="main"><br><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, (isset($HTTP_GET_VARS['value_page']) ? 'value_page=' . $HTTP_GET_VARS['value_page'] . '&' : '') . (isset($HTTP_GET_VARS['attribute_page']) ? 'attribute_page=' . $HTTP_GET_VARS['attribute_page'] : ''), 'NONSSL') . '">'; ?><?php echo tep_image_button('button_cancel.gif', ' cancel '); ?></a> </td>

</tr>

<?php

} else {

?>

<tr>

<td class="main" colspan="3"><br><?php echo TEXT_OK_TO_DELETE; ?></td>

</tr>

<tr>

<td class="main" align="right" colspan="3"><br><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=delete_option&option_id=' . $HTTP_GET_VARS['option_id'], 'NONSSL') . '">'; ?><?php echo tep_image_button('button_delete.gif', ' delete '); ?></a>   <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, (isset($HTTP_GET_VARS['order_by']) ? 'order_by=' . $HTTP_GET_VARS['order_by'] . '&' : '') . (isset($HTTP_GET_VARS['page']) ? 'page=' . $HTTP_GET_VARS['page'] : ''), 'NONSSL') . '">'; ?><?php echo tep_image_button('button_cancel.gif', ' cancel '); ?></a> </td>

</tr>

<?php

}

?>

</table></td>

</tr>

<?php

} else {

if (isset($HTTP_GET_VARS['option_order_by'])) {

$option_order_by = $HTTP_GET_VARS['option_order_by'];

} else {

$option_order_by = 'products_options_id';

}

?>

<tr>

<td colspan="2" class="pageHeading"> <?php echo HEADING_TITLE_OPT; ?> </td>

<td align="right"><br><form name="option_order_by" action="<?php echo FILENAME_PRODUCTS_ATTRIBUTES; ?>"><select name="selected" onChange="go_option()"><option value="products_options_id"<?php if ($option_order_by == 'products_options_id') { echo ' SELECTED'; } ?>><?php echo TEXT_OPTION_ID; ?></option><option value="products_options_name"<?php if ($option_order_by == 'products_options_name') { echo ' SELECTED'; } ?>><?php echo TEXT_OPTION_NAME; ?></option></select></form></td>

</tr>

<tr>

<td colspan="3" class="smallText">

<?php

$per_page = MAX_ROW_LISTS_OPTIONS;

$options = "select * from " . TABLE_PRODUCTS_OPTIONS . " where language_id = '" . (int)$languages_id . "' order by " . $option_order_by;

if (!isset($option_page)) {

$option_page = 1;

}

$prev_option_page = $option_page - 1;

$next_option_page = $option_page + 1;

 

$option_query = tep_db_query($options);

 

$option_page_start = ($per_page * $option_page) - $per_page;

$num_rows = tep_db_num_rows($option_query);

 

if ($num_rows <= $per_page) {

$num_pages = 1;

} else if (($num_rows % $per_page) == 0) {

$num_pages = ($num_rows / $per_page);

} else {

$num_pages = ($num_rows / $per_page) + 1;

}

$num_pages = (int) $num_pages;

 

$options = $options . " LIMIT $option_page_start, $per_page";

 

// Previous

if ($prev_option_page) {

echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'option_page=' . $prev_option_page) . '"> << </a> | ';

}

 

for ($i = 1; $i <= $num_pages; $i++) {

if ($i != $option_page) {

echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'option_page=' . $i) . '">' . $i . '</a> | ';

} else {

echo '<b><font color=red>' . $i . '</font></b> | ';

}

}

 

// Next

if ($option_page != $num_pages) {

echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'option_page=' . $next_option_page) . '"> >> </a>';

}

?>

</td>

</tr>

<tr>

<td colspan="3"><?php echo tep_black_line(); ?></td>

</tr>

<tr class="dataTableHeadingRow">

<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_ID; ?> </td>

<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_OPT_NAME; ?> </td>

<td class="dataTableHeadingContent" align="center"> <?php echo TABLE_HEADING_ACTION; ?> </td>

</tr>

<tr>

<td colspan="3"><?php echo tep_black_line(); ?></td>

</tr>

<?php

$next_id = 1;

$rows = 0;

$options = tep_db_query($options);

while ($options_values = tep_db_fetch_array($options)) {

$rows++;

?>

<tr class="<?php echo (floor($rows/2) == ($rows/2) ? 'attributes-even' : 'attributes-odd'); ?>">

<?php

if (($action == 'update_option') && ($HTTP_GET_VARS['option_id'] == $options_values['products_options_id'])) {

echo '<form name="option" action="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=update_option_name', 'NONSSL') . '" method="post">';

$inputs = '';

for ($i = 0, $n = sizeof($languages); $i < $n; $i ++) {

$option_name = tep_db_query("select products_options_name from " . TABLE_PRODUCTS_OPTIONS . " where products_options_id = '" . $options_values['products_options_id'] . "' and language_id = '" . $languages[$i]['id'] . "'");

$option_name = tep_db_fetch_array($option_name);

$inputs .= $languages[$i]['code'] . ': <input type="text" name="option_name[' . $languages[$i]['id'] . ']" size="20" value="' . $option_name['products_options_name'] . '"> <br>';

}

?>

<td align="center" class="smallText"> <?php echo $options_values['products_options_id']; ?><input type="hidden" name="option_id" value="<?php echo $options_values['products_options_id']; ?>"> </td>

<td class="smallText"><?php echo $inputs; ?></td>

<td align="center" class="smallText"> <?php echo tep_image_submit('button_update.gif', IMAGE_UPDATE); ?> <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, '', 'NONSSL') . '">'; ?><?php echo tep_image_button('button_cancel.gif', IMAGE_CANCEL); ?></a> </td>

<?php

echo '</form>' . "\n";

} else {

?>

<td align="center" class="smallText"> <?php echo $options_values["products_options_id"]; ?> </td>

<td class="smallText"> <?php echo $options_values["products_options_name"]; ?> </td>

<td align="center" class="smallText"> <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=update_option&option_id=' . $options_values['products_options_id'] . '&option_order_by=' . $option_order_by . '&option_page=' . $option_page, 'NONSSL') . '">'; ?><?php echo tep_image_button('button_edit.gif', IMAGE_UPDATE); ?></a>  <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=delete_product_option&option_id=' . $options_values['products_options_id'], 'NONSSL') , '">'; ?><?php echo tep_image_button('button_delete.gif', IMAGE_DELETE); ?></a> </td>

<?php

}

?>

</tr>

<?php

$max_options_id_query = tep_db_query("select max(products_options_id) + 1 as next_id from " . TABLE_PRODUCTS_OPTIONS);

$max_options_id_values = tep_db_fetch_array($max_options_id_query);

$next_id = $max_options_id_values['next_id'];

}

?>

<tr>

<td colspan="3"><?php echo tep_black_line(); ?></td>

</tr>

<?php

if ($action != 'update_option') {

?>

<tr class="<?php echo (floor($rows/2) == ($rows/2) ? 'attributes-even' : 'attributes-odd'); ?>">

<?php

echo '<form name="options" action="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=add_product_options&option_page=' . $option_page, 'NONSSL') . '" method="post"><input type="hidden" name="products_options_id" value="' . $next_id . '">';

$inputs = '';

for ($i = 0, $n = sizeof($languages); $i < $n; $i ++) {

$inputs .= $languages[$i]['code'] . ': <input type="text" name="option_name[' . $languages[$i]['id'] . ']" size="20"> <br>';

}

?>

<td align="center" class="smallText"> <?php echo $next_id; ?> </td>

<td class="smallText"><?php echo $inputs; ?></td>

<td align="center" class="smallText"> <?php echo tep_image_submit('button_insert.gif', IMAGE_INSERT); ?> </td>

<?php

echo '</form>';

?>

</tr>

<tr>

<td colspan="3"><?php echo tep_black_line(); ?></td>

</tr>

<?php

}

}

?>

</table></td>

<!-- options eof //-->

<td valign="top" width="50%"><table width="100%" border="0" cellspacing="0" cellpadding="2">

<!-- value //-->

<?php

if ($action == 'delete_option_value') { // delete product option value

$values = tep_db_query("select products_options_values_id, products_options_values_name from " . TABLE_PRODUCTS_OPTIONS_VALUES . " where products_options_values_id = '" . (int)$HTTP_GET_VARS['value_id'] . "' and language_id = '" . (int)$languages_id . "'");

$values_values = tep_db_fetch_array($values);

?>

<tr>

<td colspan="3" class="pageHeading"> <?php echo $values_values['products_options_values_name']; ?> </td>

<td> <?php echo tep_image(DIR_WS_IMAGES . 'pixel_trans.gif', '', '1', '53'); ?> </td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td colspan="3"><?php echo tep_black_line(); ?></td>

</tr>

<?php

$products = tep_db_query("select p.products_id, pd.products_name, po.products_options_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS . " po, " . TABLE_PRODUCTS_DESCRIPTION . " pd where pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and po.language_id = '" . (int)$languages_id . "' and pa.products_id = p.products_id and pa.options_values_id='" . (int)$HTTP_GET_VARS['value_id'] . "' and po.products_options_id = pa.options_id order by pd.products_name");

if (tep_db_num_rows($products)) {

?>

<tr class="dataTableHeadingRow">

<td class="dataTableHeadingContent" align="center"> <?php echo TABLE_HEADING_ID; ?> </td>

<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_PRODUCT; ?> </td>

<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_OPT_NAME; ?> </td>

</tr>

<tr>

<td colspan="3"><?php echo tep_black_line(); ?></td>

</tr>

<?php

while ($products_values = tep_db_fetch_array($products)) {

$rows++;

?>

<tr class="<?php echo (floor($rows/2) == ($rows/2) ? 'attributes-even' : 'attributes-odd'); ?>">

<td align="center" class="smallText"> <?php echo $products_values['products_id']; ?> </td>

<td class="smallText"> <?php echo $products_values['products_name']; ?> </td>

<td class="smallText"> <?php echo $products_values['products_options_name']; ?> </td>

</tr>

<?php

}

?>

<tr>

<td colspan="3"><?php echo tep_black_line(); ?></td>

</tr>

<tr>

<td class="main" colspan="3"><br><?php echo TEXT_WARNING_OF_DELETE; ?></td>

</tr>

<tr>

<td class="main" align="right" colspan="3"><br><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, (isset($HTTP_GET_VARS['value_page']) ? 'value_page=' . $HTTP_GET_VARS['value_page'] . '&' : '') . (isset($HTTP_GET_VARS['attribute_page']) ? 'attribute_page=' . $attribute_page : ''), 'NONSSL') . '">'; ?><?php echo tep_image_button('button_cancel.gif', ' cancel '); ?></a> </td>

</tr>

<?php

} else {

?>

<tr>

<td class="main" colspan="3"><br><?php echo TEXT_OK_TO_DELETE; ?></td>

</tr>

<tr>

<td class="main" align="right" colspan="3"><br><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=delete_value&value_id=' . $HTTP_GET_VARS['value_id'], 'NONSSL') . '">'; ?><?php echo tep_image_button('button_delete.gif', ' delete '); ?></a>   <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, '&option_page=' . $option_page . (isset($HTTP_GET_VARS['value_page']) ? '&value_page=' . $value_page : '') . (isset($HTTP_GET_VARS['attribute_page']) ? '&attribute_page=' . $attribute_page : ''), 'NONSSL') . '">'; ?><?php echo tep_image_button('button_cancel.gif', ' cancel '); ?></a> </td>

</tr>

<?php

}

?>

</table></td>

</tr>

<?php

} else {

?>

<tr>

<td colspan="3" class="pageHeading"> <?php echo HEADING_TITLE_VAL; ?> </td>

<td> <?php echo tep_image(DIR_WS_IMAGES . 'pixel_trans.gif', '', '1', '53'); ?> </td>

</tr>

<tr>

<td colspan="4" class="smallText">

<?php

$per_page = MAX_ROW_LISTS_OPTIONS;

$values = "select pov.products_options_values_id, pov.products_options_values_name, pov2po.products_options_id from " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov left join " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " pov2po on pov.products_options_values_id = pov2po.products_options_values_id where pov.language_id = '" . (int)$languages_id . "' order by pov.products_options_values_id";

if (!isset($value_page)) {

$value_page = 1;

}

$prev_value_page = $value_page - 1;

$next_value_page = $value_page + 1;

 

$value_query = tep_db_query($values);

 

$value_page_start = ($per_page * $value_page) - $per_page;

$num_rows = tep_db_num_rows($value_query);

 

if ($num_rows <= $per_page) {

$num_pages = 1;

} else if (($num_rows % $per_page) == 0) {

$num_pages = ($num_rows / $per_page);

} else {

$num_pages = ($num_rows / $per_page) + 1;

}

$num_pages = (int) $num_pages;

 

$values = $values . " LIMIT $value_page_start, $per_page";

 

// Previous

if ($prev_value_page) {

echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'option_order_by=' . $option_order_by . '&value_page=' . $prev_value_page) . '"> << </a> | ';

}

 

for ($i = 1; $i <= $num_pages; $i++) {

if ($i != $value_page) {

echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, (isset($option_order_by) ? 'option_order_by=' . $option_order_by . '&' : '') . 'value_page=' . $i) . '">' . $i . '</a> | ';

} else {

echo '<b><font color=red>' . $i . '</font></b> | ';

}

}

 

// Next

if ($value_page != $num_pages) {

echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, (isset($option_order_by) ? 'option_order_by=' . $option_order_by . '&' : '') . 'value_page=' . $next_value_page) . '"> >></a> ';

}

?>

</td>

</tr>

<tr>

<td colspan="4"><?php echo tep_black_line(); ?></td>

</tr>

<tr class="dataTableHeadingRow">

<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_ID; ?> </td>

<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_OPT_NAME; ?> </td>

<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_OPT_VALUE; ?> </td>

<td class="dataTableHeadingContent" align="center"> <?php echo TABLE_HEADING_ACTION; ?> </td>

</tr>

<tr>

<td colspan="4"><?php echo tep_black_line(); ?></td>

</tr>

<?php

$next_id = 1;

$rows = 0;

$values = tep_db_query($values);

while ($values_values = tep_db_fetch_array($values)) {

$options_name = tep_options_name($values_values['products_options_id']);

$values_name = $values_values['products_options_values_name'];

$rows++;

?>

<tr class="<?php echo (floor($rows/2) == ($rows/2) ? 'attributes-even' : 'attributes-odd'); ?>">

<?php

if (($action == 'update_option_value') && ($HTTP_GET_VARS['value_id'] == $values_values['products_options_values_id'])) {

echo '<form name="values" action="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=update_value', 'NONSSL') . '" method="post">';

$inputs = '';

for ($i = 0, $n = sizeof($languages); $i < $n; $i ++) {

$value_name = tep_db_query("select products_options_values_name from " . TABLE_PRODUCTS_OPTIONS_VALUES . " where products_options_values_id = '" . (int)$values_values['products_options_values_id'] . "' and language_id = '" . (int)$languages[$i]['id'] . "'");

$value_name = tep_db_fetch_array($value_name);

$inputs .= $languages[$i]['code'] . ': <input type="text" name="value_name[' . $languages[$i]['id'] . ']" size="15" value="' . $value_name['products_options_values_name'] . '"> <br>';

}

?>

<td align="center" class="smallText"> <?php echo $values_values['products_options_values_id']; ?><input type="hidden" name="value_id" value="<?php echo $values_values['products_options_values_id']; ?>"> </td>

<td align="center" class="smallText"> <?php echo "\n"; ?><select name="option_id">

<?php

$options = tep_db_query("select products_options_id, products_options_name from " . TABLE_PRODUCTS_OPTIONS . " where language_id = '" . (int)$languages_id . "' order by products_options_name");

while ($options_values = tep_db_fetch_array($options)) {

echo "\n" . '<option name="' . $options_values['products_options_name'] . '" value="' . $options_values['products_options_id'] . '"';

if ($values_values['products_options_id'] == $options_values['products_options_id']) {

echo ' selected';

}

echo '>' . $options_values['products_options_name'] . '</option>';

}

?>

</select> </td>

<td class="smallText"><?php echo $inputs; ?></td>

<td align="center" class="smallText"> <?php echo tep_image_submit('button_update.gif', IMAGE_UPDATE); ?> <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, '', 'NONSSL') . '">'; ?><?php echo tep_image_button('button_cancel.gif', IMAGE_CANCEL); ?></a> </td>

<?php

echo '</form>';

} else {

?>

<td align="center" class="smallText"> <?php echo $values_values["products_options_values_id"]; ?> </td>

<td align="center" class="smallText"> <?php echo $options_name; ?> </td>

<td class="smallText"> <?php echo $values_name; ?> </td>

<td align="center" class="smallText"> <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=update_option_value&value_id=' . $values_values['products_options_values_id'] . (isset($HTTP_GET_VARS['value_page']) ? '&value_page=' . $HTTP_GET_VARS['value_page'] : ''), 'NONSSL') . '">'; ?><?php echo tep_image_button('button_edit.gif', IMAGE_UPDATE); ?></a>  <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=delete_option_value&value_id=' . $values_values['products_options_values_id'], 'NONSSL') , '">'; ?><?php echo tep_image_button('button_delete.gif', IMAGE_DELETE); ?></a> </td>

<?php

}

$max_values_id_query = tep_db_query("select max(products_options_values_id) + 1 as next_id from " . TABLE_PRODUCTS_OPTIONS_VALUES);

$max_values_id_values = tep_db_fetch_array($max_values_id_query);

$next_id = $max_values_id_values['next_id'];

}

?>

</tr>

<tr>

<td colspan="4"><?php echo tep_black_line(); ?></td>

</tr>

<?php

if ($action != 'update_option_value') {

?>

<tr class="<?php echo (floor($rows/2) == ($rows/2) ? 'attributes-even' : 'attributes-odd'); ?>">

<?php

echo '<form name="values" action="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=add_product_option_values&value_page=' . $value_page, 'NONSSL') . '" method="post">';

?>

<td align="center" class="smallText"> <?php echo $next_id; ?> </td>

<td align="center" class="smallText"> <select name="option_id">

<?php

$options = tep_db_query("select products_options_id, products_options_name from " . TABLE_PRODUCTS_OPTIONS . " where language_id = '" . $languages_id . "' order by products_options_name");

while ($options_values = tep_db_fetch_array($options)) {

echo '<option name="' . $options_values['products_options_name'] . '" value="' . $options_values['products_options_id'] . '">' . $options_values['products_options_name'] . '</option>';

}

 

$inputs = '';

for ($i = 0, $n = sizeof($languages); $i < $n; $i ++) {

$inputs .= $languages[$i]['code'] . ': <input type="text" name="value_name[' . $languages[$i]['id'] . ']" size="15"> <br>';

}

?>

</select> </td>

<td class="smallText"><input type="hidden" name="value_id" value="<?php echo $next_id; ?>"><?php echo $inputs; ?></td>

<td align="center" class="smallText"> <?php echo tep_image_submit('button_insert.gif', IMAGE_INSERT); ?> </td>

<?php

echo '</form>';

?>

</tr>

<tr>

<td colspan="4"><?php echo tep_black_line(); ?></td>

</tr>

<?php

}

}

?>

</table></td>

</tr>

</table></td>

<!-- option value eof //-->

</tr>

<!-- products_attributes //-->

<tr>

<td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td class="pageHeading"> <?php echo HEADING_TITLE_ATRIB; ?> </td>

<td> <?php echo tep_image(DIR_WS_IMAGES . 'pixel_trans.gif', '', '1', '53'); ?> </td>

</tr>

</table></td>

</tr>

<tr>

<?php

if ($action == 'update_attribute') {

$form_action = 'update_product_attribute';

} else {

$form_action = 'add_product_attributes';

}

 

if (!isset($attribute_page)) {

$attribute_page = 1;

}

$prev_attribute_page = $attribute_page - 1;

$next_attribute_page = $attribute_page + 1;

?>

<td><form name="attributes" action="<?php echo tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=' . $form_action . '&option_page=' . $option_page . '&value_page=' . $value_page . '&attribute_page=' . $attribute_page); ?>" method="post"><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td colspan="7" class="smallText">

<?php

$per_page = MAX_ROW_LISTS_OPTIONS;

$attributes = "select pa.* from " . TABLE_PRODUCTS_ATTRIBUTES . " pa left join " . TABLE_PRODUCTS_DESCRIPTION . " pd on pa.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by pd.products_name";

$attribute_query = tep_db_query($attributes);

 

$attribute_page_start = ($per_page * $attribute_page) - $per_page;

$num_rows = tep_db_num_rows($attribute_query);

 

if ($num_rows <= $per_page) {

$num_pages = 1;

} else if (($num_rows % $per_page) == 0) {

$num_pages = ($num_rows / $per_page);

} else {

$num_pages = ($num_rows / $per_page) + 1;

}

$num_pages = (int) $num_pages;

 

$attributes = $attributes . " LIMIT $attribute_page_start, $per_page";

 

// Previous

if ($prev_attribute_page) {

echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'attribute_page=' . $prev_attribute_page) . '"> << </a> | ';

}

 

for ($i = 1; $i <= $num_pages; $i++) {

if ($i != $attribute_page) {

echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'attribute_page=' . $i) . '">' . $i . '</a> | ';

} else {

echo '<b><font color="red">' . $i . '</font></b> | ';

}

}

 

// Next

if ($attribute_page != $num_pages) {

echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'attribute_page=' . $next_attribute_page) . '"> >> </a>';

}

?>

</td>

</tr>

<tr>

<td colspan="8"><?php echo tep_black_line(); ?></td>

</tr>

<tr class="dataTableHeadingRow">

<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_ID; ?> </td>

<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_PRODUCT; ?> </td>

<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_OPT_NAME; ?> </td>

<td class="dataTableHeadingContent"> <?php echo TABLE_HEADING_OPT_VALUE; ?> </td>

<td class="dataTableHeadingContent"> Attrib Sort </td>

<td class="dataTableHeadingContent" align="right"> <?php echo TABLE_HEADING_OPT_PRICE; ?> </td>

<td class="dataTableHeadingContent" align="center"> <?php echo TABLE_HEADING_OPT_PRICE_PREFIX; ?> </td>

<td class="dataTableHeadingContent" align="center"> <?php echo TABLE_HEADING_ACTION; ?> </td>

</tr>

<tr>

<td colspan="8"><?php echo tep_black_line(); ?></td>

</tr>

<?php

$next_id = 1;

$attributes = tep_db_query($attributes);

while ($attributes_values = tep_db_fetch_array($attributes)) {

$products_name_only = tep_get_products_name($attributes_values['products_id']);

$options_name = tep_options_name($attributes_values['options_id']);

$values_name = tep_values_name($attributes_values['options_values_id']);

$attributes_sort = tep_attributes_sort($attributes_values['products_attributes_id']);

$rows++;

?>

<tr class="<?php echo (floor($rows/2) == ($rows/2) ? 'attributes-even' : 'attributes-odd'); ?>">

<?php

if (($action == 'update_attribute') && ($HTTP_GET_VARS['attribute_id'] == $attributes_values['products_attributes_id'])) {

?>

<td class="smallText"> <?php echo $attributes_values['products_attributes_id']; ?><input type="hidden" name="attribute_id" value="<?php echo $attributes_values['products_attributes_id']; ?>"> </td>

<td class="smallText"> <select name="products_id">

<?php

$products = tep_db_query("select p.products_id, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where pd.products_id = p.products_id and pd.language_id = '" . $languages_id . "' order by pd.products_name");

while($products_values = tep_db_fetch_array($products)) {

if ($attributes_values['products_id'] == $products_values['products_id']) {

echo "\n" . '<option name="' . $products_values['products_name'] . '" value="' . $products_values['products_id'] . '" SELECTED>' . $products_values['products_name'] . '</option>';

} else {

echo "\n" . '<option name="' . $products_values['products_name'] . '" value="' . $products_values['products_id'] . '">' . $products_values['products_name'] . '</option>';

}

}

?>

</select> </td>

<td class="smallText"> <select name="options_id">

<?php

$options = tep_db_query("select * from " . TABLE_PRODUCTS_OPTIONS . " where language_id = '" . $languages_id . "' order by products_options_name");

while($options_values = tep_db_fetch_array($options)) {

if ($attributes_values['options_id'] == $options_values['products_options_id']) {

echo "\n" . '<option name="' . $options_values['products_options_name'] . '" value="' . $options_values['products_options_id'] . '" SELECTED>' . $options_values['products_options_name'] . '</option>';

} else {

echo "\n" . '<option name="' . $options_values['products_options_name'] . '" value="' . $options_values['products_options_id'] . '">' . $options_values['products_options_name'] . '</option>';

}

}

?>

</select> </td>

<td class="smallText"> <select name="values_id">

<?php

$values = tep_db_query("select * from " . TABLE_PRODUCTS_OPTIONS_VALUES . " where language_id ='" . $languages_id . "' order by products_options_values_name");

while($values_values = tep_db_fetch_array($values)) {

if ($attributes_values['options_values_id'] == $values_values['products_options_values_id']) {

echo "\n" . '<option name="' . $values_values['products_options_values_name'] . '" value="' . $values_values['products_options_values_id'] . '" SELECTED>' . $values_values['products_options_values_name'] . '</option>';

} else {

echo "\n" . '<option name="' . $values_values['products_options_values_name'] . '" value="' . $values_values['products_options_values_id'] . '">' . $values_values['products_options_values_name'] . '</option>';

}

}

?>

</select> </td>

<td align"right" class="smallText"> <input type="text" name="attributes_sort" value="<?php echo $attributes_sort; ?>" size="3"> </td>

<td align="right" class="smallText"> <input type="text" name="value_price" value="<?php echo $attributes_values['options_values_price']; ?>" size="6"> </td>

<td align="center" class="smallText"> <input type="text" name="price_prefix" value="<?php echo $attributes_values['price_prefix']; ?>" size="2"> </td>

<td align="center" class="smallText"> <?php echo tep_image_submit('button_update.gif', IMAGE_UPDATE); ?> <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, '&attribute_page=' . $attribute_page, 'NONSSL') . '">'; ?><?php echo tep_image_button('button_cancel.gif', IMAGE_CANCEL); ?></a> </td>

<?php

if (DOWNLOAD_ENABLED == 'true') {

$download_query_raw ="select products_attributes_filename, products_attributes_maxdays, products_attributes_maxcount

from " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . "

where products_attributes_id='" . $attributes_values['products_attributes_id'] . "'";

$download_query = tep_db_query($download_query_raw);

if (tep_db_num_rows($download_query) > 0) {

$download = tep_db_fetch_array($download_query);

$products_attributes_filename = $download['products_attributes_filename'];

$products_attributes_maxdays = $download['products_attributes_maxdays'];

$products_a

== EasyPHP 1.7

== www.easyphp.org

== apache 1.3.27 - php 4.3.3 - mysql 4.0.15 - phpmyadmin 2.5.3

 

 

et

==osCommerce 2.2-MS2

==PHP Version 4.3.8 (Zend : 1.3.0)

==Apache/2.0.50 (Fedora)

 

et

autres MachinTruk... :-)

Link to comment
Share on other sites

Hello sorry i did not put all code here it is:

          $products_attributes_maxcount = $download['products_attributes_maxcount'];
       }
?>
         <tr class="<?php echo (!($rows % 2)? 'attributes-even' : 'attributes-odd');?>">
           <td> </td>
           <td colspan="6">
             <table>
               <tr class="<?php echo (!($rows % 2)? 'attributes-even' : 'attributes-odd');?>">
                 <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_DOWNLOAD; ?> </td>
                 <td class="smallText"><?php echo TABLE_TEXT_FILENAME; ?></td>
                 <td class="smallText"><?php echo tep_draw_input_field('products_attributes_filename', $products_attributes_filename, 'size="15"'); ?> </td>
                 <td class="smallText"><?php echo TABLE_TEXT_MAX_DAYS; ?></td>
                 <td class="smallText"><?php echo tep_draw_input_field('products_attributes_maxdays', $products_attributes_maxdays, 'size="5"'); ?> </td>
                 <td class="smallText"><?php echo TABLE_TEXT_MAX_COUNT; ?></td>
                 <td class="smallText"><?php echo tep_draw_input_field('products_attributes_maxcount', $products_attributes_maxcount, 'size="5"'); ?> </td>
               </tr>
             </table>
           </td>
           <td> </td>
         </tr>
<?php
     }
?>
<?php
   } elseif (($action == 'delete_product_attribute') && ($HTTP_GET_VARS['attribute_id'] == $attributes_values['products_attributes_id'])) {
?>
           <td class="smallText"> <b><?php echo $attributes_values["products_attributes_id"]; ?></b> </td>
           <td class="smallText"> <b><?php echo $products_name_only; ?></b> </td>
           <td class="smallText"> <b><?php echo $options_name; ?></b> </td>
           <td class="smallText"> <b><?php echo $values_name; ?></b> </td>
           <td class="smallText"> <b><?php echo $attributes_sort; ?></b> </td>
           <td align="right" class="smallText"> <b><?php echo $attributes_values["options_values_price"]; ?></b> </td>
           <td align="center" class="smallText"> <b><?php echo $attributes_values["price_prefix"]; ?></b> </td>
           <td align="center" class="smallText"> <b><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=delete_attribute&attribute_id=' . $HTTP_GET_VARS['attribute_id']) . '">'; ?><?php echo tep_image_button('button_confirm.gif', IMAGE_CONFIRM); ?></a>  <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, '&option_page=' . $option_page . '&value_page=' . $value_page . '&attribute_page=' . $attribute_page, 'NONSSL') . '">'; ?><?php echo tep_image_button('button_cancel.gif', IMAGE_CANCEL); ?></a> </b></td>
<?php
   } else {
?>
           <td class="smallText"> <?php echo $attributes_values["products_attributes_id"]; ?> </td>
           <td class="smallText"> <?php echo $products_name_only; ?> </td>
           <td class="smallText"> <?php echo $options_name; ?> </td>
           <td class="smallText"> <?php echo $values_name; ?> </td>
           <td class="smallText"> <?php echo $attributes_sort; ?> </td>
           <td align="right" class="smallText"> <?php echo $attributes_values["options_values_price"]; ?> </td>
           <td align="center" class="smallText"> <?php echo $attributes_values["price_prefix"]; ?> </td>
           <td align="center" class="smallText"> <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=update_attribute&attribute_id=' . $attributes_values['products_attributes_id'] . '&attribute_page=' . $attribute_page, 'NONSSL') . '">'; ?><?php echo tep_image_button('button_edit.gif', IMAGE_UPDATE); ?></a>  <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, 'action=delete_product_attribute&attribute_id=' . $attributes_values['products_attributes_id'] . '&attribute_page=' . $attribute_page, 'NONSSL') , '">'; ?><?php echo tep_image_button('button_delete.gif', IMAGE_DELETE); ?></a> </td>
<?php
   }
   $max_attributes_id_query = tep_db_query("select max(products_attributes_id) + 1 as next_id from " . TABLE_PRODUCTS_ATTRIBUTES);
   $max_attributes_id_values = tep_db_fetch_array($max_attributes_id_query);
   $next_id = $max_attributes_id_values['next_id'];
?>
         </tr>
<?php
 }
 if ($action != 'update_attribute') {
?>
         <tr>
           <td colspan="8"><?php echo tep_black_line(); ?></td>
         </tr>
         <tr class="<?php echo (floor($rows/2) == ($rows/2) ? 'attributes-even' : 'attributes-odd'); ?>">
           <td class="smallText"> <?php echo $next_id; ?> </td>
          <td class="smallText"> <select name="products_id">
<?php
   $products = tep_db_query("select p.products_id, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where pd.products_id = p.products_id and pd.language_id = '" . $languages_id . "' order by pd.products_name");
   while ($products_values = tep_db_fetch_array($products)) {
     echo '<option name="' . $products_values['products_name'] . '" value="' . $products_values['products_id'] . '">' . $products_values['products_name'] . '</option>';
   }
?>
           </select> </td>
           <td class="smallText"> <select name="options_id">
<?php
   $options = tep_db_query("select * from " . TABLE_PRODUCTS_OPTIONS . " where language_id = '" . $languages_id . "' order by products_options_name");
   while ($options_values = tep_db_fetch_array($options)) {
     echo '<option name="' . $options_values['products_options_name'] . '" value="' . $options_values['products_options_id'] . '">' . $options_values['products_options_name'] . '</option>';
   }
?>
           </select> </td>
           <td class="smallText"> <select name="values_id">
<?php
   $values = tep_db_query("select * from " . TABLE_PRODUCTS_OPTIONS_VALUES . " where language_id = '" . $languages_id . "' order by products_options_values_name");
   while ($values_values = tep_db_fetch_array($values)) {
     echo '<option name="' . $values_values['products_options_values_name'] . '" value="' . $values_values['products_options_values_id'] . '">' . $values_values['products_options_values_name'] . '</option>';
   }
?>
           </select> </td>
           <td align="right" class="smallText"> <input type="text" name="attributes_sort" size="3"> </td>
           <td align="right" class="smallText"> <input type="text" name="value_price" size="6"> </td>
           <td align="right" class="smallText"> <input type="text" name="price_prefix" size="2" value="+"> </td>
           <td align="center" class="smallText"> <?php echo tep_image_submit('button_insert.gif', IMAGE_INSERT); ?> </td>
         </tr>
<?php
     if (DOWNLOAD_ENABLED == 'true') {
       $products_attributes_maxdays  = DOWNLOAD_MAX_DAYS;
       $products_attributes_maxcount = DOWNLOAD_MAX_COUNT;
?>
         <tr class="<?php echo (!($rows % 2)? 'attributes-even' : 'attributes-odd');?>">
           <td> </td>
           <td colspan="6">
             <table>
               <tr class="<?php echo (!($rows % 2)? 'attributes-even' : 'attributes-odd');?>">
                 <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_DOWNLOAD; ?> </td>
                 <td class="smallText"><?php echo TABLE_TEXT_FILENAME; ?></td>
                 <td class="smallText"><?php echo tep_draw_input_field('products_attributes_filename', $products_attributes_filename, 'size="15"'); ?> </td>
                 <td class="smallText"><?php echo TABLE_TEXT_MAX_DAYS; ?></td>
                 <td class="smallText"><?php echo tep_draw_input_field('products_attributes_maxdays', $products_attributes_maxdays, 'size="5"'); ?> </td>
                 <td class="smallText"><?php echo TABLE_TEXT_MAX_COUNT; ?></td>
                 <td class="smallText"><?php echo tep_draw_input_field('products_attributes_maxcount', $products_attributes_maxcount, 'size="5"'); ?> </td>
               </tr>
             </table>
           </td>
           <td> </td>
         </tr>
<?php
     } // end of DOWNLOAD_ENABLED section
?>
<?php
 }
?>
         <tr>
           <td colspan="8"><?php echo tep_black_line(); ?></td>
         </tr>
       </table></form></td>
     </tr>
   </table></td>
<!-- products_attributes_eof //-->
 </tr>
</table>
<!-- body_text_eof //-->
<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Edited by Bekor Anak

== EasyPHP 1.7

== www.easyphp.org

== apache 1.3.27 - php 4.3.3 - mysql 4.0.15 - phpmyadmin 2.5.3

 

 

et

==osCommerce 2.2-MS2

==PHP Version 4.3.8 (Zend : 1.3.0)

==Apache/2.0.50 (Fedora)

 

et

autres MachinTruk... :-)

Link to comment
Share on other sites

it has nothing to do with the code. look at the table products_attributes, count the columns there and then take a look at what you are inserting into the attributes, (count the number of items you are entering versus the # of fields in the table)

Link to comment
Share on other sites

:'( I went there but i am not sure if i am able to see what is wrongb there.

Sorry :'( I dont know what to do.

Bekor.

== EasyPHP 1.7

== www.easyphp.org

== apache 1.3.27 - php 4.3.3 - mysql 4.0.15 - phpmyadmin 2.5.3

 

 

et

==osCommerce 2.2-MS2

==PHP Version 4.3.8 (Zend : 1.3.0)

==Apache/2.0.50 (Fedora)

 

et

autres MachinTruk... :-)

Link to comment
Share on other sites

it has nothing to do with the code.  look at the table products_attributes, count the columns there and then take a look at what you are inserting into the attributes, (count the number of items you are entering versus the # of fields in the table)

 

where if not in the codes can it be determined what is being inserted, it is the code that sends the data insertion query to the database and therefore if the insertion statement does not match the number of fields i.e. your insertion statement has more information fields than there are fields in the database table then you will produce an error as the insertion query is greater than the number of fields in the database, therefore it is a correction to the code for the insertion query that is required.

 

I have been there and done this fix with other contributions which were producing a similar error.

No longer giving free advice. Please place deposit in meter slot provided.  Individual: [=] SME: [==] Corporation: [===]
If deposit does not fit one of the slots provided then you are asking too much! :P

Is your Osc dated try Phoenix  raising oscommerce from the ashes.

Link to comment
Share on other sites

:'( hmm

pleas so where should i go and what should i do???

TRhank you, Bekor.

== EasyPHP 1.7

== www.easyphp.org

== apache 1.3.27 - php 4.3.3 - mysql 4.0.15 - phpmyadmin 2.5.3

 

 

et

==osCommerce 2.2-MS2

==PHP Version 4.3.8 (Zend : 1.3.0)

==Apache/2.0.50 (Fedora)

 

et

autres MachinTruk... :-)

Link to comment
Share on other sites

(count the number of items you are entering versus the # of fields in the table)

 

products_attributes table

 

1136 - Column count doesn't match value count at row 1

 

insert into products_attributes values ('', '89', '2', '37', '0', '+', '0', '0', '', '', '', '')

 

u r entering 12 items how many fields in your table

Link to comment
Share on other sites

(count the number of items you are entering versus the # of fields in the table)

 

products_attributes table

 

1136 - Column count doesn't match value count at row 1

 

insert into products_attributes values ('', '89', '2', '37', '0', '+', '0', '0', '', '', '', '')

 

u r entering 12 items how many fields in your table

 

 

So my error message is this one:

1136 - Column count doesn't match value count at row 1

 

insert into products_attributes values ('', '32', '4', '20', '10', '+', '1')

 

[TEP STOP]

 

And when i go to my database Table products_attributes i see 8 fields:

products_attributes_id int(11) Non auto_increment

products_id int(11) Non 0

options_id int(11) Non 0

options_values_id int(11) Non 0

options_values_price decimal(15,4) Non 0.0000

price_prefix char(1) Non

attribute_sort int(10) UNSIGNED Non 0

sort_order

 

So what i have understand is that i need to put in my code something that is missing there, but what and where i dont know.

== EasyPHP 1.7

== www.easyphp.org

== apache 1.3.27 - php 4.3.3 - mysql 4.0.15 - phpmyadmin 2.5.3

 

 

et

==osCommerce 2.2-MS2

==PHP Version 4.3.8 (Zend : 1.3.0)

==Apache/2.0.50 (Fedora)

 

et

autres MachinTruk... :-)

Link to comment
Share on other sites

What ever field in your table that is missing from the code list section here, outwith the products_attributes_id field which get added later

 

case 'add_product_attributes':
$products_id = tep_db_prepare_input($HTTP_POST_VARS['products_id']);
$options_id = tep_db_prepare_input($HTTP_POST_VARS['options_id']);
$values_id = tep_db_prepare_input($HTTP_POST_VARS['values_id']);
$value_price = tep_db_prepare_input($HTTP_POST_VARS['value_price']);
$price_prefix = tep_db_prepare_input($HTTP_POST_VARS['price_prefix']);
$attributes_sort = tep_db_prepare_input($HTTP_POST_VARS['attributes_sort']);

tep_db_query("insert into " . TABLE_PRODUCTS_ATTRIBUTES . " values ('', '" . (int)$products_id . "', '" . (int)$options_id . "', '" . (int)$values_id . "', '" . tep_db_input($value_price) . "', '" . tep_db_input($price_prefix) . "', '" . (int)$attributes_sort . "')");

if (DOWNLOAD_ENABLED == 'true') {
$products_attributes_id = tep_db_insert_id();

the products_attributes_id is not added until the

 

so therefore not these fields:

 

products_attributes_id

products_id

options_id

values_id

values_price

price_prefix

attributes_sort

 

which leaves the singular field sort order this can be added to the code or the field deleted from the table as there is an attributes_sort

Edited by 241

No longer giving free advice. Please place deposit in meter slot provided.  Individual: [=] SME: [==] Corporation: [===]
If deposit does not fit one of the slots provided then you are asking too much! :P

Is your Osc dated try Phoenix  raising oscommerce from the ashes.

Link to comment
Share on other sites

I have add this line of code in my code and nothing, i have add it in tvo places and nothing :'(

        $sort_order = tep_db_prepare_input($HTTP_POST_VARS['sort_order']);

I maybe did not understand your Respond.

 

I add it to

 case 'add_product_attributes':
       $products_id = tep_db_prepare_input($HTTP_POST_VARS['products_id']);
       $options_id = tep_db_prepare_input($HTTP_POST_VARS['options_id']);
       $values_id = tep_db_prepare_input($HTTP_POST_VARS['values_id']);
       $value_price = tep_db_prepare_input($HTTP_POST_VARS['value_price']);
       $price_prefix = tep_db_prepare_input($HTTP_POST_VARS['price_prefix']);
       $attributes_sort = tep_db_prepare_input($HTTP_POST_VARS['attributes_sort']);
       $sort_order = tep_db_prepare_input($HTTP_POST_VARS['sort_order']);

 

and

 

case 'update_product_attribute':
       $products_id = tep_db_prepare_input($HTTP_POST_VARS['products_id']);
       $options_id = tep_db_prepare_input($HTTP_POST_VARS['options_id']);
       $values_id = tep_db_prepare_input($HTTP_POST_VARS['values_id']);
       $value_price = tep_db_prepare_input($HTTP_POST_VARS['value_price']);
       $price_prefix = tep_db_prepare_input($HTTP_POST_VARS['price_prefix']);
       $attribute_id = tep_db_prepare_input($HTTP_POST_VARS['attribute_id']);
       $attributes_sort = tep_db_prepare_input($HTTP_POST_VARS['attributes_sort']);
       $sort_order = tep_db_prepare_input($HTTP_POST_VARS['sort_order']);

== EasyPHP 1.7

== www.easyphp.org

== apache 1.3.27 - php 4.3.3 - mysql 4.0.15 - phpmyadmin 2.5.3

 

 

et

==osCommerce 2.2-MS2

==PHP Version 4.3.8 (Zend : 1.3.0)

==Apache/2.0.50 (Fedora)

 

et

autres MachinTruk... :-)

Link to comment
Share on other sites

  • 2 weeks later...

Hi folks did you fix your attributes problem? If you are still puzzling over it I was able to fix mine... well I think it is fixed - I can add attributes again and haven't encountered any ill effects.

 

I am using both Attributes Sort v1 and Attributes Copier 0.6. I received that same error "1136 - Column count doesn't match value count at row 1". After taking a look at my DB there seems to be one more column that needs to be given a number.

 

So I changed this (approx line 54):

      case 'add_product_attributes':
       $products_id = tep_db_prepare_input($HTTP_POST_VARS['products_id']);
       $options_id = tep_db_prepare_input($HTTP_POST_VARS['options_id']);
       $values_id = tep_db_prepare_input($HTTP_POST_VARS['values_id']);
       $value_price = tep_db_prepare_input($HTTP_POST_VARS['value_price']);
       $price_prefix = tep_db_prepare_input($HTTP_POST_VARS['price_prefix']);
       $attributes_sort = tep_db_prepare_input($HTTP_POST_VARS['attributes_sort']);

       tep_db_query("insert into " . TABLE_PRODUCTS_ATTRIBUTES . " values ('', '" . (int)$products_id . "', '" . (int)$options_id . "', '" . (int)$values_id . "', '" . tep_db_input($value_price) . "', '" . tep_db_input($price_prefix) . "', '" . (int)$attributes_sort . "')");

 

To:

      case 'add_product_attributes':
       $products_id = tep_db_prepare_input($HTTP_POST_VARS['products_id']);
       $options_id = tep_db_prepare_input($HTTP_POST_VARS['options_id']);
       $values_id = tep_db_prepare_input($HTTP_POST_VARS['values_id']);
       $value_price = tep_db_prepare_input($HTTP_POST_VARS['value_price']);
       $price_prefix = tep_db_prepare_input($HTTP_POST_VARS['price_prefix']);
       $attributes_sort = tep_db_prepare_input($HTTP_POST_VARS['attributes_sort']);
 $sort_order = tep_db_prepare_input($HTTP_POST_VARS['sort_order']);

       tep_db_query("insert into " . TABLE_PRODUCTS_ATTRIBUTES . " values ('', '" . (int)$products_id . "', '" . (int)$options_id . "', '" . (int)$values_id . "', '" . tep_db_input($value_price) . "', '" . tep_db_input($price_prefix) . "', '" . (int)$attributes_sort . "', '" . (int)$sort_order . "')");

 

And now it works.

 

-Alane

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...