¿Necesitas ayuda con PHP y MySQL para mostrar por separado los puntos 2

  • barry
  • Graduate
  • Graduate
  • Avatar de Usuario
  • Registrado: Ene 28, 2005
  • Mensajes: 115
  • Loc: scotland
  • Status: Offline

Nota Septiembre 30th, 2009, 11:00 am

Hi All

Estoy modding OsCommerce y se han topado con un pequeño problema con un mod.

Estoy tratando de mostrar 2 productos diferentes en una presentación de diapositivas desapareciendo. La presentación está diseñada sólo para mostrar 1 producto en un momento, pero quiero mostrar 2, que es una virtud de Neath la otra.

Hasta ahora tengo este:



PHP Código: [ Select ]
<?php
/*Pick specials*/
$special_products_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_price, p.products_tax_class_id, p.products_image, s.specials_new_products_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_SPECIALS . " s where p.products_status = '1' and p.products_id = s.products_id and pd.products_id = s.products_id and pd.language_id = '" . (int)$languages_id . "' and s.status = '1' order by rand() limit " . PCS_MAX_DISPLAY_SPECIALS);
 
 
while ($special_product = tep_db_fetch_array($special_products_query)) {
 
$sql = 'SELECT `products_description` FROM `products_description` WHERE products_id ='. $special_product['products_id'].' && language_id='.(int)$languages_id;
   $description_query = tep_db_query($sql);
   $description = mysql_fetch_array($description_query, MYSQL_ASSOC);        
   $description['products_description'] = substr($description['products_description'], 0, 150);
   $desc_len = strlen($description['products_description']);
$description['products_description'][$desc_len-1] = '.';
   $description['products_description'][$desc_len-2] = '.';
   $description['products_description'][$desc_len-2] = '.';
 
$description['products_description']  = strip_tags($description['products_description']);
 
 
// this opens the main div which is part of an Jquery slide show
   echo '<div class="PCSChild" alt="'.  htmlspecialchars(html_entity_decode(''))  .'">';
   
   
   
   
   
   // this section shows a product
   echo'<div class="actualbox><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $special_product['products_id']) . '"><img style="float:right;"  src="show_resized_image.php?filename='.DIR_WS_IMAGES . $special_product['products_image'].'&width='.PCS_MAX_IMAGE_WIDTH.'&height='.PCS_MAX_IMAGE_HEIGHT.'" alt="'.$special_product['products_name'].'"><h1>'.$special_product['products_name'].'</h1></a>'.$description['products_description'].'<b style="position:absolute; bottom:0px; right:10px;"><s style="color:red;">'.$currencies->display_price($special_product['products_price'], tep_get_tax_rate($special_product['products_tax_class_id'])).'</s> '.$currencies->display_price($special_product['specials_new_products_price'], tep_get_tax_rate($special_product['products_tax_class_id'])).'</b></div>';
   
   
   // i want this bit to show a different product
   
echo'<div class="actualbox"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $special_product['products_id']) . '"><img style="float:right;"  src="show_resized_image.php?filename='.DIR_WS_IMAGES . $special_product['products_image'].'&width='.PCS_MAX_IMAGE_WIDTH.'&height='.PCS_MAX_IMAGE_HEIGHT.'" alt="'.$special_product['products_name'].'"><h1>'.$special_product['products_name'].'</h1></a>'.$description['products_description'].'<b style="position:absolute; bottom:0px; right:10px;"><s style="color:red;">'.$currencies->display_price($special_product['products_price'], tep_get_tax_rate($special_product['products_tax_class_id'])).'</s> '.$currencies->display_price($special_product['specials_new_products_price'], tep_get_tax_rate($special_product['products_tax_class_id'])).'</b></div>';
 
 
//this closes the jquery slide
 
   echo'</div>';
   
}
?>
  1. <?php
  2. /*Pick specials*/
  3. $special_products_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_price, p.products_tax_class_id, p.products_image, s.specials_new_products_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_SPECIALS . " s where p.products_status = '1' and p.products_id = s.products_id and pd.products_id = s.products_id and pd.language_id = '" . (int)$languages_id . "' and s.status = '1' order by rand() limit " . PCS_MAX_DISPLAY_SPECIALS);
  4.  
  5.  
  6. while ($special_product = tep_db_fetch_array($special_products_query)) {
  7.  
  8. $sql = 'SELECT `products_description` FROM `products_description` WHERE products_id ='. $special_product['products_id'].' && language_id='.(int)$languages_id;
  9.    $description_query = tep_db_query($sql);
  10.    $description = mysql_fetch_array($description_query, MYSQL_ASSOC);        
  11.    $description['products_description'] = substr($description['products_description'], 0, 150);
  12.    $desc_len = strlen($description['products_description']);
  13. $description['products_description'][$desc_len-1] = '.';
  14.    $description['products_description'][$desc_len-2] = '.';
  15.    $description['products_description'][$desc_len-2] = '.';
  16.  
  17. $description['products_description']  = strip_tags($description['products_description']);
  18.  
  19.  
  20. // this opens the main div which is part of an Jquery slide show
  21.    echo '<div class="PCSChild" alt="'.  htmlspecialchars(html_entity_decode(''))  .'">';
  22.    
  23.    
  24.    
  25.    
  26.    
  27.    // this section shows a product
  28.    echo'<div class="actualbox><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $special_product['products_id']) . '"><img style="float:right;"  src="show_resized_image.php?filename='.DIR_WS_IMAGES . $special_product['products_image'].'&width='.PCS_MAX_IMAGE_WIDTH.'&height='.PCS_MAX_IMAGE_HEIGHT.'" alt="'.$special_product['products_name'].'"><h1>'.$special_product['products_name'].'</h1></a>'.$description['products_description'].'<b style="position:absolute; bottom:0px; right:10px;"><s style="color:red;">'.$currencies->display_price($special_product['products_price'], tep_get_tax_rate($special_product['products_tax_class_id'])).'</s> '.$currencies->display_price($special_product['specials_new_products_price'], tep_get_tax_rate($special_product['products_tax_class_id'])).'</b></div>';
  29.    
  30.    
  31.    // i want this bit to show a different product
  32.    
  33. echo'<div class="actualbox"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $special_product['products_id']) . '"><img style="float:right;"  src="show_resized_image.php?filename='.DIR_WS_IMAGES . $special_product['products_image'].'&width='.PCS_MAX_IMAGE_WIDTH.'&height='.PCS_MAX_IMAGE_HEIGHT.'" alt="'.$special_product['products_name'].'"><h1>'.$special_product['products_name'].'</h1></a>'.$description['products_description'].'<b style="position:absolute; bottom:0px; right:10px;"><s style="color:red;">'.$currencies->display_price($special_product['products_price'], tep_get_tax_rate($special_product['products_tax_class_id'])).'</s> '.$currencies->display_price($special_product['specials_new_products_price'], tep_get_tax_rate($special_product['products_tax_class_id'])).'</b></div>';
  34.  
  35.  
  36. //this closes the jquery slide
  37.  
  38.    echo'</div>';
  39.    
  40. }
  41. ?>



