Autor Tema: DELETE, TRUNCATE en PHP, MySql. Borrar datos en tablas base datos. CU00844B  (Leído 3197 veces)

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Buenas. Posible solución al ejercicio CU00844B del curso de programación web php desde cero.

Citar
EJERCICIO 1
Realiza una consulta y muestra por pantalla los datos correspondientes a filas de la tabla agenda donde la edad sea mayor o igual que 20 y la altura sea mayor o igual que 1.75.

EJERCICIO 2
Crea una tabla que sea copia de agenda a la que denomines agenda3 y un archivo php que al ejecutarlo realice los siguientes procesos:
a) Mostrar el contenido inicial de la tabla agenda3 por pantalla.
b) Eliminar todos los registros de la tabla agenda3 cuyo campo edad sea mayor o igual a 34 y mostrar el contenido actual de la tabla por pantalla.
c) Insertar dos nuevos registros en la tabla agenda3 (elige tú unos datos cualquiera) y mostrar el contenido actual de la tabla por pantalla.
d) Eliminar todos los registros de la tabla agenda3 usando TRUNCATE y mostrar el contenido actual de la tabla por pantalla.
e) Insertar tres nuevos registros en la tabla agenda3 (elige tú unos datos cualquiera) y mostrar el contenido actual de la tabla por pantalla.
f) Eliminar todos los registros de la tabla agenda usando DELETE sin condiciones y mostrar el contenido actual de la tabla por pantalla.

Código: [Seleccionar]
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<h1>Ejercicio 1</h1>
<?php
$link mysqli_connect($hostname $nombreUsuario $contraseña);
mysqli_select_db($link$nombreConexión);
$tildes $link->query("SET NAMES 'utf8'"); //Para que se muestren las tildes
$result mysqli_query($link"SELECT * FROM agenda WHERE edad >= 20 AND altura >= 1.75");

while ($fila mysqli_fetch_array($result)){
if ($fila !=NULL) {
echo "- Nombre: ".$fila['nombre'];
echo " - Apellidos: ".$fila['apellidos'];
echo " - Dirección: ".$fila['direccion'];
echo " - Teléfono: ".$fila['telefono'];
echo " - Edad: ".$fila['edad'];
echo " - Altura: " $fila['altura'] ."<br/>";
echo "**********************************<br/>";}
else {echo "<br/>No hay más datos!!! <br/>";}
}
mysqli_free_result($result);
mysqli_close($link);
?>

<hr>
<h1>Ejercicio 2</h1>
<?php
function mostrarDatos () {
$link mysqli_connect($hostname $nombreUsuario $contraseña);
mysqli_select_db($link$nombreConexión);
$tildes $link->query("SET NAMES 'utf8'"); //Para que se muestren las tildes
$result mysqli_query($link"SELECT * FROM agenda3");
$fila mysqli_fetch_array($result);
if($fila == NULL){
echo 'Tabla vacía';
}
while($fila mysqli_fetch_array($result)){
echo "- Nombre: " $fila['nombre'];
echo " - Apellidos: " $fila['apellidos'];
echo " - Dirección: " $fila['direccion'];
echo " - Teléfono: " $fila['telefono'];
echo " - Edad: " $fila['edad'];
echo " - Altura: " $fila['altura'] ."<br/>"
echo "**********************************<br/>";
}
mysqli_free_result($result);
mysqli_close($link);
}
?>

<h3>apartado a</H3>
<?php
mostrarDatos();
?>

<h3>apartado b</H3>
<?php
$link mysqli_connect($hostname $nombreUsuario $contraseña);
mysqli_select_db($link$nombreConexión);
$result mysqli_query($link"DELETE FROM agenda3 WHERE edad >= 34");
mysqli_close($link);
mostrarDatos();
?>

<h3>apartado c</H3>
<?php
$link mysqli_connect($hostname $nombreUsuario $contraseña);
mysqli_select_db($link$nombreConexión);
$tildes $link->query("SET NAMES 'utf8'"); //Para que se muestren las tildes
mysqli_query($link"INSERT INTO agenda3 VALUES ('Lucas', 'Petrillo Moreno', 'C/ Pintor Goya nº 33', '654421122', 88, 1.85)");
mysqli_query($link"INSERT INTO agenda3 VALUES ('Roberto', 'Petrillo Moreno', 'C/ Pintor Goya nº 7', '954421122', 77, 1.65)");
mysqli_close($link);
mostrarDatos();
?>

