PHP - insertar tabla array en sql

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

insertar tabla array en sql

Publicado por Shlomo (4 intervenciones) el 17/09/2018 13:52:37
Hola a todos!
Estoy creando un website que requiere membresia y necesito que las actividades seleccionadas por el usuario (generada en una tabla) se inserten en la base de datos,

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
<html>
<form  method="post" action="member.php">
<table id= "activities" class="activities" border='5' cellspacing='5' cellpadding='1' align=center >
    <tr>
    <th>Action:</th>
    <th>Activities:</th>
    <th>Time:</th>
    <th>Classes:</th>
    </tr>
 
    <tr>
    <td><input type="checkbox" name="select"></td>
    <td><select id = "activity" name = "activity" value="<?php echo $activity; ?>">
            <option selected hidden value="">Select Activity</option>
            <option value = '101'>Yoga</option>
            <option value = '102'>Aerobics</option>
            <option value = '103'>Pilates</option>
            <option value = '104'>Capoeira</option>
            <option value = '105'>Krag Maga</option>
            <option value = '106'>Martial Arts</option>
            <option value = '107'>Latin Dance</option>
        </select></td>
    <td><select id = "period_rep" name = "frequency" value="<?php echo $frequency; ?>">
            <option selected hidden value="">Select Period</option>
            <option value = 'u'>Individual</option>
            <option value = 'w'>Week</option>
            <option value = 'm'>Month</option>
            <option value = 'y'>Year</option>
        </select></td>
 
    <td><input type="number" id="quantity" name="quantity" min="0" max="7" step="1" value="<?php echo $quantity; ?>"></td>
 
    </tr>
</table>
</html>

necesito la codificacion en php para insertar en la base de datos.
no se si escribi correctamente,

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
<?php
session_start();
 
// connect to the database
require_once './conexion.php';
 
// REGISTER Activities INFO
// initializing variables
$activity ="";
$quantity ="";
$frequency = "";
 
if (isset($_POST['act_select'])) {
 
  // receive all input values from the form
  //$num_activities = mysqli_real_escape_string($db, $_POST['Membership_Code']);
  $activity = mysqli_real_escape_string($db, $_POST['activity']);
  $quantity = mysqli_real_escape_string($db, $_POST['quantity']);
  $frequency = mysqli_real_escape_string($db, $_POST['frequency']);
 
 
  // Finally, register personal info if there are no errors in the form
  if (count($errors) == 0) {
}
}
if(is_array($records)){
    foreach ($records as $row) {
        $activity = mysql_real_escape_string($records[$row][0]);
        $quantity = mysql_real_escape_string($records[$row][1]);
        $frequency = mysql_real_escape_string($records[$row][2]);
        $query = "INSERT INTO classes (num_transaction, ID, code_registration, activity, num_clases, frequency, date_register) VALUES (NULL, $ID, 100,  '". $activity."','".$quantity."','".$frequency."' , now())";
  	mysqli_query($db, $query);
 
  	header('location: member.php');
  }
}
 
?>

gracias por su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

insertar tabla array en sql

Publicado por xve (6935 intervenciones) el 17/09/2018 17:36:44
Hola Shlomo, en la linea 13 haces referencia a la variable: act_select, la cual no se encuentra en el formulario HTML!!!
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: 9
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

insertar tabla array en sql

Publicado por shlomo (4 intervenciones) el 18/09/2018 15:18:08
Hola Xve, gracias por responder
este es el formulario correcto, la referencia que tu haces es al boton submit que activa el registro.
Aqui te adjunto el formato html

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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<html>
<head>
  <title>Personal Info</title>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<script>
function CreateFunction() {
    var tr, td;
	tr = document.all.activities.insertRow();
	td = tr.insertCell();
	td.innerHTML = "<input type='checkbox' id='select'>";
	td = tr.insertCell();
	td.innerHTML = "<select id='activity'>" +
	               "<option>Select Activity" +
					"<option>Yoga" +
					"<option>Aerobics" +
					"<option>Pilates" +
					"<option>Capoeira" +
					"<option>Krag Maga" +
					"<option>Martial Arts" +
					"<option>Latin Dance";
	td = tr.insertCell();
	td.innerHTML = "<select id='frequency'>" +
	               "<option>Select Period" +
					"<option>Individual" +
					"<option>Week" +
					"<option>Month" +
					"<option>Year" ;
 
	td = tr.insertCell();
	td.innerHTML = "<input type='number' id='quantity'>";
	contLin++;
 
	}
 
