Ver Mensaje Individual
  #23 (permalink)  
Antiguo 21/11/2010, 15:27
ville_cdo
 
Fecha de Ingreso: noviembre-2010
Mensajes: 4
Antigüedad: 13 años, 6 meses
Puntos: 0
tablas y while problemas...

Gracias por responder ya casi se parece a lo que estaba buscando. Lo siento por no decir nada antes pero he tenido una avería en el ordenador y los ratos que tenía lo he dedicado a eso y dejé esto aparcado. Bueno, lo que parere que le falta es que las columnas sean las que yo quiera, por que si varío el número que hay detras de num_col=, con un 0 sale como una lista en horizontal sin fin y si pongo un 7 me sale en 2 columnas.

Código PHP:
Ver original
  1. <table border="0" cellspacing="0" cellpadding="2">
  2.             <tr>
  3.           <td class="main" align="center"><?php echo QUANTITY; ?></td>
  4.               <td class="main" align="center"><?php echo OPTION; ?></td>
  5.           <td class="main" align="center"><?php /*  uncomment if you want to show the model number echo TEXT_PRODUCT_MODEL; */ ?></td>
  6.           <td class="main" align="center"><?php /*  descomentar para mostrar el texto de precio echo TEXT_PRODUCT_PRICE; */?></td>
  7.  
  8.      </tr>
  9.     <?php
  10.          $X=0;
  11.       $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");
  12.  
  13.  
  14.       while ($products_options_name = tep_db_fetch_array($products_options_name_query)) {
  15.  
  16.         $products_options_array = array();
  17.         $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 . "'");
  18.  
  19. $contador =1;
  20.       $num_col=0;
  21.       echo "<tr>";
  22.  
  23.  
  24.         while ($products_options = tep_db_fetch_array($products_options_query)) {
  25. echo "<td>";
  26.           $products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']);
  27.           if ($products_options['options_values_price'] != '0') {
  28.             $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'])) .') ';
  29. if ($products_options['price_prefix'] == '+') {
  30.            $price_with_attribute = ($product_info['products_price'] + $products_options['options_values_price']);
  31.     } else {
  32.        $price_with_attribute = ($product_info['products_price'] - $products_options['options_values_price']);
  33.        }
  34.  
  35.                 echo tep_draw_input_field('quantity[]',$value = '0',"size=2");
  36.                 echo $products_options['products_options_values_name'];
  37.             echo tep_draw_hidden_field('a[]', $products_options['products_options_values_id']);
  38.                 echo tep_draw_hidden_field('b[]',$products_options_name['products_options_id']);  /* uncomment if you want to show the model number
  39.               echo $product_info['products_model']; */
  40.         echo "</td>";
  41.  
  42.         if ($contador == $num_col){
  43.           echo "</tr><tr>";
  44.           $contador=0;
  45.         }
  46.         $contador++;
  47.      
  48.       //terminar de rellenar tablacon celdas...
  49.       if ($contador < $num_col){
  50.         $celdas_falt=$num_col - $contador;
  51.         while ($celdas_falt <= $num_col){
  52.     echo "<td>$nbsp</td>";
  53.           $celdas_falt++;
  54.         }
  55.         echo "</tr>";
  56.      
  57.  }
  58.       $x++;
  59.           }
  60.         }
  61.         if (isset($cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']])) {
  62.           $selected_attribute = $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']];
  63.         } else {
  64.           $selected_attribute = false;
  65.         }
  66.       }
  67. ?>
  68.           </table>