<h3>apartado d</H3>
<?php
$link mysqli_connect($hostname $nombreUsuario $contraseña);
mysqli_select_db($link$nombreConexión);
mysqli_query($link"TRUNCATE TABLE agenda3");
mysqli_close($link);
mostrarDatos();
?>

<h3>apartado e</H3>
<?php
$link mysqli_connect($hostname $nombreUsuario $contraseña);
mysqli_select_db($link$nombreConexión);
$tildes $link->query("SET NAMES 'utf8'"); //Para que se muestren las tildes
mysqli_query($link"INSERT INTO agenda3 VALUES ('Lucas', 'Petrillo Moreno', 'C/ Pintor Goya nº 33', '654421122', 88, 1.85)");
mysqli_query($link"INSERT INTO agenda3 VALUES ('Roberto', 'Petrillo Moreno', 'C/ Pintor Goya nº 7', '954421122', 77, 1.65)");
mysqli_query($link"INSERT INTO agenda3 VALUES ('Kevin', 'Panenca Patero', 'C/ Molinete nº 7', '954433122', 55, 2.01)");
mysqli_close($link);
mostrarDatos();
?>

<h3>apartado f</H3>
<?php
$link mysqli_connect($hostname $nombreUsuario $contraseña);
mysqli_select_db($link$nombreConexión);
mysqli_query($link"DELETE FROM agenda3");
mysqli_close($link);
mostrarDatos();
?>

</body>
</html>

Recordar que hay que cambiar los datos de la base de datos a utilizar y contraseña.

http://aprendehtml.byethost3.com/CU00844B/ejerciciosCU00844b.php

Saludos.
« Última modificación: 31 de Marzo 2016, 13:16 por Alex Rodríguez »

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Re:DELETE, TRUNCATE en PHP, MySql. Borrar datos en tablas. CU00844B
« Respuesta #1 en: 19 de Marzo 2016, 14:58 »
Buenas tardes Pedro me surge una duda al ver la url con el ejercicio, en el apartado a) aparece tabla vacía, eso lo veo normal si venimos de una ejecución previa habrá quedado vacía, pero en el apartado e) sólo muestra Roberto Petrillo Moreno y Kevin Panenca Patero ¿Por qué no está apareciendo Lucas Petrillo?

Saludos

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:DELETE, TRUNCATE en PHP, MySql. Borrar datos en tablas. CU00844B
« Respuesta #2 en: 20 de Marzo 2016, 00:08 »
Buenas.

El problema está en la función mostrarDatos(), mas en concreto en que repito lo siguiente...