Como se puede ver en el php esto sólo muestra el mismo tema dos veces. Quiero ser capaz de mostrar 2 productos diferentes en vez de dos iguales.

Se puede ver en acción aquí

www punto bodytone2 dot Biz


Cualquier ayuda sería muy apreciada ;)
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Septiembre 30th, 2009, 11:00 am

  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de Usuario
  • Registrado: Jul 25, 2005
  • Mensajes: 2735
  • Loc: Nashville, TN
  • Status: Offline

Nota Septiembre 30th, 2009, 11:28 am

Creo que lo está haciendo de forma equivocada. AFIACT, no es necesario que la segunda parte en que - usted necesita encontrar en el theyre establecer el valor de PCS_MAX_DISPLAY_SPECIALS y el cambio que a partir de 1 a 2. El bucle while debe conseguir tanto en la pantalla para usted.
I'd love to change the world, but they won't give me the source code.
  • barry
  • Graduate
  • Graduate
  • Avatar de Usuario
  • Registrado: Ene 28, 2005
  • Mensajes: 115
  • Loc: scotland
  • Status: Offline

Nota Septiembre 30th, 2009, 11:39 am

no, no ése es el caso. El PCS_MAX_DISPLAY_SPECIALS se establece en 10. El resto de los listados se cargan a su vez, usando AJAX. Traté de conseguir que funcione haciendo% id id 2 entonces se muestran el primero y si no demuestran que el segundo, pero que no funcionó porque la consulta de base de datos ha alrtead sucedido. Yo estaba pensando en usar "select count de" y si es impar sólo muestran a continuación, ejecutar el extraño todo de nuevo y aun si su espectáculo, incluso aunque el código está en un largo y soy bastante seguro de que soy ladrando al árbol equivocado con esa idea de todos modos....
  • barry
  • Graduate
  • Graduate
  • Avatar de Usuario
  • Registrado: Ene 28, 2005
  • Mensajes: 115
  • Loc: scotland
  • Status: Offline

