Hola gente, tengo un problemilla con un vector.
Éste es el código:
Código PHP:
$conexion = bd();
/*Aquí tenemos todos los jugadores que son porteros y que no han sido ya dados a otros usuarios de la liga*/
$sql = "SELECT id
FROM jugadores
WHERE demarcacion = 'Portero'";
$res = mysql_query($sql);
/*Creamos una variable chivato para ver si es la primera vez que entramos en el while, en cuyo caso, lo que haremos será inicializar el array*/
$chivato = 0;
/*Iniciamos un while para recorrer todos los porteros que aún están disponibles para ser elegidos*/
while( $row = mysql_fetch_array( $res, MYSQL_ASSOC ) )
{
/*Es la primera vez que entramos, por tanto creamos el array y ponemos chivato a 1 para evitar volver a crear el array otra vez*/
if($chivato==0)
{
/*Inicializamos el vector*/
$array = array(1 => $row['id']);
/*Ponemos chivato a 1*/
$chivato=1;
/*No es la primera vez que entramos aquí, por tanto, el array ya está creado, así que solo tenemos que seguir metiendo valores en él*/
}else
{
$array[]=$row['id'];
}
}
/*Aquí vamos a elegir 2 elementos de manera aleatoria de entre todos los porteros disponibles para elegir*/
foreach ($array as $valor) {
echo "Valor: $valor<br>";
}
shuffle($array); // desordena aleatoriamente el array
$array = array_slice($array,0,2); // coge los 6 primeros elementos desordenados
foreach ($array as $valor) {
echo "NuevoArray: $valor<br>";
}
/*Ahora, insertamos en la base de datos los porteros elegidos al azar*/
for ($i = 0; $i < 2; $i++)
{
$query = "INSERT INTO plantillas (id, nombreEquipo, usuario, jugador, liga, tipo)
VALUES ('0', '".$nombreEquipo."', '".$user."', '".$array[$i]."', '".$nombreLiga."', 'a')";
$result = mysql_query( $query );
}
Con éste código, sólo me inserta el primer elemento en la base de datos, pero ya está. No arroja ningún error ni nada. Los foreach imprimen los valores correctos, tanto el inicial como el aleatorio, sin embargo, sólo me hace la primera inserción (el valor del array coincide con el que hay en la primera posición). Además, la ejecución del script para ahí, ya que no ejecuta el resto de código que viene después (que básicamente es el mismo script 4 veces pero con distintos elementos, obviamente).
Alguna idea??
Gracias!!