Foros del Web » Programando para Internet » PHP »

Guardar un Select Multiple (ayuda)

Estas en el tema de Guardar un Select Multiple (ayuda) en el foro de PHP en Foros del Web. Hola! les comento mi problema: Tengo un formulario en el cual tengo un select Multiple. Lo que necesito es guardar los campo de los selects ...
  #1 (permalink)  
Antiguo 11/04/2008, 16:47
 
Fecha de Ingreso: abril-2007
Mensajes: 33
Antigüedad: 17 años
Puntos: 0
Guardar un Select Multiple (ayuda)

Hola! les comento mi problema:

Tengo un formulario en el cual tengo un select Multiple. Lo que necesito es guardar los campo de los selects seleccionados en una variable separados por algun caracter, como por ejemplo "-". Busque un poco y esto lo puedo hacer por medio de la funcion Implode, pero me es imposible guardarla en la tabla.

Saludos y espero una idea que me abra un poco la mente
  #2 (permalink)  
Antiguo 11/04/2008, 16:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: Guardar un Select Multiple (ayuda)

yo si entiendo lo ke kieres... pero, ke ha fallado... pon tu codigo?
  #3 (permalink)  
Antiguo 11/04/2008, 16:59
 
Fecha de Ingreso: abril-2007
Mensajes: 33
Antigüedad: 17 años
Puntos: 0
Re: Guardar un Select Multiple (ayuda)

Cita:
Iniciado por pateketrueke Ver Mensaje
yo si entiendo lo ke kieres... pero, ke ha fallado... pon tu codigo?
Gracias por tu interes, aca pongo el codigo del formulario:

Código PHP:
<?php 
//Conecto con la Base de Datos.
include ("../connect.php");
include (
"funciones.php");
//Recibo el formulario.
if (isset($_POST["publicar"]) && $_POST["publicar"] == "Publicar"){
    
//Compruebo que el campo no este vacio.
    
if(!empty($_POST["titulo"])){
        
//Creo una variable y le asigno el valor a insertar.
        
$titulo $_POST["titulo"];
        
$fuente $_POST["fuente"];
        
$nota $_POST["nota"];
        
$nota nl2br($nota);
        
$id_cate $_POST["id_cate"];
        
        
//Realizo el INSERT en la Base
        
$sqlInsertCate mysql_query ("INSERT INTO blog (titulo, fuente, nota, id_cate, fecha) 
                                    VALUES ('$titulo', '$fuente', '$nota', '$id_cate', NOW())"
$link
                                    or die (
mysql_error());
        
//Mensaje de Exito.
        
print ("Se cargo un nuevo Post");
    }else{
        print (
"Debe completar el formulario");
    }
}
else{
?>
    <form method="POST">
    <table>
      <tr>
        <td>Titulo:</td>
        <td><input type="text" name="titulo"></td>
      </tr>
      <tr>
        <td>Autor:</td>
        <td><input type="text" name="fuente" value="kp - MDPTuner.com"></td>
      </tr>
      <tr>
        <td>Nota:</td>
        <td><textarea name="nota" cols="45" rows="5"></textarea></td>
      </tr>
      <tr>
        <td colspan="2"><?php include("select-cate.php"); ?></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td><input name="publicar" type="submit" value="Publicar"/></td>
      </tr>
    </table>
</form>
<?php 
}
?>
estere es el codigo que me genera los select, que en el formulario hago un include para mostrarlos:

Código PHP:
<?php
    
//Realizo la coneccion con la base de datos.
    
include ("../connect.php");
    
//Ejecuto la consulta a la base de datos.
    
$result mysql_query ("SELECT * FROM blog_cate ORDER BY cate ASC"$link);
    
//Com if/else, asigno a $row el primer registro de la consulta, y en caso de no encontrar, muestro  mensaje "No se encontro ningun registro".
    //En $row almacceno los registros que voy recorriendo con la funcion mysql_fetch_array..
    
if ($row mysql_fetch_array($result)){
        
?><select name="id_cate[]" size="5" multiple="multiple"><?php
        
do{
            
?><option value="<?php print($row["id_cate"]); ?>"><?php print($row["cate"]); ?></option><?php
        
}while ($row mysql_fetch_array($result));?>
          </select><?php
    
}else{
        print(
"No se encontro ninguna Categoria");
    }
?>

Errores no tengo, osea, pruebo distintas variantes y no logro guardar los
id_cate de cada select que seleccion. Lo que necesito es guardar los distintos id_cate seleccionados en una sola variable.
  #4 (permalink)  
Antiguo 11/04/2008, 17:04
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Guardar un Select Multiple (ayuda)

Probaste con implode?

Código PHP:
$cadena implode(",",$_POST['id_cate']); 
Y ya tienes tu variable


Saludos.
  #5 (permalink)  
Antiguo 11/04/2008, 17:09
 
Fecha de Ingreso: abril-2007
Mensajes: 33
Antigüedad: 17 años
Puntos: 0
Re: Guardar un Select Multiple (ayuda)

Cita:
Iniciado por Carlojas Ver Mensaje
Probaste con implode?

Código PHP:
$cadena implode(",",$_POST['id_cate']); 
Y ya tienes tu variable


Saludos.

Probe de ese mode, lo que sucedes es que si por ejemplo seleccion dos registros, me guarda solo uno! no logro que guarde los dos registros separados por la coma, ese es el problema que tenia!
  #6 (permalink)  
Antiguo 11/04/2008, 17:31
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Guardar un Select Multiple (ayuda)

Uhmmm que raro que no te funcione así de esa forma , a ver otra que se me ocurre es esta pruebala.

Código PHP:
$cadena '';

for(
$i 0$i count($_POST['id_cate']); $i++)
{
      
$cadena .= $_POST['id_cate'][$i];


Saludos.
  #7 (permalink)  
Antiguo 11/04/2008, 17:39
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Guardar un Select Multiple (ayuda)

Tambien te digo cambia la forma de generar el MultiSelect

Código PHP:
<?php if ( mysql_num_rows($result) > 0)
?>
<select name="id_cate[]" size="5" multiple="multiple">
<?php while ($row mysql_fetch_array($result)){?>  
   <option value=" <?php print $row["id_cate"]; ?>"> <?php print $row["cate"]; ?></option> 
<?php}
}
else
{
    echo 
"No se encontraron categorias";
}
?>
 </select>

Saludos.
  #8 (permalink)  
Antiguo 11/04/2008, 17:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: Guardar un Select Multiple (ayuda)

segun mi mente, dice esto... el rollo es el id_cate[] no lo pongas en modo arreglo, ya ke de por si... al ser lista multiple, la trata como tal... supongo...

de ahi, en fuera... ton's nose
  #9 (permalink)  
Antiguo 12/04/2008, 09:48
 
Fecha de Ingreso: abril-2007
Mensajes: 33
Antigüedad: 17 años
Puntos: 0
Re: Guardar un Select Multiple (ayuda)

Gracias gente por las respuestas, hoy probare aver si lo puedo solucionaR!
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 10:10.