
meter datos de html en array con for
Publicado por lana (1 intervención) el 16/12/2019 16:25:56
Holaa, lo primero encantada con este foro ya he resuelto varias dudas en el a lo largo del curso, ahora aporto la mia...
Bueno, tengo que hacer el juego de hundir los barquitos, o por lo menos la primera parte (por ahora), tabla y posición.
Yo lo estaba haciendo con este código
- Cada $lugarFila/Column/proa/popa va asociado a un $_POST que recoge los datos con <form> de html
Qué es mi propio código como tal, los valores entran al array, pero claro entra el mismo valor a todos y no se guardan en ningun sitio.
Pero es que me he quedado bloqueada de como conectar el array que toca, con el barco seleccionado (con un <select>) ...Para que cada vez que introduzca la posición completa del barco guarde e imprima...
Le he preguntado a mi profesor y dice que lo cambie, es decir, que declare el array, para que todos se rellenen a 0, y luego en el if diga k si esta vacio ejecute el for del array y si tiene datos ya introducidos (osea si el valor del array es =1) que no lo ejecute, eso lo entiendo...pero a la hora de ponerlo en marcha...
Pongo el if con las variables empty y entra el for solo la primera vez y aquí ni me pinta X (o las pinta todas si le quito empty) y no entra ningun dato al array...
De la manera que yo lo estoy haciendo...esta mal??no existe alguna forma de enlazarlo?
Tendría problemas luego para que me rellenara los huecos que quedan entre proa y popa con mi manera??
O es que estoy planteando mal el if?
Bueno, tengo que hacer el juego de hundir los barquitos, o por lo menos la primera parte (por ahora), tabla y posición.
Yo lo estaba haciendo con este código
- Cada $lugarFila/Column/proa/popa va asociado a un $_POST que recoge los datos con <form> de html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// ARRAY de los barcos
$flota = array(
array("portaviones", $lugarFilaproa, $lugarColumproa, $lugarFilapopa, $lugarColumpopa),
array("buque", $lugarFilaproa, $lugarColumproa, $lugarFilapopa, $lugarColumpopa),
array("submarino", $lugarFilaproa, $lugarColumproa, $lugarFilapopa, $lugarColumpopa),
array("fragata", $lugarFilaproa, $lugarColumproa, $lugarFilapopa, $lugarColumpopa),
);
// foreach para comprobar que los datos entran al array
foreach ($flota as $barcos) {
$i = 0;
echo "<br>";
print_r($barcos);
}
// este es el if que me imprime lo que reciben las variables de $_POST
for ($blanco = 0; $blanco <= 14; $blanco++) { // blanco es la variable para los espacios en blanco de las columnas
echo "<td>";
if ($fila == $lugarFilaproa && $columna == $lugarColumproa) echo "X"; // IF para pintar la X de la PROA
if ($fila == $lugarFilapopa && $columna == $lugarColumpopa) echo "X"; //IF para pintar la X de la POPA
" </td>";
$columna++;
}
Qué es mi propio código como tal, los valores entran al array, pero claro entra el mismo valor a todos y no se guardan en ningun sitio.
Pero es que me he quedado bloqueada de como conectar el array que toca, con el barco seleccionado (con un <select>) ...Para que cada vez que introduzca la posición completa del barco guarde e imprima...
Le he preguntado a mi profesor y dice que lo cambie, es decir, que declare el array, para que todos se rellenen a 0, y luego en el if diga k si esta vacio ejecute el for del array y si tiene datos ya introducidos (osea si el valor del array es =1) que no lo ejecute, eso lo entiendo...pero a la hora de ponerlo en marcha...
Pongo el if con las variables empty y entra el for solo la primera vez y aquí ni me pinta X (o las pinta todas si le quito empty) y no entra ningun dato al array...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// ARRAY de los barcos
$tablero=array(
array(
)
);
// FOR para rellenar los arrays a 0
for($f=0;$f<=14;$f++){ // $f lleva las filas
for($c=0;$c<=14;$c++){ // $c lleva las columnas
$tablero[$f][$c]=0; // array tablero con filas y columnas igualadas a 0
}
}
print_r($tablero); // para comprobar que recoge datos
// el if
for ($blanco = 0; $blanco <= 14; $blanco++) { // blanco es la variable para los espacios en blanco de las columnas
echo "<td>";
if($tablero[$f][$c]=0){
if ($f == $lugarFilaproa && $c == $lugarColumproa) $tablero[$f][$c]=1;
echo "X";
if ($f == $lugarFilapopa && $c == $lugarColumpopa) $tablero[$f][$c]=1;
echo "X";
}
echo " </td>";
$c++;
}
De la manera que yo lo estoy haciendo...esta mal??no existe alguna forma de enlazarlo?
Tendría problemas luego para que me rellenara los huecos que quedan entre proa y popa con mi manera??
O es que estoy planteando mal el if?
Valora esta pregunta


0