Nota Septiembre 30th, 2009, 11:40 am

Woo Hoo 100 puestos .. ha estado aquí 4 años aunque ;)
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de Usuario
  • Registrado: Jul 25, 2005
  • Mensajes: 2735
  • Loc: Nashville, TN
  • Status: Offline

Nota Septiembre 30th, 2009, 11:49 am

oooh, que debiera haber consultado en el enlace, lo siento. Veo que hay de nuevo con él ahora. Cada producto recibe su propio "slide". Sooo para usted...¿Por qué no eliminar la segunda sección, iniciar un repetidor sencillo de llevar la cuenta de su bucle de tiempo, y sólo hacen eco de la div de cierre si es después de una iteración de equilibrio? Que debe poner dos por diapositiva.

Código: [ Select ]
<?php
/*Pick specials*/
$special_products_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_price, p.products_tax_class_id, p.products_image, s.specials_new_products_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_SPECIALS . " s where p.products_status = '1' and p.products_id = s.products_id and pd.products_id = s.products_id and pd.language_id = '" . (int)$languages_id . "' and s.status = '1' order by rand() limit " . PCS_MAX_DISPLAY_SPECIALS);

$iter = 0;
while ($special_product = tep_db_fetch_array($special_products_query)) {
$iter++;
$sql = 'SELECT `products_description` FROM `products_description` WHERE products_id ='. $special_product['products_id'].' && language_id='.(int)$languages_id;
  $description_query = tep_db_query($sql);
  $description = mysql_fetch_array($description_query, MYSQL_ASSOC);  
  $description['products_description'] = substr($description['products_description'], 0, 150);
  $desc_len = strlen($description['products_description']);
$description['products_description'][$desc_len-1] = '.';
  $description['products_description'][$desc_len-2] = '.';
  $description['products_description'][$desc_len-2] = '.';

$description['products_description'] = strip_tags($description['products_description']);


// this opens the main div which is part of an Jquery slide show
  echo '<div class="PCSChild" alt="'. htmlspecialchars(html_entity_decode('')) .'">';
  
  
  
  
  
  // this section shows a product
  echo'<div class="actualbox><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $special_product['products_id']) . '"><img style="float:right;" src="show_resized_image.php?filename='.DIR_WS_IMAGES . $special_product['products_image'].'&width='.PCS_MAX_IMAGE_WIDTH.'&height='.PCS_MAX_IMAGE_HEIGHT.'" alt="'.$special_product['products_name'].'"><h1>'.$special_product['products_name'].'</h1></a>'.$description['products_description'].'<b style="position:absolute; bottom:0px; right:10px;"><s style="color:red;">'.$currencies->display_price($special_product['products_price'], tep_get_tax_rate($special_product['products_tax_class_id'])).'</s> '.$currencies->display_price($special_product['specials_new_products_price'], tep_get_tax_rate($special_product['products_tax_class_id'])).'</b></div>';
  
  
//this closes the jquery slide

  if($iter % 2 == 0) {
    echo'</div>';
  }
  
}
?>
  1. <?php
  2. /*Pick specials*/
  3. $special_products_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_price, p.products_tax_class_id, p.products_image, s.specials_new_products_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_SPECIALS . " s where p.products_status = '1' and p.products_id = s.products_id and pd.products_id = s.products_id and pd.language_id = '" . (int)$languages_id . "' and s.status = '1' order by rand() limit " . PCS_MAX_DISPLAY_SPECIALS);
  4. $iter = 0;
  5. while ($special_product = tep_db_fetch_array($special_products_query)) {
  6. $iter++;
  7. $sql = 'SELECT `products_description` FROM `products_description` WHERE products_id ='. $special_product['products_id'].' && language_id='.(int)$languages_id;
  8.   $description_query = tep_db_query($sql);
  9.   $description = mysql_fetch_array($description_query, MYSQL_ASSOC);  
  10.   $description['products_description'] = substr($description['products_description'], 0, 150);
  11.   $desc_len = strlen($description['products_description']);
  12. $description['products_description'][$desc_len-1] = '.';
  13.   $description['products_description'][$desc_len-2] = '.';
  14.   $description['products_description'][$desc_len-2] = '.';
  15. $description['products_description'] = strip_tags($description['products_description']);
  16. // this opens the main div which is part of an Jquery slide show
  17.   echo '<div class="PCSChild" alt="'. htmlspecialchars(html_entity_decode('')) .'">';
  18.   
  19.   
  20.   
  21.   
  22.   
  23.   // this section shows a product
  24.   echo'<div class="actualbox><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $special_product['products_id']) . '"><img style="float:right;" src="show_resized_image.php?filename='.DIR_WS_IMAGES . $special_product['products_image'].'&width='.PCS_MAX_IMAGE_WIDTH.'&height='.PCS_MAX_IMAGE_HEIGHT.'" alt="'.$special_product['products_name'].'"><h1>'.$special_product['products_name'].'</h1></a>'.$description['products_description'].'<b style="position:absolute; bottom:0px; right:10px;"><s style="color:red;">'.$currencies->display_price($special_product['products_price'], tep_get_tax_rate($special_product['products_tax_class_id'])).'</s> '.$currencies->display_price($special_product['specials_new_products_price'], tep_get_tax_rate($special_product['products_tax_class_id'])).'</b></div>';
  25.   
  26.   
  27. //this closes the jquery slide
  28.   if($iter % 2 == 0) {
  29.     echo'</div>';
  30.   }
  31.   
  32. }
  33. ?>