function DeleteFunction(activities) {
    try {
	var table = document.getElementById("activities");
	var rowCount = table.rows.length;
	for(var i=0; i<rowCount; i++) {
	var row = table.rows[i];
	var chkbox = row.cells[0].childNodes[0];
	if(null != chkbox && true == chkbox.checked) {
	table.deleteRow(i);
	rowCount--;
	i--;
	}
	}
	}catch(e) {
	alert(e);
	}
	}
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
<form action = "member.php" method = "POST">
    <fieldset>
 
        <legend>Activities</legend>
 
            <table id= "activities" class="activities" border='5' cellspacing='5' cellpadding='1' align=center >
                <tr>
                <th>Action:</th>
                <th>Activities:</th>
                <th>Time:</th>
                <th>Classes:</th>
                </tr>
 
                <tr>
                <td><input type="checkbox" name="select"></td>
                <td><select id = "activity" name = "activity" value="<?php echo $activity; ?>">
                        <option selected hidden value="">Select Activity</option>
                        <option value = '101'>Yoga</option>
                        <option value = '102'>Aerobics</option>
                        <option value = '103'>Pilates</option>
                        <option value = '104'>Capoeira</option>
                        <option value = '105'>Krag Maga</option>
                        <option value = '106'>Martial Arts</option>
                        <option value = '107'>Latin Dance</option>
                    </select></td>
                <td><select id = "period_rep" name = "frequency" value="<?php echo $frequency; ?>">
                        <option selected hidden value="">Select Period</option>
                        <option value = 'u'>Individual</option>
                        <option value = 'w'>Week</option>
                        <option value = 'm'>Month</option>
                        <option value = 'y'>Year</option>
                    </select></td>
 
                <td><input type="number" id="quantity" name="quantity" min="0" max="7" step="1" value="<?php echo $quantity; ?>"></td>
 
                </tr>
            </table>	<br>
 
                <input type='button' class="btn" id="add_act"name='add_act' value="Add" onclick="CreateFunction('activities')"></input>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;
                <input type='button' class="btn" id="delete_act" name='delete_act' value="Delete" onclick="DeleteFunction('activities')"></input>
                <div class="input-group">
            <button type="submit" class="btn" name="act_select">Save</button>
            </div>
 
    </fieldset>
</form>
</body>
</html>

necesito la codificacion correcta en php (la conexion es estandar)

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
<?php
session_start();
 
// connect to the database
require_once './conexion.php';
 
// REGISTER Activities INFO
// initializing variables
$activity ="";
$quantity ="";
$frequency = "";
 
if (isset($_POST['act_select'])) {
 
  // receive all input values from the form
  $activity = mysqli_real_escape_string($db, $_POST['activity']);
  $quantity = mysqli_real_escape_string($db, $_POST['quantity']);
  $frequency = mysqli_real_escape_string($db, $_POST['frequency']);
 
 
  // Finally, register personal info if there are no errors in the form
  if (count($errors) == 0) {
}
}
if(is_array($records)){
    foreach ($records as $row) {
        $activity = mysql_real_escape_string($records[$row][0]);
        $quantity = mysql_real_escape_string($records[$row][1]);
        $frequency = mysql_real_escape_string($records[$row][2]);
        $query = "INSERT INTO classes (num_transaction, ID, code_registration, activity, num_clases, frequency, date_register) VALUES (NULL, $ID, 100,  '". $activity."','".$quantity."','".$frequency."' , now())";
  	mysqli_query($db, $query);
 
  	header('location: member.php');
  }
}
 
?>

Gracias nuevamente
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
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

insertar tabla array en sql

Publicado por xve (6935 intervenciones) el 18/09/2018 16:16:35
En la linea 25, de donde sale la variable $records?

De todas maneras, los valores obtenidos del formulario, no veo donde los guardas 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
sin imagen de perfil
Val: 9
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

insertar tabla array en sql

Publicado por Shlomo (4 intervenciones) el 19/09/2018 20:03:10
La variable records es cada una de las lineas insertadas en la tabla.
Ls tabla en la base de datos se llama classes.
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
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

insertar tabla array en sql

Publicado por xve (6935 intervenciones) el 19/09/2018 21:08:22
Entiendo, pero tu lo utilizas como una variable... por lo tanto tiene que tener algun valor...

puedes hacer un:
1
echo $redords;
haber que te devuelve?
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