PHP - Ayuda con dbase_replace_record()

 
Vista:

Ayuda con dbase_replace_record()

Publicado por Diana (1 intervención) el 21/11/2003 20:24:29
Hola, necesito la ayuda de alguien que sepa programar con Bases de Datos de dbase y con php. Estoy haciendo un reporte y quiero insertar un quick sort, para ordenar una tabla en base a cierto parámetro. Mi código es el siguiente:

function ordena(&$db,$left,$right)
{
$record0=dbase_get_record($db,$left); //se posiciona en el registro i
$l_hold=$left;
$r_hold=$right;
$pivot=$record[7];

while ($left < $right)
{
$record2=dbase_get_record($db,$right); //se posiciona en el registro i
while (($record2[7] >= $pivot) && ($left < $right))
{ $right--;
}
if ($left != $right)
{
$record3=dbase_get_record($db,$right); //se posiciona en el registro i
//dbase_replace_record($db,$record3,$left);
dbase_replace_record($db,array($record3[0],$record3[1],$record3[2],$record3[3],$record3[4],$record3[5],$record3[6],$record3[7],$record3[8],$record3[9],$record3[10],$record3[11],$record3[12],$record3[13],$record3[14],$record3[15],$record3[16],$record3[17],$record3[18],$record3[19],$record3[20],$record3[21],$record3[22],$record3[23]),$left);
$left++;
}
$record4=dbase_get_record($db,$left); //se posiciona en el registro i
while (($record4[7] <= $pivot) && ($left < $right ))
{ $left++;
}
if ($left != $right)
{
$record5=dbase_get_record($db,$left); //se posiciona en el registro i
//dbase_replace_record($db,$record5,$right);
dbase_replace_record($db,array($record5[0],$record5[1],$record5[2],$record5[3],$record5[4],$record5[5],$record5[6],$record5[7],$record5[8],$record5[9],$record5[10],$record5[11],$record5[12],$record5[13],$record5[14],$record5[15],$record5[16],$record5[17],$record5[18],$record5[19],$record5[20],$record5[21],$record5[22],$record5[23]),$right);
$right--;
}
}
dbase_replace_record($db,array($record0[0],$record0[1],$record0[2],$record0[3],$record0[4],$record0[5],$record0[6],$record0[7],$record0[8],$record0[9],$record0[10],$record0[11],$record0[12],$record0[13],$record0[14],$record0[15],$record0[16],$record0[17],$record0[18],$record0[19],$record0[20],$record0[21],$record0[22],$record0[23]),$left); //esta es la línea 268
$pivot=$left;
$left=$l_hold;
$right=$r_hold;
if ($left < $pivot)
{ ordena(&$db,$left,$pivot-1);
}
if ($right > $pivot)
{ ordena(&$db,$pivot+1,$right);
}
}

es un mètodo quick sort donde $db es la Base de Datos que se pasa por referencia, para poder sustituir los registros, $left es el valor izquierdo del mètodo y $right el valor de la derecha. Estos valores son propios del quick sort. Mi problema es la ejecutar el dbase_replace_record, el navegador me manda la siguiente sentencia de error:

Warning: Wrong number of fields specified in /usr/local/httpd/htdocs/pagreportes/artvend.php on line 268

La lìnea 268 es el replace_record para el array $record[] ... alguien puede decirme si la instrucción esta bien implementada??.. o donde esta mi error???.. gracias!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder