Foros del Web » Programando para Internet » PHP »

Agregar secciones desde el sitio

Estas en el tema de Agregar secciones desde el sitio en el foro de PHP en Foros del Web. Hola, qué tal, estoy haciendo una web en la que quiero poder agregar sitios desde la misma, que no haya necesidad de recurrir a la ...
  #1 (permalink)  
Antiguo 18/07/2011, 11:04
Avatar de Martriay  
Fecha de Ingreso: noviembre-2010
Mensajes: 80
Antigüedad: 13 años, 5 meses
Puntos: 5
Agregar secciones desde el sitio

Hola, qué tal, estoy haciendo una web en la que quiero poder agregar sitios desde la misma, que no haya necesidad de recurrir a la base de datos manualmente.

Primero les voy a dar una idea de lo que intento hacer, con el código y descripción de la base de datos, y después el problema puntual.

Para empezar, tengo un menú que se lista de una base de datos con estos campos

id (autonumérico, primary key);
label (varchar, vendría a ser el nombre de la sección);
parent (id del parent, para indicar subsecciones);
content (contenido de la sección, lo utilizo en otra parte del sitio);

ahora, lo que intento hacer es agregar un form mediante el cual pueda agregar secciones, y acá está el código:

Cita:
<form action="secciones.php" method="post">
<fieldset>
<table border="0">
<tr>
<td>Nombre</td>
<td>Dentro de:</td>
</tr>
<tr>
<td><input type="text" name="nombre" /></td>
<td><select name="parent">
<?include ("addseccion.php");?>
</select></td>
</tr>
<tr>
<td colspan="2"><input type="Submit" value="Insertar"></td>
</tr>
</table>
</fieldset>
</form>
Son dos campos: nombre (de la sección) y luego -el problema- un include a addseccion.php que lo que quiero es que me devuelva como opciones de un select todas las secciones disponibles, para setear como parent a la sección elegida

addsedccion.php:

Cita:
<?php
include ("mysqlconn.php");
$sql = "SELECT label, id FROM secciones";
$seccion = mysql_query($sql);
while ($obj = mysql_fetch_object($seccion)) {
$label[$obj->label]['label'] = $obj->label;
$id[$obj->id]['id'] = $obj->id;
echo "<option value=".$id.">".$label."</option>";
}
?>
Lo que intento es que, por cada entrada de la base de datos, tome el id y el label, para que el select quede de esta manera
<option value=id> label </option>
de manera que el select despliegue tantas opciones como secciones existentes y al elegirla, sea el id correspondiente a esa row el parent de la sección creada

¿El problema? Cuando ejecuto todo esto en mi sitio me devuelve una gran cantidad de opciones con label "Array", entonces despliego las opciones y veo:
Array
Array
Array
Array
Array
Array
Array
Array
Array
Array
etc...

tampoco se si a cada uno de esos arrays le corresponde el id del parent

si no se entiende por favor pregunten
  #2 (permalink)  
Antiguo 18/07/2011, 11:12
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: Agregar secciones desde el sitio

Hola, Prueba reemplazando esta linea :

Código PHP:
Ver original
  1. echo '<option value="'.$id.'">"'.$label.'"</option>';

Según veo faltan ''

__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #3 (permalink)  
Antiguo 18/07/2011, 11:14
Avatar de Martriay  
Fecha de Ingreso: noviembre-2010
Mensajes: 80
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Agregar secciones desde el sitio

En vez de Array ahora me devuelve "Array" (con las "") jajajaja

edit: acabo de contar, me devuelve 21 opciones "Array" y el sitio cuenta con 25 secciones
  #4 (permalink)  
Antiguo 18/07/2011, 11:20
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: Agregar secciones desde el sitio

Prueba con esto :

Código PHP:
Ver original
  1. <?php
  2. include ("mysqlconn.php");
  3. $sql = "SELECT label, id FROM secciones";
  4. $seccion = mysql_query($sql) or die ("error xD");
  5. while ($obj = mysql_fetch_array($seccion))
  6. {
  7.     $label=$obj['label'];
  8.     $id=$obj['id'];
  9. echo '<option value="'.$id.'">"'.$label.'"</option>"';
  10. }
  11. ?>
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #5 (permalink)  
Antiguo 18/07/2011, 11:27
Avatar de Martriay  
Fecha de Ingreso: noviembre-2010
Mensajes: 80
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Agregar secciones desde el sitio

Funcionó, muchas gracias (:

Para futuro, podrías explicarme lo que cambiaste? veo la diferencia de código, pero no entiendo el error ni por qué me devolvía "Array" en vez de, no se, un error php.

Etiquetas: mysql, secciones, sql
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 05:47.