Foros del Web » Programando para Internet » PHP »

Parse error (No entiendo nada)

Estas en el tema de Parse error (No entiendo nada) en el foro de PHP en Foros del Web. Me da este error: Parse error: parse error, unexpected ')', expecting ',' or ';' ¿Me podeis explicar que hago mal? El código es este: Código ...
  #1 (permalink)  
Antiguo 28/02/2008, 16:04
 
Fecha de Ingreso: febrero-2008
Mensajes: 35
Antigüedad: 16 años, 1 mes
Puntos: 0
Parse error (No entiendo nada)

Me da este error: Parse error: parse error, unexpected ')', expecting ',' or ';'

¿Me podeis explicar que hago mal?

El código es este:
Código PHP:
<tr><td colspan=2 align=left><a href="' . tep_draw_hidden_field('products_id=' . $new_products['products_id']) . $new_products['products_weight'] == 0) . '">' . tep_image_submit('frete_gratis.gif') . '</a
Gracias de antemano por vuestra ayuda.

Slds.
  #2 (permalink)  
Antiguo 28/02/2008, 16:32
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Parse error (No entiendo nada)

Hola Oracio. El error te salta porque no has puesto ; al final del php. He modificado tu linia para que no te dé ese error, prueba si te funciona.

Cita:
echo "<tr><td colspan=2 align=left><a href=".tep_draw_hidden_field('products_id='.$new_p roducts['products_id']).$new_products['products_weight'] == 0).">". tep_image_submit('frete_gratis.gif')."</a>";
Un saludo
  #3 (permalink)  
Antiguo 28/02/2008, 17:16
 
Fecha de Ingreso: febrero-2008
Mensajes: 35
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Parse error (No entiendo nada)

Sigue dando error, ahora da este:Parse error: parse error, unexpected T_STRING, expecting ',' or ';'
y si quito el echo, el error es este:Parse error: parse error, unexpected T_STRING

Sigo sin comprenderlo; seguido pego el bloque completo donde va la línea a la que hago referencia, a ver si así es más fácil y alguien echa un cable.
Código PHP:
  while ($new_products tep_db_fetch_array($new_products_query)) {
   
$new_products['products_name'] = tep_get_products_name($new_products['products_id']);
   
$product_query tep_db_query("select products_description  from " TABLE_PRODUCTS_DESCRIPTION " where products_id = '" . (int)$new_products['products_id'] . "' and language_id = '" . (int)"'");
   
$product tep_db_fetch_array($product_query);
   
$new_products['products_description'] = $product['products_description'];
   echo 
'

             <td width=208 valign=top align=center>
               <table cellspacing=0 cellpadding=0 width=200 align=center>
                <tr><td width=90 align=center valign=top><a href="' 
tep_href_link(FILENAME_PRODUCT_INFO'products_id=' $new_products['products_id']) . '">' tep_image(DIR_WS_IMAGES $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTHSMALL_IMAGE_HEIGHT'vspace=0') . '</a></td>
                <td valign=top>
                  <table cellspacing=0 cellpadding=0>
                   <tr><td><a height=35 valign=middle   class=ch9 href="' 
tep_href_link(FILENAME_PRODUCT_INFO'products_id=' $new_products['products_id']) . '">' $new_products['products_name'] . '</a></td></tr>
                   
                   <tr><td class=ch10 height=35 valign=middle>'
.preg_replace('/\s\S*$/i'''substr($new_products['products_description'], 025)).' ...</td></tr>
                   <tr><td height=0></td></tr>
                   <tr><td><span class=ch11>precio:</span> <span class=ch8>'
.$currencies->display_price($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id'])).'</span> </td></tr>
                  </table>
                 </td>
                </tr>
                <tr><td height=20></td></tr>


                <tr><td colspan=2 align=left><a href="' 
tep_draw_hidden_field('products_id=' $new_products['products_id']) . $new_products['products_weight'] == 0) . '">' tep_image_submit('frete_gratis.gif') . '</a> 
        

                <tr><td colspan=2 align=right><a href="' 
tep_href_link(FILENAME_PRODUCT_INFO'products_id=' $new_products['products_id']) . '">' tep_image_button('detalles.gif') . '</a> <br></td></tr>
                <tr><td colspan=2 align=right><a href="' 
tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' $new_products['products_id']) . '">' tep_image_button('carrito.gif') . </a
        </
table>
             </
td
Gracias por vuestra ayuda.

Última edición por Oracio; 29/02/2008 a las 00:33 Razón: Referenciar mejor una linea
  #4 (permalink)  
Antiguo 28/02/2008, 20:14
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Parse error (No entiendo nada)

En una de las útlimas líneas, después de
Código PHP:
tep_image_button('carrito.gif') . 
imagino que debe ir una comilla simple '

Saludos,
  #5 (permalink)  
Antiguo 29/02/2008, 00:28
 
Fecha de Ingreso: febrero-2008
Mensajes: 35
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Parse error (No entiendo nada)

Gracias okram, pero el error está soalmente en la linea que indico al principio; es la que he puesto separada en el bloque para identificarla.

Slds.
  #6 (permalink)  
Antiguo 29/02/2008, 08:14
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Parse error (No entiendo nada)

Vuelvo a poner la linia:

Cita:
echo "<tr><td colspan='2' align='left'><a href=".tep_draw_hidden_field('products_id='.$new_p roducts['products_id'].$new_products['products_weight'] = 0)).">". tep_image_submit('frete_gratis.gif')."</a>";
Prueba asi.

Un saludo
  #7 (permalink)  
Antiguo 02/03/2008, 16:42
 
Fecha de Ingreso: febrero-2008
Mensajes: 35
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Parse error (No entiendo nada)

Dios, quiero llorar.................

He conseguido poner bien esa maldita línea, pero ahora resulta que no hace lo que yo quiero. Yo quiero que cuando un artículo de mi tienda esté marcado con peso=0, aparezca la imagen "frete_gratis.gif", si el peso no es =0 no debe aparecer esa imagen, sin embargo tal y como ha quedado la imagen aparece siempre en todos los artículos. Yo creí que esto era fácil, que esa línea me bastaría, xD.

El archivo completo no es muy largo, seguido lo pego completo a ver si alguien me ilumina; se que aquí hay gente muy buena en este tema.

Archivo completo, abro espacios entre la línea en cuestión para identificarla:
Código PHP:
<!-- new_products //-->
<?php

  
if ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) {
    
$new_products_query tep_db_query("select p.products_id, p.products_weight, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " TABLE_PRODUCTS " p left join " TABLE_SPECIALS " s on p.products_id = s.products_id where products_status = '1' order by p.products_date_added desc limit " MAX_DISPLAY_NEW_PRODUCTS);
  } else {
    
$new_products_query tep_db_query("select distinct p.products_id, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " TABLE_PRODUCTS " p left join " TABLE_SPECIALS " s on p.products_id = s.products_id, " TABLE_PRODUCTS_TO_CATEGORIES " p2c, " TABLE_CATEGORIES " c where p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and c.parent_id = '" . (int)$new_products_category_id "' and p.products_status = '1' order by p.products_date_added desc limit " MAX_DISPLAY_NEW_PRODUCTS);
  }
  
$row 0;
  
$col 0;
  echo 
'
    <table cellspacing=0 cellpadding=0 width=437 align=center>
     <tr><td background=images/m22.gif width=437 height=29 valign=top>
         <table cellspacing=0 cellpadding=0>
          <tr><td height=8></td></tr>
          <tr><td width=25></td><td class=ch6>Productos Destacados</td></tr>
         </table>
        </td></tr>
      <tr><td valign=top class=ch7>
           <table cellspacing=0 cellpadding=0 width=417 border=0 align=center>
            <tr><td height=13></td></tr>
             <tr>

      '
