Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/10/2005, 11:29
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 24 años, 8 meses
Puntos: 129
No soy usuario de PostgreSQL .. pero si te fijas en la documentación de PHP al respecto:

http://www.php.net/pg_fetch_object

Fijate los ejemplos .. PostrgreSQL necesita de un contador .. Mysql en sus funciones mysql_fetch_xxxx no lo necesita .. es La própia función la que va moviendo el puntero interno del resultado a cada llamada de la función.

Un ejemplo (de php.net):
Código PHP:
$qu = pg_exec ($db_conn, "SELECT * FROM verlag ORDER BY autor");
$row = 0; // postgres needs a row counter other dbs might not 

while ($data = pg_fetch_object ($qu, $row)){
   echo 
$data->autor." (";
   echo 
$data->jahr ."): ";
   echo 
$data->titel."<BR>";
   
$row++;
} 
en Mysql sería simplemente:

Código PHP:
$qu = mysql_query ($db_conn, "SELECT * FROM verlag ORDER BY autor");

while (
$data = mysql_fetch_object ($qu)){
   echo 
$data->autor." (";
   echo 
$data->jahr ."): ";
   echo 
$data->titel."<BR>";   
} 
Por lo demás .. no sé donde sale ese "$form_canti" ni el objetivo de ese cálculo .. pero en Mysql por si necesitas mover el puntero del resultado tienes mysql_data_seek() ..

También te recomendaría "no caer" otra vez más en el mismo problema, no uses funciones directas de "mysql" o para "posgresql" .. usa alguna capa de abastracción de BD como por ejemplo:

ADOdb
http://adodb.sourceforge.net/

o alguna más sencilla (tienes muchas en sitios como www.phpclasses.org) .. así no tendras que cambiar mucho de tu código a la hora de usar tu aplicación contra otra Base de datos.

Un saludo,