Foros del Web » Programando para Internet » PHP »

Select multiple con php

Estas en el tema de Select multiple con php en el foro de PHP en Foros del Web. Hola a todos: Estoy haciendo un programa de una especie de gestion de noticias, tengo dos tablas, la tabla noticias, y la tabla categoria, en ...
  #1 (permalink)  
Antiguo 02/03/2006, 03:21
 
Fecha de Ingreso: febrero-2006
Mensajes: 16
Antigüedad: 11 años, 9 meses
Puntos: 0
Select multiple con php

Hola a todos:

Estoy haciendo un programa de una especie de gestion de noticias, tengo dos tablas, la tabla noticias, y la tabla categoria, en la base de datos.

Estoy mostrando los datos de la tabla noticias en una tabla, pero quiero mostrar las diferentes categorias en un select box. ¿como puedo hacer que en al celda de loa categoria me salga un select con cada una de las categorias que tengo en la base de datos?

El trozo de codigo de la tabla es este:

while($row=mysql_fetch_array($result)){
echo("<tr><td>".$row["id_noticia"]."</td><td>".$row["titulo"]."</td><td>"
.$row["autor"]."</td><td>"AQUI ES DONDE SE SUPONE QUE ME TIENE QUE SALIR EL SELECT BOX"</td><td>".$row["texto"]."
</td><td>".$row["fecha"]."</td></tr>");

Muchas gracias por adelantado.
  #2 (permalink)  
Antiguo 02/03/2006, 07:21
 
Fecha de Ingreso: noviembre-2005
Ubicación: venezulea
Mensajes: 214
Antigüedad: 12 años
Puntos: 0
No entiendo.

Se trata de dos select uno que muestra lo registro de la tabla Noticias y el otro que muestra las categorías de la Noticias seleccionada en el primer select. Lo cual implica que ambos select deben estar asociados?????'
  #3 (permalink)  
Antiguo 02/03/2006, 08:17
Avatar de oskarL  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 499
Antigüedad: 12 años, 7 meses
Puntos: 2
Código PHP:
while($row=mysql_fetch_array($result)){
echo 
"<tr>";
echo 
"<td>".$row["id_noticia"]."</td>";
echo 
"<td>".$row["titulo"]."</td>";
echo <
td>".$row["autor"]."</td>
echo 
"<td>";

echo 
"<select>";
$q="SELECT * FROM categorias"//(como se llame la tabla, tambien puedes incluir alguna relacion con la tabla noticias...)
$rs=mysql_query($q);
while(
$rw=mysql_fetch_array($rs)){
       
$cat=$rw['nombre_cat']; //como se llame el campo del nombre de la categoria
       
echo "<option>$cat";
}
echo 
"</select>";


echo 
"</td>";
echo 
"<td>".$row["texto"]."</td>";
echo 
"<td>".$row["fecha"]."</td>";
echo 
"</tr>"
__________________
Solo hay 10 clases de personas, las que saben binario y las que no.
  #4 (permalink)  
Antiguo 03/03/2006, 03:16
 
Fecha de Ingreso: febrero-2006
Mensajes: 16
Antigüedad: 11 años, 9 meses
Puntos: 0
Hola:

En realidad se trata de un solo select, en la tabla, para poder cambiar la categoria. El codigo de OskarL, me soluciona algo, pero de todas formas sigo sin conseguir que me dibuje el select en la tabla.

Gracias a todos

Última edición por bettycues; 03/03/2006 a las 03:32
  #5 (permalink)  
Antiguo 03/03/2006, 03:27
Avatar de oskarL  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 499
Antigüedad: 12 años, 7 meses
Puntos: 2
No acabo de comprender que es exactamente lo que pides, y el problema que tienes, podrias explicar un poco mas para meternos dentro del contexto?
__________________
Solo hay 10 clases de personas, las que saben binario y las que no.
  #6 (permalink)  
Antiguo 03/03/2006, 05:57
 
Fecha de Ingreso: febrero-2006
Mensajes: 16
Antigüedad: 11 años, 9 meses
Puntos: 0
Hola a todos:

Tengo dos tablas en una base de datos, una que se llama noticias, y otra categoria. En la tabla noticias, tengo un campo con id_categoria. Tengo que crear un formulario en php, que me muestre en una tabla la tabla noticias, un select con la categoria a la que pertenece la noticia, segun el id_categoria. Aparte de eso tambien necesito dos enlaces en cada fila de la tabla, uno va a la pagina borrar.php, y otra a modificar.php. La de borrar borra directamente la noticia, y el de modificar, me lleva a otro formulario para poder modificar los datos.
Mas o menos es eso lo que tengo que hacer.Espero que ahora lo hayais entendido todos.
  #7 (permalink)  
Antiguo 03/03/2006, 06:55
 
Fecha de Ingreso: noviembre-2005
Ubicación: venezulea
Mensajes: 214
Antigüedad: 12 años
Puntos: 0
Sería......... una tabla con dos columnas. La primera columna es para mostrar los id_categorias (dato que se va a obtener de la tabla noticias)y la segunda columna mostraria los select de cada id_categoria (el contenido de dichos select se va a obtener de la tabla categoría). La tabla compuesta por dichas dos columnas va a tener tantas filas como id_categoría hayan.

Y por cada fila debe de haber dos enlaces uno para borrar y otro modificar. ¿esta parte no veo porque debe de haber dos enlaces por cada fila?
  #8 (permalink)  
Antiguo 03/03/2006, 07:00
 
Fecha de Ingreso: febrero-2006
Mensajes: 16
Antigüedad: 11 años, 9 meses
Puntos: 0
Hola:

Los dos enlaces son porque al pinchar en el enlace, mando el id_noticia, con eso consigo que solo me borre o me modifique la noticia que yo queiro.

De todas formas ya he medio solucionado el problema. Asi que muchas gracias a todos por vuestra ayuda.
  #9 (permalink)  
Antiguo 03/03/2006, 08:42
Avatar de oskarL  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 499
Antigüedad: 12 años, 7 meses
Puntos: 2
Cita:
Iniciado por bettycues
un select con la categoria a la que pertenece la noticia
Si es que esto no lo habias dicho!

Aun que ya lo tengas medio solucionado te modifico el codigo que puse para que vaya el select, por si acaso

Código PHP:
<?php 
while($row=mysql_fetch_array($result)){
echo 
"<tr>";
echo 
"<td>".$row["id_noticia"]."</td>";
echo 
"<td>".$row["titulo"]."</td>";
echo <
td>".$row["autor"]."</td>
echo 
"<td>";

echo 
"<select>";
$q="SELECT * FROM categorias"
$rs=mysql_query($q);
while(
$rw=mysql_fetch_array($rs)){
       
$cat=$rw['nombre_cat']; //como se llame el campo del nombre de la categoria
       
$id=$rw['id']; //como se llame el campo del id de la categoria
       
echo "<option";
       echo 
$row['id_categoria']==$id?" selected":"";
       echo 
">$cat";
}
echo 
"</select>";


echo 
"</td>";
echo 
"<td>".$row["texto"]."</td>";
echo 
"<td>".$row["fecha"]."</td>";
echo 
"</tr>";
__________________
Solo hay 10 clases de personas, las que saben binario y las que no.
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 22:05.