PHP - crear un lista menu multiple y guardar en un campo mysql

 
Vista:
sin imagen de perfil
Val: 32
Ha aumentado su posición en 9 puestos en PHP (en relación al último mes)
Gráfica de PHP

crear un lista menu multiple y guardar en un campo mysql

Publicado por guillermo (14 intervenciones) el 29/12/2018 02:26:19
Buenas noches este es mi primer post por aqui y quisiera me colaboren con esta duda:

Tengo que hacer un formulario con varios campos uno materia que viene con get , codigo_estudiante con otro GET clei con otro GET periodo lo traigo desde la base de datos y comportamiento lo traigo desde la base de datos, en Comportamiento hice una lista de seleccion multiple y solo me guarda una seleccion y nesecito es que los que seleccione de esa lista se guarden en un solo campo separados por comas en mysl.

formulario hecho en dreamweaver

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<form action="<?php echo $editFormAction; ?>" method="POST" name="form2" id="form2">
  <table align="center">
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Materia:</td>
      <td><input type="text" name="materia" value="<?php echo $mater ?>" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Codigo_estudiante:</td>
      <td><input type="text" name="codigo_estudiante" value="<?php echo $codigo ?>" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Clei:</td>
      <td><input type="text" name="clei" value="<?php echo $clei ?>" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Periodo:</td>
      <td><select name="periodo">
        <?php
do {
?>
        <option value="<?php echo $row_Recordset2['descripcion_periodo']?>"<?php if (!(strcmp($row_Recordset2['descripcion_periodo'], $row_Recordset2['descripcion_periodo']))) {echo "selected=\"selected\"";} ?>><?php echo $row_Recordset2['descripcion_periodo']?></option>
        <?php
} while ($row_Recordset2 = mysql_fetch_assoc($Recordset2));
  $rows = mysql_num_rows($Recordset2);
  if($rows > 0) {
      mysql_data_seek($Recordset2, 0);
	  $row_Recordset2 = mysql_fetch_assoc($Recordset2);
  }
?>
 
      </select> </td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Comportamiento:</td>
      <td><label for="select"></label>
        <select name="select" size="6" multiple="multiple" id="select">
          <?php
do {
?>
          <option value="<?php echo $row_Recordset4['cod']?>"><?php echo $row_Recordset4['referencia']?></option>
          <?php
} while ($row_Recordset4 = mysql_fetch_assoc($Recordset4));
  $rows = mysql_num_rows($Recordset4);
  if($rows > 0) {
      mysql_data_seek($Recordset4, 0);
	  $row_Recordset4 = mysql_fetch_assoc($Recordset4);
  }
?>
        </select>
 
 
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">&nbsp;</td>
      <td><input type="submit" value="Insertar registro" /></td>
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="form2" />
</form>

php para insertar los datos

1
2
3
4
5
6
7
8
9
10
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
  $insertSQL = sprintf("INSERT INTO notas (materia, codigo_estudiante, clei, periodo, Comportamiento) VALUES (%s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['materia'], "text"),
                       GetSQLValueString($_POST['codigo_estudiante'], "text"),
                       GetSQLValueString($_POST['clei'], "text"),
                       GetSQLValueString($_POST['periodo'], "text"),
                       GetSQLValueString($_POST['select'], "text"));
 
  mysql_select_db($database_notas, $notas);
  $Result1 = mysql_query($insertSQL, $notas) or die(mysql_error());


que debo cambiar para que me registre varios datos de comportamiento en el mismo campo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de santi
Val: 588
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

crear un lista menu multiple y guardar en un campo mysql

Publicado por santi (204 intervenciones) el 29/12/2018 02:56:16
Hola,

en un selector múltiple podrías añadir un nombre como array:

1
<optio value="..." name="comportamiento[]">...</option>

Entonces lo recibes como un array:

1
2
3
4
5
6
7
8
$comportamientos = $_POST['comportamiento'];
//y ejecutas tus funciones dentro de un foreach:
 
if(is_array($comportamientos)){
    foreach($comportamientos as $comportamiento){
        //$comportamiento = cada uno de los campos seleccionados
    }
}

Prueba a ver ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 32
Ha aumentado su posición en 9 puestos en PHP (en relación al último mes)
Gráfica de PHP

crear un lista menu multiple y guardar en un campo mysql

Publicado por guillermo (14 intervenciones) el 29/12/2018 16:35:48
buen dia agradezco su pronta respuesta asi como lo expones si recoje los nombres pero no se como hacer para insertarlos en la base de datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar