Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/09/2012, 19:32
giovaninavarro
 
Fecha de Ingreso: septiembre-2012
Ubicación: Tijuana
Mensajes: 2
Antigüedad: 11 años, 7 meses
Puntos: 0
Pregunta Tengo algo de codigo en un FOR y no me funciona como esperaba

Que tal buenas tardes a todos:

Mi problema es el siguiente, tengo estos archivos con los que estoy trabajando:

alumbrado.php (Aqui tengo un formulario)

cm.js (Aqui estan funciones en javascript)

axreq.php (Este archivo se encarga de insertar en mysql)


Tengo un formulario el cual se encarga de capturar una jornada laboral, donde lo mas importante es el material que se consumen en cada actividad.

Dentro de mi formulario tengo 15 espacios que son elementos <SELECT> donde muestra los diferentes materiales y una caja de texto por cada elemento para capturar la cantidad gastada. Y es algo como esto:
Código:
<label for="material1"><b>Material</b></label><select name="material1" id="material1">
                    <?php
                    while ($vmat = mysql_fetch_array($qm1)) {
                        echo "<option value='$vmat[codigo]'>" . $vmat['nombre'] . "</option>";
                    }
                    mysql_free_result($qm1);
                    ?></select>
                <label for="cantidad1"><b>Cantidad</b></label><input name="cantidad1" type="text" id="cantidad1" size="4" value="0"><br>
Ningun problema hasta aqui!

Una vez que tengo el formulario lleno, le damos agregar por medio de un boton, donde este va a una funcion en el archivo CM.JS y captura los valores de todo el formulario para despues enviarlo al archivo AXREQ.PHP donde este se encarga de insertar los datos a mysql.

El problema resulta cuando en mi formulario decido llenar los 15 elementos con diferentes materiales y los mando uno por uno al archivo AXREQ.PHP para que asi los vaya insertando. Que seria algo como esto:
Código:
for(var x=1; x<=y ;x++)
        {
            if(x==1){
                //alert('La captura ha sido un exito!');
                mat = document.miformulario.material1.value;
                cant = document.miformulario.cantidad1.value;
            }
            if(x==2){
                //alert('Se ha capturado un segundo material');
                mat = document.miformulario.material2.value;
                cant = document.miformulario.cantidad2.value;
            }
            if(x==3){
                //alert('Se ha capturado un tercer material');
                mat = document.miformulario.material3.value;
                cant = document.miformulario.cantidad3.value;
            }
            if(x==4){
                //alert('Se ha capturado un cuarto material');
                mat = document.miformulario.material4.value;
                cant = document.miformulario.cantidad4.value;
            }
            if(x==5){
                //alert('Se ha capturado un quinto material');
                mat = document.miformulario.material5.value;
                cant = document.miformulario.cantidad5.value;
            }
            if(x==6){
                //alert('Se ha capturado un sexto material');
                mat = document.miformulario.material6.value;
                cant = document.miformulario.cantidad6.value;
            }
            if(x==7){
                //alert('Se ha capturado un septimo material');
                mat = document.miformulario.material7.value;
                cant = document.miformulario.cantidad7.value;
            }
            if(x==8){
                //alert('Se ha capturado un octavo material');
                mat = document.miformulario.material8.value;
                cant = document.miformulario.cantidad8.value;
            }
            if(x==9){
                //alert('Se ha capturado un noveno material');
                mat = document.miformulario.material9.value;
                cant = document.miformulario.cantidad9.value;
            }
            if(x==10){
                //alert('Se ha capturado un decimo material');
                mat = document.miformulario.material10.value;
                cant = document.miformulario.cantidad10.value;
            }
            if(x==11){
                //alert('Se ha capturado un decimo primero material');
                mat = document.miformulario.material11.value;
                cant = document.miformulario.cantidad11.value;
            }
            if(x==12){
                //alert('Se ha capturado un decimo segundo material');
                mat = document.miformulario.material12.value;
                cant = document.miformulario.cantidad12.value;
            }
            if(x==13){
                //alert('Se ha capturado un decimo tercero material');
                mat = document.miformulario.material13.value;
                cant = document.miformulario.cantidad13.value;
            }
            if(x==14){
                //alert('Se ha capturado un decimo cuarto material');
                mat = document.miformulario.material14.value;
                cant = document.miformulario.cantidad14.value;
            }
            if(x==15){
                //alert('Se ha capturado un decimo quinto material');
                mat = document.miformulario.material15.value;
                cant = document.miformulario.cantidad15.value;
            }
            objxml.open("POST","axreq.php",true);
            objxml.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
            objxml.send("fecha="+fec+"&folio="+fol+"&encargado="+enc+"&economico="+eco+"&supervisor="+sup+"&reporte="+rep+"&tiposervicio="+tpo+"&delegacion="+del+"&vialidad="+via+"&colonia="+col+"&abreviar="+abr+"&calle="+call+"&numero="+num+"&material="+mat+"&cantidad="+cant+"&servicio="+ser+"&observaciones="+obs);
        }
No se cual sea el problema, porque si decido capturar los 15 de una sola vez me captura solo el ultimo de los elementos... No encuentro que pueda ser. Ojo estoy utilizando algo de ajax para mandar los datos al archivo AXREQ.PHP y que los vaya insertando en cada iteracion del ciclo FOR.

Les agradezco mucho si alguno me da una pista, tal vez sea algo que desconosca que este pasando.

PD: Si descomentara los ALERT que tengo, todo va muy bien pero seria molesta que por cada iteracion me mostrara que se ha capturado un material, esa no es la idea