Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/12/2013, 12:36
manulaiko
 
Fecha de Ingreso: febrero-2012
Mensajes: 7
Antigüedad: 12 años, 3 meses
Puntos: 0
Pasar una tabla mysql a un array

Hola!!

Soy manulaiko, tengo 16 años y soy programador de juegos de navegador en php, mysql, c# y java. Actualmente estoy haciendo un juego de naves espaciales y tengo un problema al pasar los datos de las naves de la base de datos a un array.

Este es mi codigo:
Código PHP:
<?php
class Shop
{
    
/* DarkOrbit Remix PS
     * Class.Shop.php
     * Here will be usefull functions used in the shops sections
     * By Manulaiko
    */
    
    
public $Ships null;
    public 
$Drones null;
    public 
$Weapons null;
    public 
$Ammo null;
    public 
$Generators null;
    public 
$Extras null;
    public 
$Pet null;
    public 
$Boosters null;
    public 
$Desings null;

    public function 
loadItems()
    {
        global  
$MySQLi;
        
        
$ship $MySQLi->query('SELECT * FROM ships');
        
$this->Ships $ship->fetch_assoc();
        
        
$drones $MySQLi->query('SELECT * FROM shop WHERE type=\'drone\'');
        
$droneDesing $MySQLi->query('SELECT * FROM shop WHERE type=\'droneDesing\'');
        
$droneFormation $MySQLi->query('SELECT * FROM shop WHERE type=\'droneFormation\'');
        
$this->Drones['drones'] = $drones->fetch_assoc();
        
$this->Drones['desings'] = $droneDesing->fetch_assoc();
        
$this->Drones['formations'] = $droneFormation->fetch_assoc();
        
        
$weapons $MySQLi->query('SELECT * FROM shop WHERE type=\'weapon\'');
        
$this->Weapons $weapons->fetch_assoc();
        
        
$ammoBatt $MySQLi->query('SELECT * FROM shop WHERE type=\'battery\'');
        
$ammoRock $MySQLi->query('SELECT * FROM shop WHERE type=\'rocket\'');
        
$ammoMine $MySQLi->query('SELECT * FROM shop WHERE type=\'mine\'');
        
$this->Ammo['batteries'] = $ammoBatt->fetch_assoc();
        
$this->Ammo['rockets'] = $ammoRock->fetch_assoc();
        
$this->Ammo['mines'] = $ammoMine->fetch_assoc();
        
        
$speed $MySQLi->query('SELECT * FROM shop WHERE type=\'speed\'');
        
$shield $MySQLi->query('SELECT * FROM shop WHERE type=\'shield\'');
        
$this->Generators['speeds'] = $speed->fetch_assoc();
        
$this->Generators['shields'] = $shield->fetch_assoc();
        
        
$extra $MySQLi->query('SELECT * FROM shop WHERE type=\'extra\'');
        
$this->Extra $extra->fetch_assoc();
        
        
$pet $MySQLi->query('SELECT * FROM shop WHERE type=\'pet\'');
        
$petGear $MySQLi->query('SELECT * FROM shop WHERE type=\'petGear\'');
        
$petProt $MySQLi->query('SELECT * FROM shop WHERE type=\'petProtocol\'');
        
$this->Pet['pet'] = $pet->fetch_assoc();
        
$this->Pet['gears'] = $petGear->fetch_assoc();
        
$this->Pet['protocols'] = $petProt->fetch_assoc();
        
        
$standar $MySQLi->query('SELECT * FROM shop WHERE type=\'booster\'');
        
$special $MySQLi->query('SELECT * FROM shop WHERE type=\'boosterSpecial\'');
        
$this->Booster['standar'] = $standar->fetch_assoc();
        
$this->Booster['special'] = $special->fetch_assoc();
        
        
$vengui $MySQLi->query('SELECT * FROM shop WHERE type=\'desingVengeance\'');
        
$goli $MySQLi->query('SELECT * FROM shop WHERE type=\'desingGoliath\'');
        
$aegi $MySQLi->query('SELECT * FROM shop WHERE type=\'desingAegis\'');
        
$cita $MySQLi->query('SELECT * FROM shop WHERE type=\'desingCitadel\'');
        
$spea $MySQLi->query('SELECT * FROM shop WHERE type=\'desingSpearhead\'');
        
$this->Desings['vengeance'] = $vengui->fetch_assoc();
        
$this->Desings['goliath'] = $goli->fetch_assoc();
        
$this->Desings['aegis'] = $aegi->fetch_assoc();
        
$this->Desings['citadel'] = $cita->fetch_assoc();
        
$this->Desings['spearhead'] = $cita->fetch_assoc();
    }
}
?>
Lo que quiero es pasar una tabla completa de la base de datos a un array, supongamos que quiero pasar la tabla 'ships', en esa tabla hay 145 filas (unas cuantas :D) y quiero que cada fila se pueda acceder desde el array al que se le asigna.

Por ejemplo para cojer el id de la nave phoenix se pueda hacer de la siguiente manera:
Código PHP:
<?php echo(number_format($Shop->ships['phoenix']['Id'], 0',''.')); ?>
No se si me he explicado bien :P
Es posible hacer esto que quiero?

Nos vemos