Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

¿que hago mal? grabar registro en BBDD con php

Estas en el tema de ¿que hago mal? grabar registro en BBDD con php en el foro de Mysql en Foros del Web. Hola. Intento hacer algo en teoría muy simple pero no me va bien. Quiero que se cambie el registro que contiene una URL por otra ...
  #1 (permalink)  
Antiguo 28/01/2011, 10:42
 
Fecha de Ingreso: marzo-2010
Mensajes: 9
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta ¿que hago mal? grabar registro en BBDD con php

Hola. Intento hacer algo en teoría muy simple pero no me va bien.
Quiero que se cambie el registro que contiene una URL por otra url diferente. O sea las que sean inmuebles.php?id=24 ponerlas así en la BBDD inmuebles-$id
El $id lo saco de otra consulta

Este es el código:
<?php
//cambia todas las urls por las nuevas
$result=mysql_query("SELECT * FROM inmueble WHERE publicado = '1' ") or die(mysql_error());
while ($row=mysql_fetch_array($result))
{
$id = $row["id"];
$pagina = 'http://www.miweb.com/inmueble-'.$id;
echo $pagina;
$query = "UPDATE inmuebles SET url='$pagina' WHERE (publicado='1')";
$resulta = mysql_query($query) or die(mysql_error());
}
mysql_free_result($resulta);
?>

Si hago esto me muestra bien todas las urls con ids diferentes pero cuando me graba en la BBDD en todos los registros me graba la misma url porque toma solamente la última de las IDs de mi BBDD.

¿Cómo puedo hacer que grabe la url con su id correspondiente en cada registro?.

Gracias
  #2 (permalink)  
Antiguo 31/01/2011, 16:36
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 9 meses
Puntos: 96
Respuesta: ¿que hago mal? grabar registro en BBDD con php

Saludos

La razón se encuentra en la condiciones de tu UPDATE, ya que si te das cuenta estas manejando una condición fija y no una variable dependiendo del id del SELECT como debería ser.
__________________
:.:Nano.:: @nano_hard - Retornando al foro

Etiquetas: consulta, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:59.