Comunidad de diseño web y desarrollo en internet online

Ayuda con POST y Array!!!!!!

Citar            
MensajeEscrito el 27 Abr 2009 07:36 pm
Bueno miren tengo un formulario en el que se puede agregar un campo de texto haciendo click en un botón, y a su ves, este mismo campo de texto se puede eliminar al hacer click en otro botón al borde de este campo de texto.

Al eliminar este elemento, se guarda su ID en un campo oculto(Hidden) separando de las demás ID por una coma(,); y al agregar un campo se añade suma su ID en un campo de texto de manera que se pueda tener un conocimiento previo de los campos.

Esto lo logro con las funciones de javascript "innerHTML" y "removeChild".

Bueno ahora el problema es el de insertar estos datos a la base de datos.
puesto que necesito que se inserten todos los datos de estos campo en un solo campo de "MySql"; con la excepción de los campo eliminados, los cuales previamente han sido marcados en un campo de texto para saber su ID.

Para esto logre hacer este código:

Código PHP :

<?php
$AddItem['count']           = $_POST['count'];//Contador de elementos
$AddItem['DeletesElements'] = $_POST['DeletesElements'];//Elementos borrados


$AddItemArray  = explode(',',$AddItem['DeletesElements']);
if(!empty($AddItem['DeletesElements'])){
$AddItemPos    = count($AddItemArray);
}else{
$AddItemPos=0;
}

for($i=1;$i < $AddItem['count']+1; $i++){
   if($AddItem['count']!=$AddItemArray[$i]){
         $AddItemSelectArray =$AddItemSelectArray.','.$AddItemSelectArray;
      }
}
?>


Pero como verán al ejecutarlo, este no devuelve nada mas que comas(,).

Por favor ayúdenme, es que enserio que lleva varios días intentando resolver esto, y la verdad es que no se me ocurre nada mas, siento que mi cerebro va a estallar de pura mierda acumulada!... Ademas ya estoy un poco cansado; café ya no me queda.

P.S.:Perdonen por la forma de expresión, pero la verdad, no me gustaría mentirles... XD

Por nocrosis

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 28 Abr 2009 02:42 pm
Tu variable $AddItemsSelectArray no esta inicializada ni recibe ningún valor. Intenta utilizando $AddItemArray[$i], que se supone ha recibido el valor correspondiente:

Código PHP :

$AddItemSelectArray =$AddItemSelectArray.','.$AddItemArray[$i];


Pd. de todas formas te recomiendo que inicializes $AddItemsSelectArray de la forma $AddItemsSelectArray = '' antes de trabajar con ella

Por Odin

Claber

639 de clabLevel

2 tutoriales

Genero:Masculino   Premio_Secretos

El valle de las hamacas

firefox
Citar            
MensajeEscrito el 28 Abr 2009 06:01 pm
Bueno, ya esta solucionado, pero ahora surgió otro problema que por lógica estaba resuelto, pero no se que es lo que falla.
Miren el código:

Código PHP :

<?php
$AddItem['count']           = $_POST['count'];          //Elementos a enviar
$AddItem['DeletesElements'] = $_POST['DeletesElements'];//Elementos descartados
$AddItem['TotalElements']   = $_POST['TotalElements'];  //Total de elementos

#COMPROBACION DE ELEMENTOS DESCARTADOS
######################################################################
$AddItemArray  = explode(',',$AddItem['DeletesElements']);
if(!empty($AddItem['DeletesElements'])){
$AddItemPos    = count($AddItemArray);
}else{
$AddItemPos=0;
}
$AddItemsSelectArray = '';
for($i=0;$i < $AddItemPos; $i++){
if($AddItemSelectArray==''){
$AddItemSelectArray =$AddItemArray[$i];}else{
$AddItemSelectArray =$AddItemSelectArray.','.$AddItemArray[$i];
}
}
      
#COMPROBACION DE ELEMENTOS NO DESCARTADOS
######################################################################
$AddItemArraySend  = explode(',',$AddItem['count']);
if(!empty($AddItem['count'])){
$AddItemPosSend    = count($AddItemArraySend);
}else{
$AddItemPosSend=0;
}
$ElementsDescart ='';
$AddItemsSelectArraySend = '';
for($C=0;$C < $AddItemPosSend; $C++){
if($AddItemArraySend[$C]==$AddItemArray[$i]){
if($ElementsDescart==''){
$ElementsDescart=$AddItemArraySend[$C];
}else{$ElementsDescart=$ElementsDescart.','.$AddItemArraySend[$C];}
}
if($AddItemSelectArraySend==''){
$AddItemSelectArraySend =$AddItemArraySend[$C];}else{
$AddItemSelectArraySend =$AddItemSelectArraySend.','.$AddItemArraySend[$C];
}



echo '<table border="1" width="100%">
<tr>
<td>Equal</td>
<td>'.$ElementsDescart.'</td>
</tr>
<tr>
<td>Todos los elementos</td>
<td>'.$AddItem['TotalElements'].'</td>
</tr>
<tr>
<td>Elementos a enviados(Total)</td>
<td>'.$AddItem['TotalElements'].'</td>
</tr>
<tr>
<td>Elementos descartados(Total)</td>
<td>'.$AddItemPos.'</td>
</tr>
<tr>
<td>Elementos restantes(Total)</td>
<td>'.($AddItem['TotalElements']-$AddItemPos).'</td>
</tr>
<tr>
<td>$i</td>
<td>'.$i.'</td>
</tr>
<tr>
<td>$AddItemPos</td>
<td>'.$AddItemPos.'</td>
</tr>
<tr bgcolor="#FFD7C6">
<td>Elementos descartados</td>
<td>'.$AddItemSelectArray.'</td>
</tr>
<tr bgcolor="#E3FFDF">
<td>Elementos NO descartados</td>
<td>'.$AddItemSelectArraySend.'</td>
</tr>
<tr>
<td>$C</td>
<td>'.$C.'</td>
</tr>
</table>';
?>


Bueno el problema esta en esta parte:

Código PHP :

<?php
if($AddItemArraySend[$C]==$AddItemArray[$i]){
if($ElementsDescart==''){
$ElementsDescart=$AddItemArraySend[$C];
}else{$ElementsDescart=$ElementsDescart.','.$AddItemArraySend[$C];}
}
?>

puesto que no reconoce el ítem, y la idea es descontar los ítems que han sido eliminados.
Pero no los reconoce...

Por nocrosis

65 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.