Bueno, vamos a ver, voy a poenr un ejemplo primero antes de prguntar nada, imaginemos que tengo una tabla en la que tengo los siguientes registro de una noticia, id,titulo y texto, La id será automática, mi problema esta en que si borro el ultimo registro que tiene porejemplo la id 7 y agrego otro en vezde salir con el 7 saldrá con el 8, y al mirar la lista se salta uno, lo mismo si borro 3, quiero que asigne la id mas baja posible, por lo que si tengo 6 entradas tendria que ser la 7.. se me entiende???
Así es el autoincrement, no se recorre.
si pero esque a ver... mi idea es tener un formulario para otra persona, y esta no sabe nada de mysql, xD asi que la idea seria que la id se asiganra sola, por eso lo tengo en auto increment, porque si no no vale para nada,o hay algun otro modo de hacer que se incremente uno???
podrias hacer una consulta y obtener el numero de registros y entonces sumar uno y ya XD
no veo otro modo de hacerlo :D
ufff pero eso abria que meterlo aqui:
<?php
include("conect.php");
$link=Conectarse();
$local=$_POST['local'];
$localsmall=$_POST['localsmall'];
$resultado=$_POST['resultado'];
$visitante=$_POST['visitante'];
$visitantesmall=$_POST['visitantesmall'];
$dia=$_POST['dia'];
$estadio=$_POST['estadio'];
$arbitro=$_POST['arbitro'];
$simulador=$_POST['simulador'];
$categoria=$_POST['categoria'];
$subcategoria=$_POST['subcategoria'];
$sql = "insert into partidos (`local`,`localsmall`,`resultado`,`visitante`,`visitantesmall`,`dia`,`estadio`,`arbitro`,`simulador`,`categoria`,`subcategoria`)
values ('$local','$localsmall','$resultado','$visitante','$visitantesmall','$dia','$estadio','$arbitro','$simulador','$categoria','$subcategoria')";
mysql_query( $sql ,$link);
header('Location:index.php')
?>
seria mucho lio ¿no? ademas de que todavia faltan varios registros xDDD no estan todos puestos, porejemplo resumen,detalleslocal....
Cita de: Azielito en 26 Diciembre 2007, 18:00 PM
podrias hacer una consulta y obtener el numero de registros y entonces sumar uno y ya XD
no veo otro modo de hacerlo :D
no se hace así, puesto que no va a borrar siempre el último xD
el modo que tienes que hacerlo sería algo así
select campoid+1 from partidos where (campoid+1) not in (select campoid from partidos)
lo que hace la consulta es encontrar la id que no tiene consecución y te devuelve el número siguiente
;D
tendrías que lanzar esa consulta antes de insertar
$resp=mysql_query("select campoid+1 from partidos where (campoid+1) not in (select campoid from partidos) order by campoid asc limit 1",$link);
if($f=mysql_fetch_array($resp)){
//existen registros
$campoid=$f[0];
}else{
$campoid=1;
}
no lo he probado pero sería algo así xD
Mmmmmmmmm he hecho esto, que os parece:
<?php
include("conect.php");
$link=Conectarse();
$sql=mysql_query("",$link) or die (mysql_error());
?>
El problema es que no entiendo bien como lo he hecho prque aun no me queda claro como aplicar a una variable el numero que se saca con la consulta de arriba, osease esto: SELECT COUNT(id) FROM partidos
<?php echo mysql_result($sql, 0)+1;?>
Te he hecho el código...
lo tienes que poner delante de lo que tenías y luego utilizar la variable $campoid en el insert
P.D. no se ni pa que me molesto en contestar :rolleyes:
OK muchoas gracias, ya l otengo todo colocado jejejje