Hola a todos,
Es la primera vez que escribo en el foro! Necesito vuestra ayuda, a ver como lo veis.
Lo que necesito hacer es que un usuario me ponga un texto en un textarea con el siguiente formato:
Pedro Gómez + 8
Juan Pérez + 9
...
Una vez hacen submit del formulario, trato los datos por tal de sacar la información que necesito, que por una parte es el número de grupos que van a venir (es decir, el número de lineas) que con eso no ha habido problema y posteriormente quiero conseguir el número total de invitados que van a venir.
Aquí tenéis mi código:
Código PHP:
//Cojo contenido de textarea después de hacer el submit
$lista=$_POST['invitados'];
//Cuento el numero de lineas para saber los grupos que van a asistir
$numLineas=count(explode("\n",$lista));
//Empiezo a contar los invitados totales dependiendo si hay solo una linea o varias
if($numLineas==1){
$var=explode("+",$lista); //Si solo hay una linea divido la cadena mediante el '+'
$total=1+$var[1]; //Este 1 simboliza a el nombre de la persona al que le sumo el numero de invitados que trae esa persona $var[1]
}
else { //Si hay mas lineas
$linea=explode("\n",$lista); //Creo una array con una linea en cada posicion
for($i==0;$i<=$numLineas-1;$i++){ //creo un bucle por todas las lineas
$separa=explode("+",$linea[$i]);
$suma+=1+$separa[1]; //Guardo en suma el total que me va dando de cada linea y el computo total de invitados
}
}
Pues bien, aparentemente yo no veo nada mal en el código y me lo cuenta mal...
Poniendo alerts por dentro del bucle me he dado cuenta que la primera linea la ignora, sólo computa un 1, es decir si es:
Alex López + 5
Juan Fuentes + 20
El resultado es 22 cuando tendría que ser 27.
Obvia la primera linea y solo computa un uno, no se porque... Es como si el explode() ignorase esa linea dividir...
A ver si alguien me puede ayudar!!
Agradezco mucho vuestra atención!
Un saludo,
Lex.