Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Show extra data on page


Takataka

Recommended Posts

Posted

I've installed oscommerce and ultrapics with lightbox. Each additional image is a different product design and I'd like to be able to place a name under each additional thumb nail so that when my shoppers are selecting which design they want, it's not confusing which design they are choosing. Instead of using the admin section i have manually edited my MySQL database and added a new column for the name I want to display. I've then added the name at the start of product_info.php where it defines the db query. As shown below.

 

$product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, p.products_image_med, p.products_image_lrg, p.products_name_1, p.products_image_sm_1, p.products_image_xl_1, p.products_add_1, p.products_image_sm_2, p.products_image_xl_2, p.products_image_sm_3, p.products_image_xl_3, p.products_image_sm_4, p.products_image_xl_4, p.products_image_sm_5, p.products_image_xl_5, p.products_image_sm_6, p.products_image_xl_6, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");

 

The "p.products_name_1" is the name of my new column under the products tab in my database. Unfortunately though, when I try and display this I just get blank text. There's a space where it wants to display it, but no actual text. I can display the product_id in the space I have chosen for the name, but not my new bit of data.

 

I'm fairly new to this, but not a complete idiot. I feel that I am close, but not close enough. I've defined the extra column as varchar with a length of 32, and NULL as Yes.

 

Any help would be greatly appreciated!!

 

Thanks in advance.

Posted

Have you checked your storing the data correctly (use browse in phpMyAdmin)

Sam

 

Remember, What you think I ment may not be what I thought I ment when I said it.

 

Contributions:

 

Auto Backup your Database, Easy way

 

Multi Images with Fancy Pop-ups, Easy way

 

Products in columns with multi buy etc etc

 

Disable any Category or Product, Easy way

 

Secure & Improve your account pages et al.

Posted
Have you checked your storing the data correctly (use browse in phpMyAdmin)

 

Yea I have and I think it's right. The data is certainly there. Any other thoughts??

Posted
Would it not be easier to add it to the actual image?

Then you would not have to worry about this

Yea could do that, but would rather get this working. That might be a last resort...

Posted

perhaps your coding is wrong, post the code from query to output.

Sam

 

Remember, What you think I ment may not be what I thought I ment when I said it.

 

Contributions:

 

Auto Backup your Database, Easy way

 

Multi Images with Fancy Pop-ups, Easy way

 

Products in columns with multi buy etc etc

 

Disable any Category or Product, Easy way

 

Secure & Improve your account pages et al.

Posted
perhaps your coding is wrong, post the code from query to output.

 

Cheers for the help. Have posted the whole product_info.php. Probably is wrong, as I've only dabbled a little bit. The new column is called "products_name_1"

 

There's definitly data in the database and the type is set as varchar with no null. Appreciate the help.

 

?php

/*

 $Id: product_info.php 1739 2007-12-20 00:52:16Z hpdl $



 osCommerce, Open Source E-Commerce Solutions

 [url="http://www.oscommerce.com"]http://www.oscommerce.com[/url]



 Copyright © 2003 osCommerce



 Released under the GNU General Public License

*/



 require('includes/application_top.php');



 require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRODUCT_INFO);



 $product_check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");

 $product_check = tep_db_fetch_array($product_check_query);

?>

<!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>

<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">

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

<link rel="stylesheet" href="lightbox.css" type="text/css" media="screen" />

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

function popupWindow(url) {

 window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,res
izable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,le
ft=150')

}

//--></script>

<script type="text/javascript" src="lightbox/prototype.js"></script>

<script type="text/javascript" src="lightbox/scriptaculous.js?load=effects"></script>

<script type="text/javascript" src="lightbox/lightbox.js"></script>

<script type="text/javascript" src="lightbox/builder.js"></script>

</head>

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

<!-- header //-->

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

<!-- header_eof //-->



<!-- body //-->

<table width="1000" align="center" bordercolor="#666666" bgcolor="#FFFFFF" class="taka">

 <tr>

   <!-- body_text //-->

   <td width="100%" valign="top"><?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product')); ?><table border="0" width="100%" cellspacing="0" cellpadding="0">

