ingresando el valor de la casilla de verificación en mysql

tengo las siguientes casillas de verificación

<input type="checkbox" name="weekday[]" value="Monday" /> Monday &nbsp;&nbsp;&nbsp;
<input type="checkbox" name="weekday[]" value="Tuesday" /> Tuesday &nbsp;&nbsp;&nbsp;
<input type="checkbox" name="weekday[]" value="Wednesday" /> Wednesday </br>
<input type="checkbox" name="weekday[]" value="Thursday" /> Thursday &nbsp;&nbsp;&nbsp;
<input type="checkbox" name="weekday[]" value="Friday" /> Friday &nbsp;&nbsp;&nbsp;
<input type="checkbox" name="weekday[]" value="Saturday" /> Saturday &nbsp;&nbsp;&nbsp;
<input type="checkbox" name="weekday[]" value="Sunday" /> Sunday &nbsp;&nbsp;&nbsp;

Me gustaría ingresar todos los valores marcados en el campo "día" en mysql separados por coma,

por favor ayuda

preguntado el 27 de agosto de 11 a las 18:08

Para empezar, $_POST['weekday'] será una matriz que contiene las casillas de verificación seleccionadas. Si no se selecciona nada, isset($_POST['weekday']) será falso. -

5 Respuestas

¿Qué tal

implode(',',$_POST['weekday'])

?

Respondido 28 ago 11, 07:08

field in mysql separated by coma, - génesis

¿Dónde está la contradicción en mi respuesta? - Fantasma de Madara

Trivial: ¿sería ['día de la semana'] ... no 's'? - Dave

@dave anotó y corrigió. la próxima vez, siéntete libre de sugerir una actualización de mi publicación. - Fantasma de Madara

obtendrá $ _POST ['weekday'] como una matriz. puedes usarlo como

$_POST['weekday'][0];
$_POST['weekday'][1];
$_POST['weekday'][2];
$_POST['weekday'][3];
$_POST['weekday'][4];
$_POST['weekday'][5];
$_POST['weekday'][6];

Respondido 27 ago 11, 22:08

-1. no es correcto. no mostrará valores para las casillas de verificación que no estén marcadas. - Fantasma de Madara

Para buscar deberías implode(',' , $_POST['weekday']) y use

$sql = "select * from table where day in ('" . implode("','" , $_POST['weekday']) . "')"; 

en consulta sql

Respondido 27 ago 11, 23:08

@ Rikudo-Sennin ¿A qué te refieres? - Andrej Ludinovskov

lo que quiero decir es que tiene un código en su respuesta que no está dentro de las etiquetas de código. - Fantasma de Madara

Solo puse instrucciones para escribir el código adecuado. Así que no veo motivo para votar negativamente. - Andrej Ludinovskov

   if(isset($_POST['submit_btn_name']))
   {
      $days="";

      if(isset($_POST['weekday']))
      {

          foreach($_POST['weekday'] as $id)
          {
                $days.=$id.",";
          }
              $days = substr($days, 0, -1);

      }

      echo $days;

   }

EDITAR esto es en respuesta al comentario sobre la consulta para publicar la variable $ days, ya que me resultó difícil formatear el código en los comentarios.

  $sql1=mysql_query("INSERT INTO class (class_id, subject_id, student_id, available_days, available_time, status) VALUES ('".$class_id."','".$subject_id."','".$student_id."','".$days."','".$available_t‌​ime."','pending')"‌​)or die('Error: There was error while submitting the schedule, please try again.');

Respondido 28 ago 11, 00:08

los datos ingresan al campo de día de mysql usando este método, sin embargo, también obtengo un error de análisis Variable indefinida: días - ABI

lo siento, este código no muestra errores en mi final .. ¿puede decir la línea donde se muestra el error .. - Mithun Satheesh

Lo obtengo al intentar ejecutar la consulta SQL para insertar el valor almacenado en $ días en el campo de día de mysql - ABI

¿Puedes publicar mysql_query también? En realidad, ese error no debería mostrarse si la variable $ días ya está configurada - Mithun Satheesh

$ sql1 = mysql_query ("INSERT INTO class (class_id, subject_id, student_id, available_days, available_time, status) VALUES ('$ class_id', '$ subject_id', '$ student_id', '$ days', '$ available_time', ' pendiente')"); if (! mysql_query ($ sql1)) {die ('Error: Hubo un error al enviar la programación, inténtelo de nuevo.'); Salida; } - ABI

Puedes hacer esto:

$arr = array();

// check for CHECKED checkboxes
for(var $i = 0; $i > count($_POST['weekday']); $i++){
   // if this checkbox is checked
   if (isset($_POST['weekday'][$i])) { 
       $arr[] = $_POST['weekday'][$i];
   }
}

// convert to comma separated
$checkbox_str = implode(',', $arr);

Ahora puedes usar $checkbox_str para guardar en la base de datos.

Respondido 27 ago 11, 22:08

incorrecto. Solo las casillas de verificación marcadas envían la publicación a la solicitud: Fantasma de Madara

Sería más rápido de hacer $checkbox_str = implode(',', $_POST['weekday']); - Jonathon

obtengo este error Parse error: error de sintaxis, T_VAR inesperado, esperando ';' - ABI

Ademas tu no pones count en el objeto for-loop ya que calculará el recuento de cada iteración. - Gustav

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.