cuadrantes-espiral
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Cuadrantes-espiral] Y seguimos con las dudas y propuestas


From: arissa
Subject: [Cuadrantes-espiral] Y seguimos con las dudas y propuestas
Date: Tue, 20 Aug 2002 13:02:46 GMT

Hola de nuevo,
Y seguimos a la carga

>> function error_sql_traza($file, $line)
>> {
>>  printf("F:%s(%d) - %d:%s<BR>", $file, $line, mysql_errno(),
mysql_error());
>>  exit();
>> }
> > // se llamaría así: error_mysql2(__FILE__, __LINE__);
>
> Este último comentario no lo entiendo.

Oups, perdón. No puse bien el nombre de la función pq la copié de otros
archivos que tengo. Pongamos por ejemplo que queremos hacer una sencilla
consulta sql de una tabla almacenada en $tabla:

 $sql='select * from '.$tabla.';';
 $resultfrases=query($sql,$db) or error_sql_traza(__FILE__, __LINE__);

De esta manera en la misma línea de comando comprobamos si ha habido
algún error ayudandonos con la operación lógica "or". Si todo fue bien en
$resultfrases tenemos la consulta correcta. Si hubo algún error devuelve
vacío y llama a error_sql_traza, que se encarga de sacar el mensaje de error
de SQL, con el fichero y línea en la cual se produjo el error, lo que nos
ayudará
a localizarlo. __FILE__ y __LINE__ son constantes predefinidas en PHP que
siempre están disponibles, y se sustituyen por el valor del fichero y numero
de
línea a la hora de interpretarlo. Como la función error_sql_traza ya realiza
un
exit(), la ejecución se parará en la línea en la que se dió el error.

De la misma manera, y puesto que todas las funciones de sql.inc.php
devuelven
el resultado de la operación, sea este correcto o no, podemos usar la
funcion
de error_sql_traza. Por ejemplo:

$result=eliminaRegistro('e_gadgets_profrases','idprofrase='.$idprofrase) or
error_sql_traza(__FILE__, __LINE__);

Si hay algún error de SQL nos indicará igualmente el fichero y linea donde
está esta función, a pesar
de que realmente el error ya lo arrastramos desde la llamada a
my_sql_query(...) que hay en query(...), que a su vez está en
eliminaRegistro(...). Lo cual nos favorece porque realmente queremos saber
desde donde viene el error.
OJO, por este motivo NO deberíamos incluir la llamada a error_sql_traza
dentro de elimina_registro, porque si no siempre nos dará el error en el
fichero sql.inc.php, y la línea donde esté eliminaRegistro.


> > Y para Javier: ¿me puedes pasar el código para conseguir
> > numeros aleatorios?

Ah, nada, ya encontré las funciones rand() y srand en la ayuda del PHP.
Gracias
igualmente.

Otra propuesta que necesito para include/sql/sql.inc.php:

function data_seek($result) {
 return(mysql_data_seek($result));
}

De hecho, ya podríamos ir poniendo el resto de funciones my_sql que puedan
ir quedando ;).

> > ¿Y entonces que funciones hay en include/ambulacro que tengan
> > el código de estos dos layouts de pies y cabecera para ir
> > incorporandoros a los nuevos programas?
>
> Están en /inc, no /include. No te puedo decir exactamente las que
> no están portadas al nuevo /include, pero creo que (casi) todas.
> Así que no debe ser necesario portar más. Mira el código de
> ambulacro (en /ambulacro) para ver cómo cargar los diseños. Se
> hacen a través de la librería de estilo y la cabecera del menú

Bueno, me he mirado uno por uno los ficheros de ambulacro, y todos tienen
el
require("layout.cabecera.php");
..
require ("layout.pie.php");

Así que esto no debe de haber sido exportado ni en /inc, si no me equivoco.
Por el momento lo uso tambien así, y despues cuando esten finalmente
incluidos
como funciones ya os lo cambio y os paso los nuevos ficheros.

Y bien, despues de este último correo, y según lo que me respondas ya os
puedo pasar
los ficheros de gadgets junto con un pequeño manual de instalación, porque
si os parece bien,
tambien necesitaría algunas modificaciones en espiral.php y crear nuevos
directorios, etc, etc, pero por el momento eso es otra historia... ;)

Un saludo, y gracias
Víctor



---------------------------------------------
Este mensaje fue enviado
utilizando el servicio de correo-web de:
http://www.igijon.com






reply via email to

[Prev in Thread] Current Thread [Next in Thread]