Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/02/2011, 14:31
bienpiyao
 
Fecha de Ingreso: agosto-2009
Mensajes: 216
Antigüedad: 15 años, 3 meses
Puntos: 3
Vector con php

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$resMYSQL_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(=> $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!!