domingo, 6 de octubre de 2019

MySQL AVANZADO....

DELETE (Baja de un registro en una tabla)

Para eliminar filas en una tabla debemos utilizar el comando SQL delete.
debemos implementar un formulario que solicite la carga del mail del alumno:

<html>
<head>
<title>Problema</title>
</head>
<body>
<form action="pagina2.php" method="post">
Ingrese el mail del alumno a borrar:
<input type="text" name="mail">
<br>
<input type="submit" value="buscar">
</form>
</body>
</html>
Por otro lado tenemos el archivo "pagina2.php" que se encarga de buscar el mail ingresado en el formulario y en caso que exista se procede a borrarlo:
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$conexion=mysqli_connect("localhost","root","","base1") or
    die("Problemas con la conexión");

$registros=mysqli_query($conexion, "select codigo from alumnos
                        where mail='$_REQUEST[mail]'") or
  die("Problemas en el select:".mysqli_error($conexion));
if ($reg=mysqli_fetch_array($registros))
{
  mysqli_query($conexion,"delete from alumnos where mail='$_REQUEST[mail]'") or
    die("Problemas en el select:".mysqli_error($conexion));
  echo "Se efectuó el borrado del alumno con dicho mail.";
}
else
{
  echo "No existe un alumno con ese mail.";
}
mysqli_close($conexion);
?>
</body>
</html>
En esta segunda página efectuamos dos llamadas a la función mysqli_query, una para consultar si existe el mail ingresado y otra para efectuar el borrado del registro respectivo. Si no existe el mail ingresado mostramos un mensaje de tal situación.

DELETE (Baja de todos los registros de una tabla)

Para borrar todos los registros de una tabla debemos llamar al comando delete de SQL sin disponer la cláusula where.

Es importante tener en cuenta que la ausencia de la cláusula where en el comando delete eliminará todas las filas de la tabla.
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$conexion=mysqli_connect("localhost","root","","base1") or
    die("Problemas con la conexión");

mysqli_query($conexion,"delete from alumnos") or
  die("Problemas en el select:".mysqli_error($conexion));
echo "Se efectuó el borrado de todos los alumnos.";
mysqli_close($conexion);
?>
</body>
</html>

 UPDATE (Modificación de un registro de una tabla)
El formulario de consulta del mail del alumno es similar a problemas anteriores:
<html>
<head>
<title>Problema</title>
</head>
<body>
<form action="pagina2.php" method="post">
Ingrese el mail del alumno:
<input type="text" name="mail"><br>
<input type="submit" value="buscar">
</form>
</body>
</html>
La segunda página es la más interesante y con conceptos nuevos:
<html>
<head>
<title>Problema</title>
</head>
<body>

<?php

$conexion=mysqli_connect("localhost","root","","base1") or
    die("Problemas con la conexión");

$registros=mysqli_query($conexion,"select * from alumnos
                        where mail='$_REQUEST[mail]'") or
  die("Problemas en el select:".mysqli_error($conexion));
if ($reg=mysqli_fetch_array($registros))
{
?>

<form action="pagina3.php" method="post">
Ingrese nuevo mail:
<input type="text" name="mailnuevo" value="<?php echo $reg['mail'] ?>">
<br>
<input type="hidden" name="mailviejo" value="<?php echo $reg['mail'] ?>">
<input type="submit" value="Modificar">
</form>

<?php
}
else
  echo "No existe alumno con dicho mail";
?>
</body>
</html>
Lo primero que podemos observar es que si el if se verifica verdadero se ejecuta un bloque que contiene código HTML:
if ($reg=mysqli_fetch_array($registros))
{
?>
  <form action="pagina3.php" method="post">
  Ingrese nuevo mail:
  <input type="text" name="mailnuevo" value="<?php echo $reg['mail'] ?>">
  <br>
  <input type="hidden" name="mailviejo" value="<?php echo $reg['mail'] ?>">
  <input type="submit" value="Modificar">
  </form>
<?php
}
Es decir que podemos disponer bloques de PHP dispersos dentro de la página.
Otro concepto importante es como enviar el mail del primer formulario a la tercer página, esto se logra con los controles de tipo "hidden", este tipo de control no se visualiza en el formulario pero se envía al presionar el botón submit.
Si queremos que el control text se cargue con el mail ingresado en el formulario anterior debemos cargar la propiedad value con dicho valor:
  <input type="text" name="mailnuevo" value="<?php echo $reg['mail'] ?>">
Por último la pagina3.php es la que efectúa la modificación de la tabla propiamente dicha. Con el mail ingresado en la pagina1.php, el mail modificado en la pagina2.php se efectúa el update.
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$conexion=mysqli_connect("localhost","root","","base1") or
    die("Problemas con la conexión");

mysqli_query($conexion, "update alumnos
                          set mail='$_REQUEST[mailnuevo]' 
                        where mail='$_REQUEST[mailviejo]'") or
  die("Problemas en el select:".mysqli_error($conexion));
  echo "El mail fue modificado con exito";
?>
</body>
</html>
Tengamos en cuenta que el segundo formulario nos envía dos datos: $_REQUEST[mailnuevo] y $_REQUEST[mailviejo].

INSERT (y consulta de otra tabla)
el formulario de carga de datos no es HTML puro ya que debemos cargar el control "select" con los datos de la tabla cursos.
El código por lo tanto queda de la siguiente forma:
<html>
<head>
<title>Problema</title>
</head>
<body>
<form action="pagina2.php" method="post">
Ingrese nombre:
<input type="text" name="nombre"><br>
Ingrese mail:
<input type="text" name="mail"><br>
Seleccione el curso:
<select name="codigocurso">
<?php
$conexion=mysqli_connect("localhost","root","","base1") or
    die("Problemas con la conexión");

$registros=mysqli_query($conexion,"select codigo,nombrecurso from cursos") or
  die("Problemas en el select:".mysqli_error($conexion));
while ($reg=mysqli_fetch_array($registros))
{
  echo "<option value=\"$reg[codigo]\">$reg[nombrecurso]</option>";
}
?>
</select>
<br>
<input type="submit" value="Registrar">
</form>
</body>
</html>
El algoritmo es similar a cuando trabajamos con una tabla, pero el control "select" lo cargamos con los datos de la tabla "cursos":
while ($reg=mysqli_fetch_array($registros))
{
  echo "<option value=\"$reg[codigo]\">$reg[nombrecurso]</option>";
}
Dentro del while generamos todas las opciones que contiene el "select" imprimiendo el campo nombrecurso y asociando el campo codigo a la propiedad value(que es en definitiva el código que necesitamos rescatar en la otra página)
Tengamos en cuenta que cuando queremos imprimir una comilla doble dentro de un string en PHP debemos escaparla con el caracter \
La página que efectúa el insert es exactamente la misma que vimos anteriormente:
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$conexion=mysqli_connect("localhost","root","","base1") or
    die("Problemas con la conexión");

mysqli_query($conexion,"insert into alumnos(nombre,mail,codigocurso) values ('$_REQUEST[nombre]','$_REQUEST[mail]',$_REQUEST[codigocurso])") or
  die("Problemas en el select".mysqli_error($conexion));
mysqli_close($conexion);
echo "El alumno fue dado de alta.";
?>
</body>
</html>


Listado (selección de registros de varias tablas - INNER JOIN)


Los datos se encuentran en las tablas "alumnos" y "cursos".
Debemos aparear el código de curso de la tabla "alumnos" con el código de la tabla "cursos".
En caso de no recordar los conceptos de relaciones de tablas en SQL pueden repasar los mismos en el tutorial de MySQL Ya.

pagina1.php
<html>

<head>
  <title>Problema</title>
</head>

<body>
  <?php
  $conexion = mysqli_connect("localhost", "root", "", "base1") or
    die("Problemas con la conexión");

  $registros = mysqli_query($conexion, "select alu.codigo as codigo,
                                          nombre,
                                          mail,
                     codigocurso, 
                                          nombrecurso 
                                     from alumnos as alu
                                     inner join cursos as cur on cur.codigo=alu.codigocurso") or
    die("Problemas en el select:" . mysqli_error($conexion));

  while ($reg = mysqli_fetch_array($registros)) {
    echo "Codigo:" . $reg['codigo'] . "<br>";
    echo "Nombre:" . $reg['nombre'] . "<br>";
    echo "Mail:" . $reg['mail'] . "<br>";
    echo "Curso:" . $reg['nombrecurso'] . "<br>";
    echo "<hr>";
  }
  mysqli_close($conexion);
  ?>
</body>

</html>
Hay varias cosas nuevas cuya sintaxis necesitamos analizar, la primera es como hacer el apareo con la tabla cursos:
   inner join cursos as cur on cur.codigo=alu.codigocurso 


Seguidamente de la palabra clave on, indicamos los campos por los que apareamos las tablas, en nuestro caso el codigo de la tabla cursos con el codigocurso de la tabla alumnos.

Otro punto a tener en cuenta es indicar en el select que campos debemos rescatar de las tablas, es decir, indicarle a que tabla pertenece en el caso que tengan el mismo nombre:

  $registros = mysqli_query($conexion, "select alu.codigo as codigo,
                                          nombre,
                                          mail,
                     codigocurso, 
                                          nombrecurso 
                                     from alumnos as alu
                                     inner join cursos as cur on cur.codigo=alu.codigocurso") or
    die("Problemas en el select:" . mysqli_error($conexion));


En este caso rescatamos el código del alumno (y no el código de curso). Debemos crear un alias si dos tablas tienen el mismo nombre de campo para evitar confusión; como ocurre aquí con el campo codigo de las tablas alumnos y cursos. También creamos un alias para la tabla alumnos.

Cuando rescatamos los datos y los mostramos en la página, hacemos referencia al alias del campo:

  while ($reg = mysqli_fetch_array($registros)) {
    echo "Codigo:" . $reg['codigo'] . "<br>";
    echo "Nombre:" . $reg['nombre'] . "<br>";
    echo "Mail:" . $reg['mail'] . "<br>";
    echo "Curso:" . $reg['nombrecurso'] . "<br>";
    echo "<hr>";
  }

Función count de SQL.

Cuando necesitamos saber la cantidad de registros utilizamos la función count, por ejemplo si deseamos conocer la cantidad de alumnos que hay en la tabla "alumnos" debemos implementar el siguiente comando SQL:
 
select count(*) as cantidad from alumnos

Implementamos una página que muestra este resultado:

pagina1.php
<html>

<head>
  <title>Problema</title>
</head>

<body>
  <?php
  $conexion = mysqli_connect("localhost", "root", "", "base1") or
    die("Problemas con la conexión");

  $registros = mysqli_query($conexion, "select count(*) as cantidad from alumnos") or
    die("Problemas en el select:" . mysqli_error($conexion));
  $reg = mysqli_fetch_array($registros);
  echo "La cantidad de alumnos inscriptos son :" . $reg['cantidad'];
  ?>
</body>

</html>
En la sentencia select en vez de indicar los campos de la tabla, colocamos la llamada a la función count pasando como parámetro un asterisco y creando un alias para su posterior recuperación e impresión del dato: 
$registros = mysqli_query($conexion, "select count(*) as cantidad from alumnos") or die("Problemas en el select:" . mysqli_error($conexion)); El select no tiene cláusula where ya que debemos contar todos los alumnos y no los de algún curso en particular. La llamada a la función mysqli_fetch_array se hace sin estructura condicional o repetitiva ya que sabemos que nos retornará un único registro (en realidad, un registro que tiene una sola columna llamada cantidad, en caso de estar vacía la tabla alumnos, se almacena cero en el alias cantidad):
$reg = mysqli_fetch_array($registros);

viernes, 4 de octubre de 2019

INTRODUCCION PHP y MySQL


PHP ya conocemos es un lenguaje de programación web el cual se ejecuta del lado de los servidores web, y nos sirve para muchas cosas como crear paginas web dinamicas, hacer pequeñas aplicaciones, y muchas cosas mas, sin embargo gran parte de su potencial esta en la manipulación de bases de datos que se puede hacer con PHP. Por ello se puede trabajar con PHP y MySQL que nos da la posibilidad de manipular, gestionar y obtener información esencial desde bases de datos para poder dar mas dinamismo y potencia a nuestras aplicaciones y páginas web.

Como crear PHPMyAdmin
Programs que se ejecuta en la web
Seguir Los procrdimientod q te indica en Cada imsgen:














 INSERT (Alta de registros en una tabla)

<html>
<head>
<title>Problema</title>
</head>
<body>
<h1>Alta de Alumnos</h1>
<form action="pagina2.php" method="post">
Ingrese nombre:
<input type="text" name="nombre"><br>
Ingrese mail:
<input type="text" name="mail"><br>
Seleccione el curso:
<select name="codigocurso">
<option value="1">PHP</option>
<option value="2">ASP</option>
<option value="3">JSP</option>
</select>
<br>
<input type="submit" value="Registrar">
</form>
</body>
</html> 
El formulario es bastante similar a los que venimos desarrollando en puntos anteriores, tal vez lo distinto es cómo emplearemos el control "select" del curso a desarrollar:
<select name="codigocurso">
<option value="1">PHP</option>
<option value="2">ASP</option>
<option value="3">JSP</option>
</select>

La función mysqli_connect se conecta a una base de datos de tipo MySql,


Listado (selección de registros de una tabla)



Para recuperar datos desde MySQL debemos emplear el comando select: select codigo,nombre,mail,codigocurso from alumnos


Debemos pasar desde PHP un string con este comando para que MySQL lo ejecute y retorne todas las filas de la tabla alumnos.

Veremos entonces como recuperar los datos almacenados en la tabla alumnos de la base de datos "base1".
Veamos el código:
<html>
<head>
<title>Problema</title>
</head>
<body>

<?php
$conexion=mysqli_connect("localhost","root","","base1") or
    die("Problemas con la conexión");

$registros=mysqli_query($conexion,"select codigo,nombre, mail, codigocurso
                        from alumnos") or
  die("Problemas en el select:".mysqli_error($conexion));

while ($reg=mysqli_fetch_array($registros))
{
  echo "Codigo:".$reg['codigo']."<br>";
  echo "Nombre:".$reg['nombre']."<br>";
  echo "Mail:".$reg['mail']."<br>";
  echo "Curso:";
  switch ($reg['codigocurso']) {
    case 1:echo "PHP";
           break;
    case 2:echo "ASP";
           break;
    case 3:echo "JSP";
           break;
  }
  echo "<br>";
  echo "<hr>";
}

mysqli_close($conexion);
?>

</body>
</html> 

Consulta (selección de registros de una tabla)

El proceso de consulta de datos de una tabla es similar al del listado, la diferencia es que se muestra sólo aquel o aquellos que cumplen la condición por la que buscamos.

Haremos un programa que nos permita consultar los datos de un alumno ingresando su mail para su búsqueda. Tengamos en cuenta que no puede haber dos alumnos con el mismo mail, por lo que la consulta nos puede arrojar uno o ningún registro.


Debemos codificar un formulario para el ingreso del mail a consultar:


<html>
<head>
<title>Problema</title>
</head>
<body>
<form action="pagina2.php" method="post">
Ingrese el mail del alumno a consultar:
<input type="text" name="mail">
<br>
<input type="submit" value="buscar">
</form>
</body>
</html>

Por otro lado tenemos el archivo "pagina2.php" que se encarga de buscar el mail ingresado en el formulario:


<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$conexion=mysqli_connect("localhost","root","","base1") or
die("Problemas con la conexión");


$registros=mysqli_query($conexion,"select codigo,nombre, codigocurso
from alumnos where mail='$_REQUEST[mail]'") or
die("Problemas en el select:".mysqli_error($conexion));


if ($reg=mysqli_fetch_array($registros))
{
echo "Nombre:".$reg['nombre']."<br>";
echo "Curso:";
switch ($reg['codigocurso']) {
case 1:echo "PHP";
break;
case 2:echo "ASP";
break;
case 3:echo "JSP";
break;
}
}
else
{
echo "No existe un alumno con ese mail.";
}
mysqli_close($conexion);
?>
</body>
</html>

Lo más importante está en el comando select:


$registros=mysqli_query($conexion,"select codigo,nombre, codigocurso

from alumnos where mail='$_REQUEST[mail]'") or
die("Problemas en el select:".mysqli_error($conexion));

jueves, 3 de octubre de 2019

FORMULARIOS EN PHP


FORMULARIOS EN PHP


Un formulario sencillo con dos campos a rellenar y un botón para enviar en HTML es de la siguiente forma:
<html>
<body>
<form action="formpost.php" method="post">
Nombre: <input type="text" name="nombre"><br>
Email: <input type="text" name="email"><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>


Cuando un usuario rellena los datos y hace click en enviar, los datos del formulario se envían para ser procesados al archivo formpost.php. Los datos se envían a través de HTTP con el método HTTP Post.


Una vez los datos están en formpost.php pueden mostrarse, guardarse en una base de datos o lo que se necesite. En formpost.php vamos a mostrarlos con echo:
<html>
<body>
Hola <?php echo $_POST["nombre"]; ?><br>
Tu email es: <?php echo $_POST["email"]; ?>
</body>
</html>
Lo mismo se puede conseguir con el método HTTP GET:
<html>
<body>
<form action="formget.php" method="get">
Nombre: <input type="text" name="nombre"><br>
Email: <input type="text" name="email"><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>
Ahora el archivo donde recibimos los datos es formget.php:
<html>
<body>
Hola <?php echo $_GET["nombre"]; ?><br>
Tu email es: <?php echo $_GET["email"]; ?>
</body>
</html>


Estos han sido dos ejemplos muy sencillos para ver el funcionamiento básico de un formulario. Siempre que se crean formularios hay que tener muy en cuenta la seguridad, y para ello se utiliza la validación de formularios.


Las superglobals $_GET y $_POST sirven para coleccionar datos de formularios, y vamos a ver las diferencias a continuación.
2. GET y POST


$_GET y $_POST son variables superglobales que forman arrays de keys y values, donde los keys son los nombres del formulario (atributo "name") y los values son los datos de entrada de los usuarios. El hecho de que sean superglobals hace que sean accesibles desde el script independientemente del ámbito.


$_GET es un array de variables que se pasan al script a través de los parámetros de URL. La información que se envía es visible para todo el mundo y tiene limitada la cantidad de información que se puede enviar a 2000 caracteres. Las URLs con los datos enviados pueden guardarse en marcadores, lo que puede ser útil en ciertos casos. $_GET sólo se emplea para el envío de información reducida y no sensible.


$_POST es un array de variables que se pasan al script a través del método HTTP POST. La información que se envía no es visible para los demás ya que los nombres y variables van embebidas en el body del HTTP request. No tiene límites en la cantidad de información a enviar. Soporta datos de entrada multi-part binary a la hora se subir archivos al servidor (lo que permite subir múltiples archivos a la vez).
3. Tipos de elementos


Los 10 tipos de elementos más importantes para los formularios HTML con PHP son:
ElementoDescripción
input type="text"Caja de texto
input type="password"Caja de texto donde se muestran asteriscos en lugar de los caracteres escritos
input type="checkbox"Cajas seleccionables que permite escoger múltiples opciones
input type="radio"Cajas seleccionables en grupos que sólo permiten escoger una opción
input type="submit"Botón para enviar el formulario
input type="file"Cajas de texto y botón que permite subir archivos
input type="hidden"Elemento escondido. Especialmente útil para tokens de seguridad
optionUna opción posible dentro de un elemento element
selectLista de opciones de elementos option
textareaTexto multilínea

4. Validación
La validación de formularios es algo fundamental ya que previene posibles ataques de intrusos, además de asegurar que los datos que se reciben son realmente del tipo deseado.
Existen dos formas de validación de formularios: en el lado del cliente y en el lado del servidor. En el lado del cliente la validación suele ser mediante JavaScript, es más rápida y evita enviar más trabajo al servidor. En el lado del servidor se emplea PHP para verificar que se envían valores correctos, es más seguro pero es más lento y da un poco de trabajo al servidor. En este artículo vamos a ver algún ejemplo de esta segunda forma.
El siguiente es un sencillo formulario algo más complejo con los siguiente datos: Nombre, Contraseña, Educacion, Nacionalidad, Idiomas, Email y Sitio web:
<h2>Formulario:</h2>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
Nombre:
<input type="text" name="nombre" maxlength="50"><br>
Contraseña:
<input type="password" name="password"><br>
Educacion:
<select name="educacion">
<option value="sin-estudios">Sin estudios</option>
<option value="educacion-obligatoria" selected="selected">Educación Obligatoria</option>
<option value="formacion-profesional">Formación profesional</option>
<option value="universidad">Universidad</option>
</select> <br>
Nacionalidad:
<input type="radio" name="nacionalidad" value="hispana">Hispana</input>
<input type="radio" name="nacionalidad" value="otra">Otra</input><br>
Idiomas:
<input type="checkbox" name="idiomas[]" value="español" checked="checked">Español</input>
<input type="checkbox" name="idiomas[]" value="inglés">Inglés</input>
<input type="checkbox" name="idiomas[]" value="francés">Francés</input>
<input type="checkbox" name="idiomas[]" value="aleman">Alemán</input><br>
Email:
<input type="text" name="email"><br>
Sitio Web:
<input type="text" name="sitioweb"><br>
// Botón de enviar
<input type="submit" name="submit" value="Enviar">
</form>
</body>
</html>
EJERCICIOS:

1.

2.
(for - while - do/while)


3. FORMULARIO (control textarea)



QUE ES PHP

MUNDO DE PHP

PHP, acrónimo recursivo en inglés de PHP: Hypertext Preprocessor (preprocesador de hipertexto), es un lenguaje de programación de propósito general de código del lado del servidor originalmente diseñado para el preprocesado de texto plano en UTF-8. Posteriormente se aplicó al desarrollo web de contenido dinámico, dando un paso evolutivo en el concepto de aplicación en línea, por su carácter de servicio.

Su implementación en los documentos HTML era aparentemente muy sencilla. Hay que decir, que, PHP no genera HTML, sino que ofrece una salida de texto con codificación UTF-8 compatible con los documentos HTML. El programador puede dotar a la salida de los tag's propios del HTML y los exploradores más comunes para navegar por internet, reconocerán muy rápidamente el formato UTF-8 y lo adaptarán ofreciendo una salida entendible.

Fue uno de los primeros lenguajes de programación del lado del servidor que se podían incorporar directamente en un documento HTML en lugar de llamar a un archivo externo que procese los datos. El código es interpretado por un servidor web con un módulo de procesador de PHP que genera el texto plano en formato UTF-8, ampliamente reconocido por el estándar HTML, dando como resultado, en los exploradores, una salida al usuario perfectamente entendible.

PHP ha evolucionado por lo que ahora incluye también una interfaz de línea de comandos que puede ser usada en aplicaciones gráficas independientes. Puede ser usado en la mayoría de los servidores web al igual que en muchos sistemas operativos y plataformas sin ningún costo.

Fue creado originalmente por Rasmus Lerdorf en el año 1995. Actualmente el lenguaje sigue siendo desarrollado con nuevas funciones por el grupo PHP.2​ Este lenguaje forma parte del software libre publicado bajo la licencia PHPv3_01, una licencia Open Source validada por Open Source Initiative. La licencia de PHP es del estilo de licencias BSD, sin la condición de copyleft asociada con la Licencia Pública General de GNU.

Instalación del WampServer (Apache-MySQL-PHP)

Una instalación wordpress en localhost tiene sus ventajas y desventajas. En la mayoría de casos el objetivo es aplicar cambios o desarrollo a tu wordpress en un entorno ágil y sin que los errores que se produzcan puedan afectar a la web que tenemos en producción (online).



LOCALHOST CON WAMPSERVER, LAMP, MAMP O XAMPP

En este post vamos a montar un localhost con Wamp o Wampserver, un entorno de desarrollo web para Windows con el que puedes crear aplicaciones web con Apache, PHP y bases de datos MySQL database. También incluye PhpMyAdmin y SQLiteManager para manejar tus bases de datos.

Pero hay muchas alternativas, siguiendo la línea de wamp tenemos Lamp para Linux, Mamp para Mac OS X y Xampp para x-os.
Wamp Server: Windows, Apache, MySQL y php.
Lamp Server: Linux, Apache, MySQL y php.
Mamp Server: Mac, Apache, MySQL y php.
Xampp Server: x-os, Apache, MySQL, php y Perl.

Si no estas familiarizado con toda esta información debes saber como mínimo que es cada cosa:
Sistemas operativos: Windows, Linux, Mac, X-os.
Apache es el web server.
MySQL es el gestor de bases de datos.
php es un lenguaje de programación orientado a objetos.
Perl es otro lenguaje de programación que toma características del lenguaje C entre otros



LA APLICAION PARA LOS CODIGOS:




actividades

MySQL AVANZADO....

DELETE (Baja de un registro en una tabla) Para eliminar filas en una tabla debemos utilizar el comando SQL delete. debemos implementar un...

actividades