Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/04/2014, 14:04
Qazser
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años, 7 meses
Puntos: 10
Respuesta: Bucle dentro de un Bucle

Hola,¿que tal? Me gustó mucho el diseño de tu web, me encantan los diseños claros y simplistas y ese paralax que casi no se nota.

Perdon el off topic.

Este foro tiene una bbcode para bloques php, y como el código es corto se ajustaria mas ponerlo aqui mismo.


Antes que nada, debo avisar que si la base de datos es relacional (MySQL, MSSQL), meter un array en una columna no sigue las reglas de Normalizacion para bases de datos relaciones, te recomiendo cambiar la base de datos y hacerla bien, si no es muy tarde ya.

Si ya tienes la web hecha sobre la base de datos debemos partir sobre el punto, pero en serio, es mejor para ahorrarte futuros problemas corregir ese fallo, un campo solo deberia albegar 1 valor. Sé que parece ser muy fácil que para no tener muchas tablas meter arrays en campos, pero a la larga la base de datos se vuelve inmantenible.

El primer fallo que veo, si vas a enviar esos select por formulario y no por javascript, es que el select tiene un id pero no tiene nada, luego que no veo distincion del select para saber de que producto proviene el valor.

EDIT: Otra cosa, si pones un contador que se aumenta en el primer bucle, e indicas la posicion del contador en el array de valores, creo que te ahorras el doble bucle

Código PHP:
<?php
$ai 
0;
foreach (
$products as $product){
    <
div class="product">
           
            <
h5>'.$product->name.'</h5>
            <
p>'.$product->price.'</p>                             
           
            <
select id="quantity[]" class="select-product">
                    for (
$i=0$i 21$i++){ //debo mostrar un valor max de 20 en el select
                           
                            
if ($cantidad[$ai] == $i){
                                    <
option value=". $i ." selected="selected">. $i .</option>
                            }else{
                                    <
option value=". $i .">. $i .</option>
                            }
                                   
                    }
            </
select>
    </
div>
    
$ai++;
}
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos

Última edición por Qazser; 13/04/2014 a las 14:14