Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/03/2008, 12:53
jcamposa
 
Fecha de Ingreso: marzo-2008
Mensajes: 3
Antigüedad: 16 años
Puntos: 0
Problemas con Array usando Javascript + Php +MySQL

Hola.. quisiera ver si me pueden ayudar con lo siguiente:

tengo un formulario que genero mediante php pues este depende de los datos que tengo en mi BD, aquí tengo 2 campos que son para los que uso dichas funciones...el primer campo me debe de dar un porcentaje y el segundo si se aplica o no dicho descuento, el primero es un textbox y el segundo un checkbox, y de hecho me funciona siempre y cuando el nombre de los elementos en el form sean porcentaje y autoriza... pero para yo guardarlo en la BD uso a travez de php porcentaje[] y autoriza[], la funcion en javascript es:

<script language="javascript">
function todos(form, cantidad)
{
if (form.marcatodos.checked == true)
{
for (i = 0; i < cantidad; i++)
form.autoriza.checked = true;
}
else
{
for (i = 0; i < cantidad; i++)
form.autoriza.checked = false;
}
}
function todosValor(form,cantidad)
{

if (form.Valuetodos.checked == true)
{
valor = prompt("Ingrese porcentaje a colocar en todos\n en esta Cotización.","");
if (valor == "")
{
alert("No ingreso número valido, intentelo de nueva cuenta.");
form.Valuetodos.checked = false;
}
else
{
for (i = 0; i < cantidad; i++)
form.porcentaje.value = valor;
}
}
else
{
for (i = 0; i < cantidad; i++)
form.porcentaje.value = 0;
}
}
</script>


en php los mando llamar de la siguiente forma:
Código PHP:
echo "<tr>";
echo 
"<td colspan=\"4\">&nbsp;</td>";
echo 
"<td>";
echo 
"<input type=\"checkbox\" name=\"Valuetodos\" onClick=\"todosValor(this.form, $numeroRegistros)\">Todos";
echo 
"</td>";
echo 
"<td>";
echo 
"<input type=\"checkbox\" name=\"marcatodos\" onClick=\"todos(this.form, $numeroRegistros)\">Todos";
echo 
"</td>";
echo 
"<tr>"
y parte del formulario donde tengo esos datos son:

Código PHP:
echo "<td align=center>";
echo 
"<input type=\"text\" name=\"porcentaje[]\" value=\"$valor\">%";
echo 
"</td>";
echo 
"<td align=center>";
$str "<input type=\"checkbox\" name=\"autoriza[]\" value =\"$id\"";
if(
$registro["AUTORIZA"]=="Si")
{
$str .= "checked";
}
$str .= ">";
echo 
"$str";
echo 
"</td>"
Si los llamo porcentaje y autoriza sin los "[]" me funciona la funcion en js... sin embargo al momento de recoger los datos en php para almacenarlo en la BD no me toma todos los valores...


Código PHP:
$id $_POST["id"];
$porcentaje $_POST["porcentaje"];
$autoriza $_POST["autoriza"];
require 
"conexion.php";        
for (
$i=0;$i<count($id);$i++)    
    {
    
/*Actualizamos precios*/
    
$sql "UPDATE cotizaciones_descripcion SET PORCENTAJE = ".$porcentaje[$i]."  WHERE id = ".$id[$i]; 
    
mysql_query($sql$conexion);
    }
            
    
/*Actualizamos si fue autorizada o no*/
    
$sql "UPDATE cotizaciones SET AUTORIZADA = 'XA' WHERE ID =".$idcoti;         
    
mysql_query($sql$conexion);                    
    
$sql "UPDATE cotizaciones_descripcion SET AUTORIZA = 'No'  WHERE ID_COTIZACION =".$idcoti;         mysql_query($sql$conexion);                    
    for (
$i=0;$i<count($autoriza);$i++)    
    {
    
/*Actualizamos si fue autorizada o no*/
    
$sql "UPDATE cotizaciones_descripcion SET AUTORIZA = 'Si'  WHERE id = ".$autoriza[$i];         
mysql_query($sql$conexion);    
                    
    }
    
mysql_close($conexion); 
    echo 
"<script language=\"javascript\">";
    echo 
"alert(\"Actualización de precios y asignación, realizada correctamente.\");";
    echo 
"window.opener.location.reload();";
    echo 
"window.close();";
    echo 
"</script>"
No se si alguien me puede decir como recoger los datos mediante php para yo almacenarlo a la BD o como manipular el array desde javascript... agradeceria cualquier ayuda...

Gracias de antemano...