Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Obtener id del siguiente registro en base de datos

En el curso aprendi como hacer el link con el titulo entre "-" y un numero adicional que era un segundo aleatorio.

Mi duda ahora es como hacerlo no con un numero aleatorio sino con el ID de la noticia y como adicional el titulo pero que no sea necesario, o sin eso sino.

Por ejemplo mi link es:
http://mtbeat.com/noticias/index.php?noticia=6
Quisiera que quede de la siguiente forma:
http://mtbeat.com/noticias/6 o http://mtbeat.com/noticias/6/titulo
0
Puntos
1819
Visitas
8
Resp
Por miguelsirna hace 128 meses
Principiante
Respuesta #1
hola miguel pon tu código php de la pagina que agrega la noticia solo el php vale? intentare ayudarte saludos
0
Puntos
Por zeuskx hace 128 meses
Administrador Sitio web
Respuesta #2
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO m_post (titulo, seo, keywords, descripcion, noticia, categoria, autor, fecha) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['titulo'], "text"),
                       GetSQLValueString(seo($_POST['titulo']), "text"),
                       GetSQLValueString(keywords_auto($_POST['titulo']), "text"),
                       GetSQLValueString(strip_tags($_POST['noticia']), "text"),
                       GetSQLValueString($_POST['noticia'], "text"),
                       GetSQLValueString($_POST['categoria'], "int"),
                       GetSQLValueString($_POST['autor'], "int"),
                       GetSQLValueString($_POST['fecha'], "date"));

  mysql_select_db($database_conexion, $conexion);
  $Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());

  $insertGoTo = "agregarpost.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}
Yo solo quisiera el numero del id si lo del titulo adicional es necesario para entrar en la web me daria igual aunque seria mejor que se pueda entrar tanto solo con el id y con ambos como cuevana
0
Puntos
Por miguelsirna hace 128 meses
Principiante
Respuesta #3
lo que quieres es utilizar la id del articulo para la url del mismo, muchas paginas web lo hacen así de hecho si te fijas en este foro después de la última actualización lo tenemos así

puedes usar un SELECT MAX(id) FROM m_post pero seguro que ya estarás arto de leerlo en otros foros y no llegas a nada jaja te voy a dar una respuesta distinta
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO m_post (titulo, seo, keywords, descripcion, noticia, categoria, autor, fecha) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['titulo'], "text"),
                       GetSQLValueString(seo($_POST['titulo']), "text"),
                       GetSQLValueString(keywords_auto($_POST['titulo']), "text"),
                       GetSQLValueString(strip_tags($_POST['noticia']), "text"),
                       GetSQLValueString($_POST['noticia'], "text"),
                       GetSQLValueString($_POST['categoria'], "int"),
                       GetSQLValueString($_POST['autor'], "int"),
                       GetSQLValueString($_POST['fecha'], "date"));

  mysql_select_db($database_conexion, $conexion);
  $Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());
  
    mysql_select_db($database_conexion, $conexion);
	$query_Recordset1 = sprintf("SELECT id FROM m_post WHERE titulo=%s AND seo= %s",$_POST['titulo'],seo($_POST['titulo']));
					   
	$Recordset1 = mysql_query($query_Recordset1, $conexion) or die(mysql_error());
	$row_Recordset1 = mysql_fetch_assoc($Recordset1);
	$totalRows_Recordset1 = mysql_num_rows($Recordset1);
	
	mysql_free_result($Recordset1);
	
	
	$id_del_registro=$row_Recordset1["id"];//En esta variable tienes justo la id de ese registro


  $insertGoTo = "agregarpost.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}
en la variable $id_del_registro es donde tienes almacenada justo la id del registro que acabas de hacer ahora solo te queda pasarla a la función para utilizarla en la url o crearla directamente en esa pagina

yo te eh dado la base ahora tu tienes que darle a coco xd
0
Puntos
Por zeuskx hace 128 meses
Administrador Sitio web
Respuesta #4
Quieres decir que aplique este código:
mysql_select_db($database_conexion, $conexion);
$query_Recordset1 = sprintf("SELECT id FROM m_post WHERE titulo=%s AND seo= %s",$_POST['titulo'],seo($_POST['titulo']));
					   
$Recordset1 = mysql_query($query_Recordset1, $conexion) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
	
mysql_free_result($Recordset1);
	
	
$id_del_registro=$row_Recordset1["id"];//En esta variable tienes justo la id de ese registro
En la función SEO?
0
Puntos
Por miguelsirna hace 128 meses
Principiante
Respuesta #5
No se tendría que hacer otro arreglo en el HTACCESS?
En el curso el HTACCESS es el siguiente:
#Url amigables
Options +FollowSymlinks
RewriteEngine on
 
RewriteRule ^(.+).html verpost.php?recordID=$1
0
Puntos
Por miguelsirna hace 128 meses
Principiante
Respuesta #6
no si lo haces así no te funcionaria date cuenta que los dos parámetros que recibe el WHERE son de esa pagina por lo tanto tiene que estar en esa pagina, lo que yo haria es un UPDATE del campo seo con esta estructura
$urlConIdPreparada= seo($_POST['titulo'].$id_del_registro);
te quedaría algo así tu_web.com/como-hacer-bla-bla-bla/34

o podrías montarla de otra forma
$urlConIdPreparada= $id_del_registro.'/'.seo($_POST['titulo']);
te quedaría así tu_web.com/34/como-hacer-bla-bla-bla/
0
Puntos
Por zeuskx hace 128 meses
Administrador Sitio web
Respuesta #7
No entiendo muy bien si estoy insertando la noticia como hago el update?
0
Puntos
Por miguelsirna hace 128 meses
Principiante
Respuesta #8
Ya me funciona http://mtbeat.com/noticias/9/spielberg-y-cooper-juntos.html y http://mtbeat.com/noticias/9.html pero quisiera cortarle lo que dice ".html" creo que eso tiene que ver con el HTACCESS el cual es el siguiente:
#Url amigables
Options +FollowSymlinks
RewriteEngine on
 
RewriteRule ^(.+).html index.php?noticia=$1
He intentado borrando lo que dice ".html" pero no me ha funcionado.
0
Puntos
Por miguelsirna hace 128 meses
Principiante
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate