Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] seleccion multiple

Estas en el tema de seleccion multiple en el foro de PHP en Foros del Web. buenas noches necesito a travès de una selecciòn multiple que los campos selecciondos por el usuario se inserten con su valor en la base de ...
  #1 (permalink)  
Antiguo 26/09/2015, 18:52
 
Fecha de Ingreso: septiembre-2015
Ubicación: caracas
Mensajes: 75
Antigüedad: 8 años, 7 meses
Puntos: 0
seleccion multiple

buenas noches necesito a travès de una selecciòn multiple que los campos selecciondos por el usuario se inserten con su valor en la base de datos y los que no seleccione el usuario se inserten con el valor=0, esto con el fin de que cuando realice un reporte se compare la data de los campos con la data de las tablas padres.

la selecciòn a travès del checkbox trabajo bien asi como la opciòn simple, el problema lo tengo con el opciòn multiple cuando envio la data me toma solo la ùltima

ESTA ES EL FORMULARIO

<html>
<head>
<title>SISTEMA 2</title>
</head>
<body>
<center>
<h1>SISTEMA 2</h1>
<table border="0">
<form action="agregar.php" method="post">
<tr>
<td>cedula</td>
<td><input type="text" name="txtcedula"></td>
</tr>
<tr>
<td>Pasatiempo</td>
<td>
<input type="checkbox" name="pasa1" value="1">beseball<br>
<input type="checkbox" name="pasa2" value="2">football<br>
<input type="checkbox" name="pasa3" value="3">chess<br>
<input type="checkbox" name="pasa4" value="4">basketball<br>
</td>
</tr>
<tr>
<td>Cursos realziados</td>
<td>
<select name="txtcursos[]" size="4" multiple="miltiple">
<option value="1">Basic</option>
<option value="2">Visual C</option>
<option value="3">Pascal</option>
<option value="4">Lenguaje C</option>
</select>
</td>
</tr>


</select>
</td>
</tr>
<tr>

<tr>
<td>profesion</td>
<td>
<select name="txtprofesion">
<option value=1>Postdoctorados</option>
<option value=2>Doctor</option>
<option value=3>Master</option>
</select>
</td>
</tr>


<tr>
<td>
<input type="submit" value="Guardar">
</td>
<td>
<input type="reset" value="Limpiar">
</td>
</tr>
</form>
</table>

<a href="menu.html">volver al menu Princial</a>
</center>
</body>
</html>

ESTE ES EL PHP QUE TOMA LA DATA Y LA INSERTA EN LA BASE DE DATOS ALU

<?php



// recoger data cedula

$cedx=$_POST["txtcedula"];

// recoger data pasatiempo

$pa1x= (isset($_POST['pasa1'])?1:0);
$pa2x= (isset($_POST['pasa2'])?2:0);
$pa3x= (isset($_POST['pasa3'])?3:0);
$pa4x= (isset($_POST['pasa4'])?4:0);

// recoger data de curso AQUI TENGO EL PROBLEMA


if($_POST["txtcursos"]==1){
$cu1x=1;
}else{
$cu1x=0;
};

if($_POST["txtcursos"]==2){
$cu2x=2;
}else{
$cu2x=0;
};


if($_POST["txtcursos"]==3){
$cu3x=3;
}else{
$cu3x=0;
};


if($_POST["txtcursos"]==4){
$cu4x=4;
}else{
$cu4x=0;
};


// toma la data de la profesiòn

$prox=$_POST["txtprofesion"];

$sql="insert into alu values($cedx,$pa1x,$pa2x,$pa3x,$pa4x,$cu1x,$cu2x,$ cu3x,$cu4x,$prox)";

echo $sql;exit(0);

include("conexion.php");
$result=mysql_query($sql,$conn);
?>
<html>
<body>
<center>
<h1>datos agregados con exito</h1>
<br>
<a href="menu.html">volver al menu principal</a>
</center>
</body>
</html>

si me pueden ayudar gracias
__________________
ymanol caires z
  #2 (permalink)  
Antiguo 26/09/2015, 19:18
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: seleccion multiple