;

  while (
$new_products tep_db_fetch_array($new_products_query)) {
   
$new_products['products_name'] = tep_get_products_name($new_products['products_id']);
   
$product_query tep_db_query("select products_description  from " TABLE_PRODUCTS_DESCRIPTION " where products_id = '" . (int)$new_products['products_id'] . "' and language_id = '" . (int)"'");
   
$product tep_db_fetch_array($product_query);
   
$new_products['products_description'] = $product['products_description'];
 
   echo 
'

             <td width=208 valign=top align=center>
               <table cellspacing=0 cellpadding=0 width=200 align=center>
                <tr><td width=90 align=center valign=top><a href="' 
tep_href_link(FILENAME_PRODUCT_INFO'products_id=' $new_products['products_id']) . '">' tep_image(DIR_WS_IMAGES $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTHSMALL_IMAGE_HEIGHT'vspace=0') . '</a></td>
                <td valign=top>
                  <table cellspacing=0 cellpadding=0>
                   <tr><td><a height=35 valign=middle   class=ch9 href="' 
tep_href_link(FILENAME_PRODUCT_INFO'products_id=' $new_products['products_id']) . '">' $new_products['products_name'] . '</a></td></tr>
                   <tr><td class=ch10 height=35 valign=middle>'
.preg_replace('/\s\S*$/i'''substr($new_products['products_description'], 025)).' ...</td></tr>
                   <tr><td height=0></td></tr>
                   <tr><td><span class=ch11>precio:</span> <span class=ch8>'
.$currencies->display_price($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id'])).'</span> </td></tr>
                  </table>
                 </td>
                </tr>
                <tr><td height=20></td></tr>



                <tr><td colspan=2 align=left><a href="' 
. (tep_draw_hidden_field('products_id=' $new_products['products_id']) . $new_products['products_weight'] == 0) . '">' tep_image_submit('frete_gratis.gif'frete_gratis) . '</a>  


              
                <tr><td colspan=2 align=right><a href="' 
tep_href_link(FILENAME_PRODUCT_INFO'products_id=' $new_products['products_id']) . '">' tep_image_button('detalles.gif') . '</a> <br></td></tr>
                <tr><td colspan=2 align=right><a href="' 
tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' $new_products['products_id']) . '">' tep_image_button('carrito.gif') . '</a> 

        </table>
             </td>

        '
;
   
    
$col ++;
    if (
$col 1) {
      
$col 0;
      
$row ++;
      echo 
'

</tr>
             <tr><td height=5></td></tr>
              <tr><td colspan=3 valign=top>
               <table cellspacing=0 cellpadding=0>
               <tr><td width=200 height=1 background=images/m29.gif></td><td width=14></td> <td width=200 height=1 background=images/m29.gif></td></tr>
               </table>
              </td></tr>
              <tr><td height=5></td></tr>
              <tr>

           '
;
    } else echo 
'<td background=images/m09.gif width=1></td>';
  }

  echo 
'

                         </tr>
                        </table> 
         </td></tr>
        <tr><td><img src=images/m30.gif width=438 height=7></td></tr>
       </table>

       '
;

?>
<!-- new_products_eof //-->
Gracias a todos por vuestra ayuda.
  #8 (permalink)  
Antiguo 03/03/2008, 07:30
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Parse error (No entiendo nada)

Has probado haciendo una sentencia if? Por ejemplo:

if($peso==0){ linia que muestra imagen}
else{no muestra imagen}

Es complicado para mi entender tu código, ademas estas utilizando la etiqueta <a> para mostrar imagenes, cosa que tampoco entiendo. Yo lo que haria es utilizar una sentencia if que si el valor de la variable es 0 no muestre la imagen, en cambio si es diferente de 0 si la muestre. Siento no poderte ser de más ayuda por ahora.

Un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:54.