Hola, estoy buscando alguna funcion de php para saber el ultimo numero de id ingresado, la base de datos es Mysql.
gracias.
| |||
| una función que devuelve el último id introducido de una db Hola, estoy buscando alguna funcion de php para saber el ultimo numero de id ingresado, la base de datos es Mysql. gracias. |
| |||
| yo hice esto como ejemplo para que me entiendam mas:
Código:
$var1 = $row_Recordset1['id'];
$var2 = funcion_muestra_ultimoID;
if(var1==var2){
echo $var2."es igual ".$var1;
echo "muestra imagen";
} else if (var1<var2){
echo $var2."es menor ".$var1;
echo "no muestra imagen";
}
|
| ||||
| si la id la tienes autoincremental bastaría con que hicieras un select max(id) from la_tabla_que_sea. Nota: yo sugiero que si no la tienes autoincremental la pongas, lo veo una solucion bastante util y que te puede evitar problemas si en alguna consulta no incrementas la id anterior.
__________________ ALOZORRO v5.0 (ahora en .es) |
| ||||
| function ultimoid($tabla) { $sql="SELECT max(id) FROM ".$tabla; $resultado=mysql_query($sql)or die ("ERROR obteniendo respuestas de la base de datos, ".mysql_error()); $row = mysql_fetch_row($resultado); return $row[0]; } algo asi, le pasarias el nombre de la tabla de la que quieres obtener la maxima id, no la he probado pero supongo que funcionara, pruebalo a ver y ya me comentas, si hay fallos ya lo depuramos jajaja.
__________________ ALOZORRO v5.0 (ahora en .es) |
| |||
| Fatal error: Cannot redeclare ultimoid() (previously declared in C:\Archivos de programa\Apache Group\Apache2\htdocs\ho\index.php:289) in C:\Archivos de programa\Apache Group\Apache2\htdocs\ho\index.php on line 289 |
| ||||
| Cita: nunca me salió ese error...ya tienes una funcion ultimoid() ?Cannot redeclare ultimoid() (previously declared in por si acaso llamala de otra manera: ultimo_ide() o algo asi...
__________________ ALOZORRO v5.0 (ahora en .es) |
| ||||
| no.. si la funcion seguiria siendo la misma, solo que con otro nombre: function ultimo_ide($tabla) { $sql="SELECT max(id) FROM ".$tabla; $resultado=mysql_query($sql)or die ("ERROR obteniendo respuestas de la base de datos, ".mysql_error()); $row = mysql_fetch_row($resultado); return $row[0]; } prueba a ver si es por eso (que ya tengas otra funcion con ese nombre) por lo que te da el fallo...
__________________ ALOZORRO v5.0 (ahora en .es) |
| |||
| Mismo error: Y revise y es la unica funcion en el script, la funcion anterior la saque Fatal error: Cannot redeclare ultimo_ide() (previously declared in C:\Archivos de programa\Apache Group\Apache2\htdocs\este\index.php:290) in C:\Archivos de programa\Apache Group\Apache2\htdocs\este\index.php on line 290 Última edición por index000; 24/09/2006 a las 15:07 |
| |||
| asi esta bien? como imprimo el resultado? function ultimo_ide($tabla){ $sql2="SELECT max(id) FROM noticias ORDER BY id ASC"; $resultad2o=mysql_query($sql)or die ("ERROR obteniendo respuestas de la base de datos, ".mysql_error()); $row = mysql_fetch_row($resultado); return $row[0]; } |
| ||||
| mejor asi: function ultimo_ide($tabla){ $sql2="SELECT max(id) FROM ".$tabla." ORDER BY id ASC"; $resultad2o=mysql_query($sql)or die ("ERROR obteniendo respuestas de la base de datos, ".mysql_error()); $row = mysql_fetch_row($resultado); return $row[0]; } asi te vale para cualquier tabla, y lo llamas asi: $ultimoide=ultimo_ide("noticias"); //noticias o cualquier otra tabla que quieras en la variable $ultimoide ya tendrías ese valor. para mostrarlo: echo $ultimoide;
__________________ ALOZORRO v5.0 (ahora en .es) |
| |||
| Si!!! funciono perfecto, muchisimas gracias, no sabes lo bien que me viene, si bien aprendi mucho estos ultimos tiempos nunka iba a llegar a hacer esto solo, muchas gracias. Pd: ya aprendi a definir una variable, je, todos los dias se aprenden cosas. Grax. |