es medio raro este form, bueno solo te falkta comprar el valor:

Código PHP:
Ver original
  1. <?
  2. $pa1x= (isset($_POST['pasa1'] && $_POST['pasa1']==1)?1:0);
  3. $pa2x= (isset($_POST['pasa2'] && $_POST['pasa2']==2)?2:0);
  4. $pa3x= (isset($_POST['pasa3'] && $_POST['pasa3']==3)?3:0);
  5. $pa4x= (isset($_POST['pasa4'] && $_POST['pasa4']==4)?4:0);
  6. ?>
  #3 (permalink)  
Antiguo 26/09/2015, 19:53
 
Fecha de Ingreso: septiembre-2015
Ubicación: caracas
Mensajes: 75
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: seleccion multiple

el problema esta en los cu1x, cu2x, cu3z y cu4x que son los cursos lo que indicas son la data que recoge de los checbox eso trabaja bien, el problema lo rengo en los cursos de todos modos gracias.
__________________
ymanol caires z
  #4 (permalink)  
Antiguo 26/09/2015, 20:27
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años, 1 mes
Puntos: 8
Respuesta: seleccion multiple

Ajusta este script a tu solicitud.
Código PHP:
Ver original
  1. if(isset($_POST['txtcursos'])){
  2.     $aCursos=$_POST['txtcursos'];
  3.     $cu1x=0;$cu2x=0;$cu3x=0;$cu4x=0;
  4.    
  5.     foreach($aCursos as $val){
  6.         if($val==1)$cu1x=1;
  7.         if($val==2)$cu2x=2;
  8.         if($val==3)$cu3x=3;
  9.         if($val==4)$cu4x=4;
  10.     }
  11.     echo $cu1x.",".$cu2x.",".$cu3x.",".$cu4x."<br>";
  12. }
  13.  
  14. echo '
  15. <form method="post">
  16. <select name="txtcursos[]" size="4" multiple="miltiple">
  17. <option value="1">Basic</option>
  18. <option value="2">Visual C</option>
  19. <option value="3">Pascal</option>
  20. <option value="4">Lenguaje C</option>
  21. </select>
  22. <br><input type="submit" value="ENVIAR">
  23. </form>
  24. ';
  #5 (permalink)  
Antiguo 27/09/2015, 05:48
 
Fecha de Ingreso: septiembre-2015
Ubicación: caracas
Mensajes: 75
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: seleccion multiple

Muchas gracias oggy_15_3 excelente trabaja perfecto las variables se insertan en la bd como necesitaba un millòn muchas gracias

El php queda asì

<?php

// recoger data cedula

$cedx=$_POST["txtcedula"];

// recoger data pasatiempo

$pa1x= (isset($_POST['pasa1'])?1:0);
$pa2x= (isset($_POST['pasa2'])?2:0);
$pa3x= (isset($_POST['pasa3'])?3:0);
$pa4x= (isset($_POST['pasa4'])?4:0);

// recoger data de curso

if(isset($_POST['txtcursos'])){
$aCursos=$_POST['txtcursos'];
$cu1x=0;$cu2x=0;$cu3x=0;$cu4x=0;

foreach($aCursos as $val){
if($val==1)$cu1x=1;
if($val==2)$cu2x=2;
if($val==3)$cu3x=3;
if($val==4)$cu4x=4;
}
}

// regoer la data de profesion

$prox=$_POST["txtprofesion"];

//inserta la data en la base de datos

$sql="insert into alu values($cedx,$pa1x,$pa2x,$pa3x,$pa4x,$cu1x,$cu2x,$ cu3x,$cu4x,$prox)";

//echo $sql;exit(0);


// llamamos a la conexiòn

include("conexion.php");
$result=mysql_query($sql,$conn);

?>
<html>
<body>
<center>
<h1>datos agregados con exito</h1>
<br>
<a href="menu.html">volver al menu principal</a>
</center>
</body>
</html>

Nuevamente muchas gracias oggy_15_3
__________________
ymanol caires z

Etiquetas: formulario, html, seleccion, select, sql, tabla
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 11:35.