Mysql, no se si se podrá hacer

Iniciado por bels_mike, 26 Diciembre 2007, 16:42 PM

0 Miembros y 1 Visitante están viendo este tema.

bels_mike

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.


Con sangre andaluza :)


bels_mike

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???

Azielito

podrias hacer una consulta y obtener el numero de registros y entonces sumar uno y ya XD

no veo otro modo de hacerlo :D

bels_mike

ufff pero eso abria que meterlo aqui:
Código (php) [Seleccionar]
<?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....

Hans el Topo

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
 

bels_mike

Mmmmmmmmm he hecho esto, que os parece:
Código (php) [Seleccionar]
<?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
Código (php) [Seleccionar]
<?php echo mysql_result($sql0)+1;?>

Hans el Topo

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:
 

bels_mike

OK muchoas gracias, ya l otengo todo colocado jejejje