Código: [Seleccionar]
$fila = mysqli_fetch_array($result);y en la entrada del bucle lo volvía a poner...
Código: [Seleccionar]
while($fila = mysqli_fetch_array($result)){
con lo cual, antes de imprimir el primer dato de la tabla, se pasaba al segundo.
he variado la función quedando así:

Código: [Seleccionar]
ffunction mostrarDatos () {
$link = mysqli_connect($hostname , $nombreUsuario , $contraseña);
mysqli_select_db($link, $nombreConexión);
$tildes = $link->query("SET NAMES 'utf8'"); //Para que se muestren las tildes
$result = mysqli_query($link, "SELECT * FROM agenda3");
while($fila = mysqli_fetch_array($result)){
echo "- Nombre: " . $fila['nombre'];
echo " - Apellidos: " . $fila['apellidos'];
echo " - Dirección: " . $fila['direccion'];
echo " - Teléfono: " . $fila['telefono'];
echo " - Edad: " . $fila['edad'];
echo " - Altura: " . $fila['altura'] ."<br/>";
echo "**********************************<br/>";
}
mysqli_free_result($result);
mysqli_close($link);
}

También he añadido una función al principio del segundo ejercicio que se encarga de copiar datos a la tabla que se usa desde otra tabla existente. Dejo el código completo:

Código: [Seleccionar]
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<h1>Ejercicio 1</h1>
<?php
$link mysqli_connect($hostname $nombreUsuario $contraseña);
mysqli_select_db($link$nombreConexión);
$tildes $link->query("SET NAMES 'utf8'"); //Para que se muestren las tildes
$result mysqli_query($link"SELECT * FROM agenda WHERE edad >= 20 AND altura >= 1.75");

while ($fila mysqli_fetch_array($result)){
if ($fila !=NULL) {
echo "- Nombre: ".$fila['nombre'];
echo " - Apellidos: ".$fila['apellidos'];
echo " - Dirección: ".$fila['direccion'];
echo " - Teléfono: ".$fila['telefono'];
echo " - Edad: ".$fila['edad'];
echo " - Altura: " $fila['altura'] ."<br/>";
echo "**********************************<br/>";}
else {echo "<br/>No hay más datos!!! <br/>";}
}
mysqli_free_result($result);
mysqli_close($link);
?>

<hr>
<h1>Ejercicio 2</h1>

<?php
function llenarTabla() {
$link mysqli_connect($hostname $nombreUsuario $contraseña);
mysqli_select_db($link$nombreConexión);
$result mysqli_query($link"INSERT INTO agenda3 SELECT agenda. * FROM agenda");
mysqli_free_result($result);
mysqli_close($link);
}
function mostrarDatos () {
$link mysqli_connect($hostname $nombreUsuario $contraseña);
mysqli_select_db($link$nombreConexión);
$tildes $link->query("SET NAMES 'utf8'"); //Para que se muestren las tildes
$result mysqli_query($link"SELECT * FROM agenda3");
while($fila mysqli_fetch_array($result)){
echo "- Nombre: " $fila['nombre'];
echo " - Apellidos: " $fila['apellidos'];
echo " - Dirección: " $fila['direccion'];
echo " - Teléfono: " $fila['telefono'];
echo " - Edad: " $fila['edad'];
echo " - Altura: " $fila['altura'] ."<br/>"
echo "**********************************<br/>";
}
mysqli_free_result($result);
mysqli_close($link);
}
?>

<h3>apartado a</H3>
<?php
llenarTabla();
mostrarDatos();
?>

<h3>apartado b</H3>
<?php
$link mysqli_connect($hostname $nombreUsuario $contraseña);
mysqli_select_db($link$nombreConexión);
$result mysqli_query($link"DELETE FROM agenda3 WHERE edad >= 34");
mysqli_close($link);
mostrarDatos();
?>

<h3>apartado c</H3>
<?php
$link mysqli_connect($hostname $nombreUsuario $contraseña);
mysqli_select_db($link$nombreConexión);
$tildes $link->query("SET NAMES 'utf8'"); //Para que se muestren las tildes
mysqli_query($link"INSERT INTO agenda3 VALUES ('Lucas', 'Petrillo Moreno', 'C/ Pintor Goya nº 33', '654421122', 88, 1.85)");
mysqli_query($link"INSERT INTO agenda3 VALUES ('Roberto', 'Petrillo Moreno', 'C/ Pintor Goya nº 7', '954421122', 77, 1.65)");
mysqli_close($link);
mostrarDatos();
?>

<h3>apartado d</H3>
<?php
$link mysqli_connect($hostname $nombreUsuario $contraseña);
mysqli_select_db($link$nombreConexión);
mysqli_query($link"TRUNCATE TABLE agenda3");
mysqli_close($link);
mostrarDatos();
?>

<h3>apartado e</H3>
<?php
$link mysqli_connect($hostname $nombreUsuario $contraseña);
mysqli_select_db($link$nombreConexión);
$tildes $link->query("SET NAMES 'utf8'"); //Para que se muestren las tildes
mysqli_query($link"INSERT INTO agenda3 VALUES ('Lucas', 'Petrillo Moreno', 'C/ Pintor Goya nº 33', '654421122', 88, 1.85)");
mysqli_query($link"INSERT INTO agenda3 VALUES ('Roberto', 'Petrillo Moreno', 'C/ Pintor Goya nº 7', '954421122', 77, 1.65)");
mysqli_query($link"INSERT INTO agenda3 VALUES ('Kevin', 'Panenca Patero', 'C/ Molinete nº 7', '954433122', 55, 2.01)");
mysqli_close($link);
mostrarDatos();
?>

<h3>apartado f</H3>
<?php
$link mysqli_connect($hostname $nombreUsuario $contraseña);
mysqli_select_db($link$nombreConexión);
mysqli_query($link"DELETE FROM agenda3");
mysqli_close($link);
mostrarDatos();
?>

</body>
</html>

Saludos y gracias Mario.
« Última modificación: 28 de Marzo 2016, 00:14 por pedro,, »

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".