como pasar PDO o POO a metodo por procedimientos?
Publicado por Shaft Pun Isher (4 intervenciones) el 26/08/2015 05:14:14
Hola, nuevamente aqui con un dolor de cabeza... he estado buscando en internet alguna forma de aprender a usar los checkbox con php y mysql, lastimosamente no he tenido mucho exito... buscando y buscando encontré en una web este código:
con estas tablas:
El problema que tengo es que entiendo una parte apenas y para ponerlo en practica intente modificarlo a lo que ya estoy empezando a entender de php que es el metodo por procedimientos, alguien podria traducirme el codigo lineas arriba para poder entender lo que hace cada cosa?
He llegado a hacer esto:
este codigo de aqui:
lo interprete asi:
No se si estoy en el camino correcto, el caso es que de aqui en adelante estoy perdido.
Desde ya muchas gracias.
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
<?php
try
{ $dbcon = new PDO("mysql:host=localhost;dbname=testdb", 'testuser', 'testpwd');
$dbcon->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
} catch (PDOException $e) {echo $e->getMessage(); }
$exampleUserId = 1234; // example user id or the user who made the selection
try
{ $stmt = $dbcon ->query("SELECT tbl_fruit.index_id, tbl_fruit.fruit FROM tbl_fruit");
$fruitResults = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) { echo $e->getMessage(); }
if(isset($_POST['btn_save']))
{ if(!empty($_POST['catSelection']))
{ foreach($_POST['catSelection'] as $value)
{ try
{ $query = $dbcon->prepare("INSERT INTO tbl_choices(cho_userid, cho_category) VALUES (:userId, :userChoice)");
$query->bindParam(':userId', $exampleUserId);
$query->bindParam(':userChoice', $value);
$query->execute();
} catch (PDOException $e) { echo $e->getMessage(); }
}
echo '<h2>Saved user selection.</h2>';
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Display checkbox, category list from database</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<h2>Make your selection(s)</h2>
<form name="fruitcheckbox" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<?php
foreach($fruitResults as $key => $value)
{ echo '<input type="checkbox" name="catSelection[]" value="' . $value['index_id'] . '">'. $value['fruit']; }
?>
<br>
<input type="submit" value="Save" name="btn_save">
</form>
</body>
</html>
con estas tablas:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE TABLE tbl_fruit (
index_id int NOT NULL AUTO_INCREMENT,
fruit varchar(25) DEFAULT NULL,
PRIMARY KEY(index_id));
INSERT INTO tbl_fruit(index_id, fruit) VALUES (null, ‘apple’);
INSERT INTO tbl_fruit(index_id, fruit) VALUES (null, ‘Orange’);
INSERT INTO tbl_fruit(index_id, fruit) VALUES (null, ‘Grapefruit’);
INSERT INTO tbl_fruit(index_id, fruit) VALUES (null, ‘Banana’);
INSERT INTO tbl_fruit(index_id, fruit) VALUES (null, ‘Watermelon’);
CREATE TABLE tbl_choices (
cho_index int NOT NULL AUTO_INCREMENT,
cho_userid varchar(5) DEFAULT NULL,
cho_category int DEFAULT NULL,
PRIMARY KEY(cho_index));
El problema que tengo es que entiendo una parte apenas y para ponerlo en practica intente modificarlo a lo que ya estoy empezando a entender de php que es el metodo por procedimientos, alguien podria traducirme el codigo lineas arriba para poder entender lo que hace cada cosa?
He llegado a hacer esto:
1
2
3
4
5
6
7
$s_servidor = 'localhost';
$u_usuario = 'root';
$c_clave = '';
$b_basedatos = 'testcheckbox';
$linconn = mysqli_connect($s_servidor, $u_usuario, $c_clave, $b_basedatos) or die("Se produjo un error durante la conexión " . mysqli_error($linconn));
mysqli_set_charset($linconn, "utf8");
este codigo de aqui:
1
2
3
4
try
{ $stmt = $dbcon ->query("SELECT tbl_fruit.index_id, tbl_fruit.fruit FROM tbl_fruit");
$fruitResults = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) { echo $e->getMessage(); }
lo interprete asi:
1
2
3
4
5
6
$tabla = "tbl_fruit";
$peticion = "SELECT tbl_fruit.index_id, tbl_fruit.fruit FROM $tabla";
$resultado = mysqli_query($linconn, $peticion) or die("<br/>Error reading database: ".mysqli_error($linconn));
while($filaFruta = mysqli_fetch_assoc($resultado){
echo $filaFruta['fruit'];
}
No se si estoy en el camino correcto, el caso es que de aqui en adelante estoy perdido.
Desde ya muchas gracias.
Valora esta pregunta


0