<?php

 if ($product_check['total'] < 1) {

?>

     <tr>

       <td><?php new infoBox(array(array('text' => TEXT_PRODUCT_NOT_FOUND))); ?></td>
     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
     </tr>

     <tr>

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

         <tr class="infoBoxContents">

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

             <tr>

               <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

               <td align="right"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td>

               <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
             </tr>

           </table></td>
         </tr>

       </table></td>
     </tr>

<?php

 } else {

// BOF MaxiDVD: Modified For Ultimate Images Pack!

   $product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, p.products_image_med, p.products_image_lrg, p.products_name_1, p.products_image_sm_1, p.products_image_xl_1, p.products_image_sm_2, p.products_image_xl_2, p.products_image_sm_3, p.products_image_xl_3, p.products_image_sm_4, p.products_image_xl_4, p.products_image_sm_5, p.products_image_xl_5, p.products_image_sm_6, p.products_image_xl_6, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");

// EOF MaxiDVD: Modified For Ultimate Images Pack!

   $product_info = tep_db_fetch_array($product_info_query);



   tep_db_query("update " . TABLE_PRODUCTS_DESCRIPTION . " set products_viewed = products_viewed+1 where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and language_id = '" . (int)$languages_id . "'");



   if ($new_price = tep_get_products_special_price($product_info['products_id'])) {

     $products_price = '<s>' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</s> <span class="productSpecialPrice">' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>';

   } else {

     $products_price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id']));

   }



   if (tep_not_null($product_info['products_model'])) {

     $products_name = $product_info['products_name'] . '<br><span class="smallText">[' . $product_info['products_model'] . ']</span>';

   } else {

     $products_name = $product_info['products_name'];

   }

?>

     <tr>

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

         <tr>

           <td class="pageHeading" valign="top"><?php echo $products_name; ?></td>



           <td class="pageHeading" align="right" valign="top"><?php echo $products_price; ?></td>
         </tr>

       </table></td>
     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
     </tr>

     <tr>

       <td class="main">

<?php

   if (tep_not_null($product_info['products_image'])) {

?>
<?php

   }

?>

         <p><?php echo stripslashes($product_info['products_description']); ?></p>

<?php

   $products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "'");

   $products_attributes = tep_db_fetch_array($products_attributes_query);

   if ($products_attributes['total'] > 0) {

?>

         <table border="0" cellspacing="0" cellpadding="2">

           <tr>

             <td class="main" colspan="3"><?php echo TEXT_PRODUCT_OPTIONS; ?></td>
           </tr>

<?php

     $products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "' order by popt.products_options_name");

     while ($products_options_name = tep_db_fetch_array($products_options_name_query)) {

       $products_options_array = array();

       $products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pa.options_id = '" . (int)$products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)$languages_id . "'");

       while ($products_options = tep_db_fetch_array($products_options_query)) {

         $products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']);

         if ($products_options['options_values_price'] != '0') {

           $products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') ';

         }

       }



       if (isset($cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']])) {

         $selected_attribute = $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']];

       } else {

         $selected_attribute = false;

       }

?>

           <tr>

             <td width="17" class="main"><?php echo $products_options_name['products_options_name'] . ':'; ?></td>

             <td width="17" class="main"><?php echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute); ?></td>
             <td width="77" class="main"><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td>
           </tr>

<?php

     }

?>
         </table>

<?php

   }

?>

       <table border="0" cellspacing="0" cellpadding="2" align="center">
         <tr>
           <td height="40" align="center" class="smallText"><!-- // BOF MaxiDVD: Modified For Ultimate Images Pack! //-->
               <?php

if ($product_info['products_image_med']!='') {

         $new_image = $product_info['products_image_med'];

         $image_width = MEDIUM_IMAGE_WIDTH;

         $image_height = MEDIUM_IMAGE_HEIGHT;

        } else {

         $new_image = $product_info['products_image'];

         $image_width = SMALL_IMAGE_WIDTH;

         $image_height = SMALL_IMAGE_HEIGHT;}?>
               <!-- // Ultimate Images Pack 2.04 LightBox fix //-->
               <?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_image_lrg']) . '" rel="lightbox" title="' . $product_info['products_id'] .'">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], $product_info['products_name'], ULT_THUMB_IMAGE_WIDTH, ULT_THUMB_IMAGE_HEIGHT, 'hspace="1" vspace="1"') . '<br>' . $product_info['products_name_1'] . '<br>' . tep_image_button('image_enlarge.gif', TEXT_CLICK_TO_ENLARGE) . '</a>'; ?>
               <!-- // EOF MaxiDVD: Modified For Ultimate Images Pack! //-->            </td>
         </tr>
       </table></td>
     </tr>



<?php

// BOF MaxiDVD: Modified For Ultimate Images Pack!

if (ULTIMATE_ADDITIONAL_IMAGES == 'enable') { include(DIR_WS_MODULES . 'additional_images.php'); }

// EOF MaxiDVD: Modified For Ultimate Images Pack!

; ?>



     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
     </tr>

<?php

   $reviews_query = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'");

   $reviews = tep_db_fetch_array($reviews_query);

   if ($reviews['count'] > 0) {

?>

     <tr>

       <td class="main"><?php echo TEXT_CURRENT_REVIEWS . ' ' . $reviews['count']; ?></td>
     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
     </tr>

<?php

   }



   if (tep_not_null($product_info['products_url'])) {

?>

     <tr>

       <td class="main"><?php echo sprintf(TEXT_MORE_INFORMATION, tep_href_link(FILENAME_REDIRECT, 'action=url&goto=' . urlencode($product_info['products_url']), 'NONSSL', true, false)); ?></td>
     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
     </tr>

<?php

   }



   if ($product_info['products_date_available'] > date('Y-m-d H:i:s')) {

?>

     <tr>


     </tr>

<?php

   } else {

?>

     <tr>


     </tr>

<?php

   }

?>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
     </tr>

     <tr>

       <td> </td>
     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
     </tr>

     <tr>

       <td>

<?php 

   if ((USE_CACHE == 'true') && empty($SID)) {

     echo tep_cache_also_purchased(3600);

   } else {

     include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS);

   }

 }

?>        </td>
     </tr>

   </table>
  </td>

<!-- body_text_eof //-->
 </tr>
</table>

<!-- body_eof //-->



<!-- footer //-->

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

<!-- footer_eof //-->

<br>

</body>

</html>

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


Posted

I can't see anything obvious there, you've done quite a few mods I see.

 

One thought osC stores descriptions in a seperate table to the data, your not storing in one table & reading from the other??

 

ie pd.products_name_1 not p.products_name_1

Sam

 

Remember, What you think I ment may not be what I thought I ment when I said it.

 

Contributions:

 

Auto Backup your Database, Easy way

 

Multi Images with Fancy Pop-ups, Easy way

 

Products in columns with multi buy etc etc

 

Disable any Category or Product, Easy way

 

Secure & Improve your account pages et al.

Posted
I can't see anything obvious there, you've done quite a few mods I see.

 

One thought osC stores descriptions in a seperate table to the data, your not storing in one table & reading from the other??

 

ie pd.products_name_1 not p.products_name_1

I've ended up storing the name in the product_descriptions table and defining pd. instead of p. and it's fixed the problem. Can't think why it would matter, but it works so I'm not complaining. Thanks for the help.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...