Pues acabo de probar y es raro lo que pasa, con nuestro ejemplo funciona muy bien pero a lo hora de aplicarlo a mi script solo me imprime "hola" en $valor1 pero en $valor2 me lo imprime en blanco:
Código PHP:
include("config.php");
for($i=1 ; $i<=3 ; $i++) {
$result = mysql_query("SELECT nombre FROM categoria where id=$i");
$row = mysql_fetch_array($result, MYSQL_NUM);
$dato0=$row[0];
if($i != 2) {
${"valor".$i} = $dato0;
}
}
//Hasta aqui $valor1="hola, $valor2="", $valor3="adios"
$i = 1;
$j = 1;
while( isset(${'valor'.$i}) )
{
if (!empty(${'valor'.$i}))
{
${'nvalor'.$j} = ${'valor'.$i};
$j++;
}
$i++;
}
echo $nvalor1;
echo $nvalor2;
//hasta aqui DEBERIA $nvalor1="hola", $nvalor2="adios. Pero hace esto: $nvalor1="hola", $nvalor2=""
Asi trabaja mi script:
Tengo una tabla llamada categoria, dentro de esa tabla hay unos datos que se identifican mediante un id:
1 hola
2 Perro
3 adios
resulta que quiero borrar el dato central el que tiene el id=2 pero si lo borro se me queda asi:
1 hola
3 adios
y yo quiero unas nuevas variables que me las organicen para despues guardarlas de esta forma:
1 hola
2 adios.
El codigo que he pegado deberia de realizar esa funcion pero ocurre el problema que comento arriba
un saludo