Foros del Web » Programando para Internet » PHP »

Formulario PHP

Estas en el tema de Formulario PHP en el foro de PHP en Foros del Web. Hola a todos: Tengo dos tablas en una base de datos. En la primera tabla, llamada noticias, tengo id_noticia, texto, titulo e id_categoria, y en ...
  #1 (permalink)  
Antiguo 15/03/2006, 02:36
 
Fecha de Ingreso: febrero-2006
Mensajes: 16
Antigüedad: 18 años, 1 mes
Puntos: 0
Pregunta Formulario PHP

Hola a todos:

Tengo dos tablas en una base de datos. En la primera tabla, llamada noticias, tengo id_noticia, texto, titulo e id_categoria, y en otra tabla, llamada categoria, tengo nombre_categoria e id_Categoria. Las dos tablas estan relacionadas por el id_categoria.
Tengo un formulario en php que muestra una tabla con titulo, nombre_categoria, y algunos datos mas. Aparte de eso tengo un boton modificar, que me manda el id_noticia para poder modificar los datos. Necesito que en modificar me muestre un selectbox con cada una de las categorias para poder modificarlo, teniendo seleccionada la categoria correspondiente de la notocia. Creo que lo que tengo mal es el sql, pero como no estoy muy segura os pongo el codigo para que lo veais.

<?php
$id_noticia=$_GET['id_noticia'];
if (isset($id_noticia)){
$link = mysql_connect("localhost", "", "");
mysql_select_db("base");
$sql = "select * from noticias where id_noticia= $id_noticia" ;
$result = mysql_query($sql);
$row=mysql_fetch_array($result);
}
?>
<body>
<form method="post" action="modificando.php">
<p>Identificador Noticia:<input name="id_noticia" type="text" value="<?php echo $id_noticia;?>" /></p>
<p>Titulo:<input type="Text" name="titulo" value="<?php echo $row["titulo"];?> "/></p>
<p>Autor:<input type="Text" name="autor" value="<?php echo $row["autor"];?>" /></p>
<p>Texto:<input type="Text" name="texto" value="<?php echo $row["texto"];?>" /></p>
<p>Fecha:<input type="Text" name="fecha" value="<?php echo $row["fecha"];?>" /></p>
<p>Nombre Categoria:<select name="Categoria">
<?php
$sql2 = "SELECT * from categoria ORDER BY nombre DESC id_categoria='".$row["id_categoria"]."'";
$result2 = mysql_query($sql2);
while($row2=mysql_fetch_assoc($result2))
{
echo "<option value=$result2[id_categoria]>$result2[nombre_categoria]<option/>";
}//while
?>
</select>
<input type="Submit" name="Guardar" value="Guardar">
</form>
</body>
</html>

Muchas gracias a todos
  #2 (permalink)  
Antiguo 15/03/2006, 03:01
 
Fecha de Ingreso: febrero-2006
Mensajes: 16
Antigüedad: 18 años, 1 mes
Puntos: 0
Hola:

El problema de antes lo tengo medio solucionado, lo unico que necesito es que al darle al boton de modificar me salga seleccionado el nombre_categoria de la noticia, y no el primero de la lista. ¿Como podria solucionar esto?. He intentado poner

echo "<option value=\"$row2[id_categoria]\" selected>$row2[nombre]</option>";

pero asi me sale seleccionado el primer valor de la lista, no el que corresponde a la noticia.

Muchas gracias a todos.
  #3 (permalink)  
Antiguo 15/03/2006, 07:31
Avatar de GaboMaKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Viña del Mar - Chile
Mensajes: 323
Antigüedad: 21 años, 4 meses
Puntos: 2
Si lo que quieres es dejar seleccionado la opción que deseas, lo que puedes hacer es insertar un IF y condicionar si es la alternativa que buscas agregando el SELECTED o si no es una opción màs dentro del combo o listbox, ahora si son listas dependientes podrías convinarlo con javascript para poder hacer la carga dinamica de ambos combos, seleccionando en el combo uno y que automaticamente llame a tu consulta sql y puedas llenar el otro combo con tus opciones.
Espero haber sido claro.
__________________
Exito!!
:censura:
Visita Uganet.cl
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 13:42.