I'd love to change the world, but they won't give me the source code.
  • barry
  • Graduate
  • Graduate
  • Avatar de Usuario
  • Registrado: Ene 28, 2005
  • Mensajes: 115
  • Loc: scotland
  • Status: Offline

Nota Septiembre 30th, 2009, 12:04 pm

que el trabajo dosnt ninguno .. Lo hace sin embargo, muestran dos productos diferentes, pero nada más. La cosa es que los dos productos por separado necesidad de entrar en la capa de PCSChild al mismo tiempo, por lo que el diseño sería así:



principales div mantiene todo
btw tengo ponerlos en orden, pero como se puede ver en la consulta son aleatorias. Realmente no importa el orden, y si puedo conseguir que mi trabajo va a cambiar al azar a pedido, si se va a hacer la vida más sencilla.

Se desvanece en PCSChild

producto 1
Producto 2

final de faides PCSChild a cabo

Se desvanece en PCSChild

Producto 3
Producto 4

final de faides PCSChild a cabo

Se desvanece en PCSChild

Producto 5
Producto 6

final de faides PCSChild a cabo

y así sucesivamente hasta el final del bucle while

He intentado sólo tiene que añadir un 1 a la ID del segundo producto, pero que no funcionó

A pensar mal ir a ver alguna basura en la televisión ahora mismo hasta que mi cabeza se cuál es redonda sucediendo. Me encantaría escuchar sus sugerencias y aunque muchas gracias por la ayuda hasta la fecha!
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de Usuario
  • Registrado: Jul 25, 2005
  • Mensajes: 2735
  • Loc: Nashville, TN
  • Status: Offline

Nota Septiembre 30th, 2009, 12:07 pm

DOH - el primer partido - Me olvidé de la apertura. Pruebe esto:

Código: [ Select ]
<?php
/*Pick specials*/
$special_products_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_price, p.products_tax_class_id, p.products_image, s.specials_new_products_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_SPECIALS . " s where p.products_status = '1' and p.products_id = s.products_id and pd.products_id = s.products_id and pd.language_id = '" . (int)$languages_id . "' and s.status = '1' order by rand() limit " . PCS_MAX_DISPLAY_SPECIALS);

$iter = 0;
while ($special_product = tep_db_fetch_array($special_products_query)) {
$iter++;
$sql = 'SELECT `products_description` FROM `products_description` WHERE products_id ='. $special_product['products_id'].' && language_id='.(int)$languages_id;
  $description_query = tep_db_query($sql);
  $description = mysql_fetch_array($description_query, MYSQL_ASSOC);  
  $description['products_description'] = substr($description['products_description'], 0, 150);
  $desc_len = strlen($description['products_description']);
$description['products_description'][$desc_len-1] = '.';
  $description['products_description'][$desc_len-2] = '.';
  $description['products_description'][$desc_len-2] = '.';

$description['products_description'] = strip_tags($description['products_description']);


// this opens the main div which is part of an Jquery slide show
 if($iter % 2 == 1) {
    echo '<div class="PCSChild" alt="'. htmlspecialchars(html_entity_decode('')) .'">';
 }
  
  
  
  
    // this section shows a product
  echo'<div class="actualbox><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $special_product['products_id']) . '"><img style="float:right;" src="show_resized_image.php?filename='.DIR_WS_IMAGES . $special_product['products_image'].'&width='.PCS_MAX_IMAGE_WIDTH.'&height='.PCS_MAX_IMAGE_HEIGHT.'" alt="'.$special_product['products_name'].'"><h1>'.$special_product['products_name'].'</h1></a>'.$description['products_description'].'<b style="position:absolute; bottom:0px; right:10px;"><s style="color:red;">'.$currencies->display_price($special_product['products_price'], tep_get_tax_rate($special_product['products_tax_class_id'])).'</s> '.$currencies->display_price($special_product['specials_new_products_price'], tep_get_tax_rate($special_product['products_tax_class_id'])).'</b></div>';
  
  
//this closes the jquery slide

  if($iter % 2 == 0) {
    echo'</div>';
  }
  
}
?>
  1. <?php
  2. /*Pick specials*/
  3. $special_products_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_price, p.products_tax_class_id, p.products_image, s.specials_new_products_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_SPECIALS . " s where p.products_status = '1' and p.products_id = s.products_id and pd.products_id = s.products_id and pd.language_id = '" . (int)$languages_id . "' and s.status = '1' order by rand() limit " . PCS_MAX_DISPLAY_SPECIALS);
  4. $iter = 0;
  5. while ($special_product = tep_db_fetch_array($special_products_query)) {
  6. $iter++;
  7. $sql = 'SELECT `products_description` FROM `products_description` WHERE products_id ='. $special_product['products_id'].' && language_id='.(int)$languages_id;
  8.   $description_query = tep_db_query($sql);
  9.   $description = mysql_fetch_array($description_query, MYSQL_ASSOC);  
  10.   $description['products_description'] = substr($description['products_description'], 0, 150);
  11.   $desc_len = strlen($description['products_description']);
  12. $description['products_description'][$desc_len-1] = '.';
  13.   $description['products_description'][$desc_len-2] = '.';
  14.   $description['products_description'][$desc_len-2] = '.';
  15. $description['products_description'] = strip_tags($description['products_description']);
  16. // this opens the main div which is part of an Jquery slide show
  17.  if($iter % 2 == 1) {
  18.     echo '<div class="PCSChild" alt="'. htmlspecialchars(html_entity_decode('')) .'">';
  19.  }
  20.   
  21.   
  22.   
  23.   
  24.     // this section shows a product
  25.   echo'<div class="actualbox><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $special_product['products_id']) . '"><img style="float:right;" src="show_resized_image.php?filename='.DIR_WS_IMAGES . $special_product['products_image'].'&width='.PCS_MAX_IMAGE_WIDTH.'&height='.PCS_MAX_IMAGE_HEIGHT.'" alt="'.$special_product['products_name'].'"><h1>'.$special_product['products_name'].'</h1></a>'.$description['products_description'].'<b style="position:absolute; bottom:0px; right:10px;"><s style="color:red;">'.$currencies->display_price($special_product['products_price'], tep_get_tax_rate($special_product['products_tax_class_id'])).'</s> '.$currencies->display_price($special_product['specials_new_products_price'], tep_get_tax_rate($special_product['products_tax_class_id'])).'</b></div>';
  26.   
  27.   
  28. //this closes the jquery slide
  29.   if($iter % 2 == 0) {
  30.     echo'</div>';
  31.   }
  32.   
  33. }
  34. ?>
I'd love to change the world, but they won't give me the source code.
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de Usuario
  • Registrado: Jul 25, 2005
  • Mensajes: 2735
  • Loc: Nashville, TN
  • Status: Offline

Nota Septiembre 30th, 2009, 12:51 pm

Quote:
Woo Hoo 100 puestos .. ha estado aquí 4 años aunque ;)


Su agua hirviendo, como - por más que te miran, el más lento va. :)
I'd love to change the world, but they won't give me the source code.
  • barry
  • Graduate
  • Graduate
  • Avatar de Usuario
  • Registrado: Ene 28, 2005
  • Mensajes: 115
  • Loc: scotland
  • Status: Offline

Nota Septiembre 30th, 2009, 11:25 pm

que mi amigo es una estrella!

Funciona perfectamente...todo lo que necesita hacer es un CSS Tweek poco, ING y todo está bien en el rancho!

Gracias mucho por ayudarme! :D:D:D
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de Usuario
  • Registrado: Jul 25, 2005
  • Mensajes: 2735
  • Loc: Nashville, TN
  • Status: Offline

Nota Octubre 1st, 2009, 5:03 am

Youre welcome. La próxima vez que intento enfermo para tomar mis errores en la primera sugerencia. ;)
I'd love to change the world, but they won't give me the source code.

Publicar Información

  • Total de mensajes en este tema: 10 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 141 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC