<%@page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*"%> <%@ include file="Connections/con_krusty.jsp" %> <%! public String GetYear(String cadena) { String year; String dummy1; String dummy2; if (cadena.length() == 0) return cadena; year = cadena.substring(cadena.lastIndexOf(" ")+1); return year; } %> <%! public String TextBinding(Object cadena1) { String dummy1; String cadena; cadena = (String)cadena1; if (cadena.length() == 0) return cadena; if(cadena.equals("MM")) return("Mass Market Paperback"); else if(cadena.equals("TP")) return("Trade Paper"); else if(cadena.equals("HC")) return("Hardcover"); else if(cadena.equals("LB")) return("Library Binding"); else if(cadena.equals("AC")) return("Audiocassette"); else if(cadena.equals("AD")) return("Audio CD"); else if(cadena.equals("VHS")) return("Videotape"); else if(cadena.equals("CL")) return("Calendar"); else if(cadena.equals("SP")) return("Spiral-Bound"); else if(cadena.equals("RB")) return("Ring-Bound"); else if(cadena.equals("CD")) return("CD-ROM"); else if(cadena.equals("PT")) return("Textbook"); else return("Other"); } %> <% long tmprice = 0; int rownum = 0; String tmp = ""; Driver DriverRecordset1 = (Driver)Class.forName(MM_con_krusty_DRIVER).newInstance(); Connection ConnRecordset1 = DriverManager.getConnection(MM_con_krusty_STRING,MM_con_krusty_USERNAME,MM_con_krusty_PASSWORD); PreparedStatement StatementRecordset1 = ConnRecordset1.prepareStatement("SELECT * FROM publicaciones p,tema_img t WHERE p.codigo=t.codigo and upper(t.tema) like ? ORDER BY FECHA_PUB desc",ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); StatementRecordset1.setString(1,"%"+request.getParameter("tema").toUpperCase()+"%"); ResultSet Recordset1 = StatementRecordset1.executeQuery(); while(Recordset1.next()){ Recordset1.last(); rownum = Recordset1.getRow(); } Recordset1.beforeFirst(); boolean Recordset1_isEmpty = !Recordset1.next(); boolean Recordset1_hasData = !Recordset1_isEmpty; Object Recordset1_data; int Recordset1_numRows = 0; %> <% int Repeat1__numRows = 5; int Repeat1__index = 0; Recordset1_numRows += Repeat1__numRows; %> <% // *** Recordset Stats, Move To Record, and Go To Record: declare stats variables int Recordset1_first = 1; int Recordset1_last = 1; int Recordset1_total = -1; if (Recordset1_isEmpty) { Recordset1_total = Recordset1_first = Recordset1_last = 0; } //set the number of rows displayed on this page if (Recordset1_numRows == 0) { Recordset1_numRows = 1; } %> <% String MM_paramName = ""; %> <% // *** Move To Record and Go To Record: declare variables ResultSet MM_rs = Recordset1; int MM_rsCount = Recordset1_total; int MM_size = Recordset1_numRows; String MM_uniqueCol = ""; MM_paramName = ""; int MM_offset = 0; boolean MM_atTotal = false; boolean MM_paramIsDefined = (MM_paramName.length() != 0 && request.getParameter(MM_paramName) != null); %> <% // *** Move To Record: handle 'index' or 'offset' parameter if (!MM_paramIsDefined && MM_rsCount != 0) { //use index parameter if defined, otherwise use offset parameter String r = request.getParameter("index"); if (r==null) r = request.getParameter("offset"); if (r!=null) MM_offset = Integer.parseInt(r); // if we have a record count, check if we are past the end of the recordset if (MM_rsCount != -1) { if (MM_offset >= MM_rsCount || MM_offset == -1) { // past end or move last if (MM_rsCount % MM_size != 0) // last page not a full repeat region MM_offset = MM_rsCount - MM_rsCount % MM_size; else MM_offset = MM_rsCount - MM_size; } } //move the cursor to the selected record int i; for (i=0; Recordset1_hasData && (i < MM_offset || MM_offset == -1); i++) { Recordset1_hasData = MM_rs.next(); } if (!Recordset1_hasData) MM_offset = i; // set MM_offset to the last possible record } %> <% // *** Move To Record: if we dont know the record count, check the display range if (MM_rsCount == -1) { // walk to the end of the display range for this page int i; for (i=MM_offset; Recordset1_hasData && (MM_size < 0 || i < MM_offset + MM_size); i++) { Recordset1_hasData = MM_rs.next(); } // if we walked off the end of the recordset, set MM_rsCount and MM_size if (!Recordset1_hasData) { MM_rsCount = i; if (MM_size < 0 || MM_size > MM_rsCount) MM_size = MM_rsCount; } // if we walked off the end, set the offset based on page size if (!Recordset1_hasData && !MM_paramIsDefined) { if (MM_offset > MM_rsCount - MM_size || MM_offset == -1) { //check if past end or last if (MM_rsCount % MM_size != 0) //last page has less records than MM_size MM_offset = MM_rsCount - MM_rsCount % MM_size; else MM_offset = MM_rsCount - MM_size; } } // reset the cursor to the beginning Recordset1.close(); Recordset1 = StatementRecordset1.executeQuery(); Recordset1_hasData = Recordset1.next(); MM_rs = Recordset1; // move the cursor to the selected record for (i=0; Recordset1_hasData && i < MM_offset; i++) { Recordset1_hasData = MM_rs.next(); } } %> <% // *** Move To Record: update recordset stats // set the first and last displayed record Recordset1_first = MM_offset + 1; Recordset1_last = MM_offset + MM_size; if (MM_rsCount != -1) { Recordset1_first = Math.min(Recordset1_first, MM_rsCount); Recordset1_last = Math.min(Recordset1_last, MM_rsCount); } // set the boolean used by hide region to check if we are on the last record MM_atTotal = (MM_rsCount != -1 && MM_offset + MM_size >= MM_rsCount); %> <% // *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters String MM_keepBoth,MM_keepURL="",MM_keepForm="",MM_keepNone=""; String[] MM_removeList = { "index", MM_paramName }; // create the MM_keepURL string if (request.getQueryString() != null) { MM_keepURL = '&' + request.getQueryString(); for (int i=0; i < MM_removeList.length && MM_removeList[i].length() != 0; i++) { int start = MM_keepURL.indexOf(MM_removeList[i]) - 1; if (start >= 0 && MM_keepURL.charAt(start) == '&' && MM_keepURL.charAt(start + MM_removeList[i].length() + 1) == '=') { int stop = MM_keepURL.indexOf('&', start + 1); if (stop == -1) stop = MM_keepURL.length(); MM_keepURL = MM_keepURL.substring(0,start) + MM_keepURL.substring(stop); } } } // add the Form variables to the MM_keepForm string if (request.getParameterNames().hasMoreElements()) { java.util.Enumeration items = request.getParameterNames(); while (items.hasMoreElements()) { String nextItem = (String)items.nextElement(); boolean found = false; for (int i=0; !found && i < MM_removeList.length; i++) { if (MM_removeList[i].equals(nextItem)) found = true; } if (!found && MM_keepURL.indexOf('&' + nextItem + '=') == -1) { MM_keepForm = MM_keepForm + '&' + nextItem + '=' + java.net.URLEncoder.encode(request.getParameter(nextItem)); } } } // create the Form + URL string and remove the intial '&' from each of the strings MM_keepBoth = MM_keepURL + MM_keepForm; if (MM_keepBoth.length() > 0) MM_keepBoth = MM_keepBoth.substring(1); if (MM_keepURL.length() > 0) MM_keepURL = MM_keepURL.substring(1); if (MM_keepForm.length() > 0) MM_keepForm = MM_keepForm.substring(1); %> <% // *** Move To Record: set the strings for the first, last, next, and previous links String MM_moveFirst,MM_moveLast,MM_moveNext,MM_movePrev; { String MM_keepMove = MM_keepBoth; // keep both Form and URL parameters for moves String MM_moveParam = "index="; // if the page has a repeated region, remove 'offset' from the maintained parameters if (MM_size > 1) { MM_moveParam = "offset="; int start = MM_keepMove.indexOf(MM_moveParam); if (start != -1 && (start == 0 || MM_keepMove.charAt(start-1) == '&')) { int stop = MM_keepMove.indexOf('&', start); if (start == 0 && stop != -1) stop++; if (stop == -1) stop = MM_keepMove.length(); if (start > 0) start--; MM_keepMove = MM_keepMove.substring(0,start) + MM_keepMove.substring(stop); } } // set the strings for the move to links StringBuffer urlStr = new StringBuffer(request.getRequestURI()).append('?').append(MM_keepMove); if (MM_keepMove.length() > 0) urlStr.append('&'); urlStr.append(MM_moveParam); MM_moveFirst = urlStr + "0"; MM_moveLast = urlStr + "-1"; MM_moveNext = urlStr + Integer.toString(MM_offset+MM_size); MM_movePrev = urlStr + Integer.toString(Math.max(MM_offset-MM_size,0)); } %> <%! public String DoDateTime(java.lang.Object aObject,int nNamedFormat,java.util.Locale aLocale) throws Exception{ if ((aObject != null) && (aObject instanceof java.util.Date)){ if (aLocale!=null){ java.text.DateFormat df = java.text.DateFormat.getDateInstance(nNamedFormat,aLocale); return df.format(aObject); } else{ java.text.DateFormat df = java.text.DateFormat.getDateInstance(nNamedFormat); return df.format(aObject); } } return ""; } %> CIAT - PRODUCTS <% while ((Recordset1_hasData)&&(Repeat1__numRows-- != 0)) { %> <% Driver DriverRecordset2 = (Driver)Class.forName(MM_con_krusty_DRIVER).newInstance(); Connection ConnRecordset2 = DriverManager.getConnection(MM_con_krusty_STRING,MM_con_krusty_USERNAME,MM_con_krusty_PASSWORD); PreparedStatement StatementRecordset2 = ConnRecordset2.prepareStatement("SELECT * FROM LINKS_EN WHERE CODIGO=?"); StatementRecordset2.setString(1,(String)Recordset1.getObject("CODIGO")); ResultSet Recordset2 = StatementRecordset2.executeQuery(); boolean Recordset2_isEmpty = !Recordset2.next(); boolean Recordset2_hasData = !Recordset2_isEmpty; Object Recordset2_data; int Recordset2_numRows = 0; %> <% Repeat1__index++; Recordset1_hasData = Recordset1.next(); } %>

< Back

Number of Products: <%=rownum%>

   

<%if ((Recordset1_data = Recordset1.getObject("URL_FOTO"))==null || Recordset1.wasNull()) out.print("

"); else out.print("

<%if(Recordset1.getLong("VENTA_PD")!=0){ /*out.print("

How to Order

"); out.print(""); out.print(""); out.print("Credit Card

");*/ out.print("

"); out.print("Methods of Payment

"); out.print("
"); } %> <% while(Recordset2_hasData){ tmp = (String)Recordset2.getObject("URL"); %> <% Recordset2_hasData = Recordset2.next(); } %> <% Recordset2.close(); ConnRecordset2.close(); %>
.
<%if(tmp.indexOf("pdf") > -1){//imagen pdf%> <%}else{//imagen hyperlink%> <%}%> "><%=(((Recordset2_data = Recordset2.getObject("DESCRIPCION"))==null || Recordset2.wasNull())?"":Recordset2_data) %>

<%if ((Recordset1_data = Recordset1.getObject("URL"))==null || Recordset1.wasNull()) out.print(""); else out.print("Web Site"); %>

" align="left">

Institution/Author: <%=(((Recordset1_data = Recordset1.getObject("AUTHOR"))==null || Recordset1.wasNull())?"":Recordset1_data)%>
Publisher: <%=(((Recordset1_data = Recordset1.getObject("publisher"))==null || Recordset1.wasNull())?"":Recordset1_data)%>
Year: <%= GetYear(DoDateTime((((Recordset1_data = Recordset1.getObject("FECHA_PUB"))==null || Recordset1.wasNull())?"":Recordset1_data), java.text.DateFormat.LONG, java.util.Locale.CANADA)) %>
Language: <%=(((Recordset1_data = Recordset1.getObject("LANGUAGE_EN"))==null || Recordset1.wasNull())?"":Recordset1_data)%>
<% tmprice = (long)Recordset1.getLong("VENTA_PD"); if(tmprice != 0){ %> Price: US$<%=tmprice%> 
<%}else{%> Price: free  
<% } tmprice=0; tmprice = (long)Recordset1.getLong("VENTA_COL"); if(tmprice != 0){ %> Price Colombia (in pesos): $<%=tmprice%> 
<%}else{%> Price Colombia (in pesos): free  
<%}%> Scientific Contact: "><%=(((Recordset1_data = Recordset1.getObject("CONTACTO"))==null || Recordset1.wasNull())?"":Recordset1_data)%>
<% if(tmprice != 0){ %> Distribution Contact: Luis Alberto García (l.garcia-ciat@cgiar.org)
<% } %>

<%=(((Recordset1_data = Recordset1.getObject("DES_PUB_EN"))==null || Recordset1.wasNull())?"":Recordset1_data)%> 

<% if(Recordset1.getObject("keywords_en")==null) out.print(" "); else out.print("Keywords: "+Recordset1.getObject("keywords_en")+"
"); %>

<% if(Recordset1.getObject("TIPO_PROD")== "P") if(Recordset1.getObject("ISBN")==null) out.print(" "); else out.print("ISSN:"+Recordset1.getObject("ISBN")); else if(Recordset1.getObject("ISBN")==null) out.print(" "); else out.print("ISBN:"+Recordset1.getObject("ISBN")); %>


 
 
  Back Next

Copyright © Centro Internacional de Agricultura Tropical 2001.  All rights reserved.

<% Recordset1.close(); ConnRecordset1.close(); %>