domingo, 5 de febrero de 2017

Php Sentencias Sql MySql Basicas

En este post vamos a ver las principales sentencias sql que podemos realizar en php.
SELECT, INSERT INTO, UPDATE, DELETE, CREATE TABLE, ALTER TABLE, DROP TABLE.
Las explicaré paso a paso, pero son muy sencillas de entender.

Comenzamos por la CONEXIÓN A BBDD, que ya hemos comentado en otro post:
/* Comenzamos por llamar al archivo de conexiones conection.php */
<?php
    $db_host = '127.0.0.1';
    $db_user = 'User_Name';
    $db_pass = 'User_Pass';
    $db_name = 'bbdd_Name';
?>
/* Vemos que este archivo contiene las variables para la conexión a la bbdd. */

require 'conection.php';

/* Creamos un objeto, la variable $db que contiene la sentencia de conexión y si no se cumple nos devuelve los errores de conexión. */

 $db = mysqli_connect($db_host,$db_user,$db_pass,$db_name);
if (!$db){ die ("Es imposible conectar con la bbdd ".$db_name."</br>".mysqli_connect_error());
                }

////////////////////////////
////////////////////////////


Ahora veremos cómo REALIZAR UNA CONSULTA:

Partimos de la base de que tenemos un formulario para realizar las consultas, esto lo veremos en próximos post.
Y dentro de una lógica de ejecución tendremos una función que contenga estas sentencias sql.
Configuramos las variables para la consulta y

    global $vname;
    $tabla1 = $_SESSION['ref'];
    $tabla1 = strtolower($tabla1);
    $vname = $tabla1."_impuestos";
    $vname = "`".$vname."`";

    $sqlb =  "SELECT * FROM $vname ORDER BY $orden ";
    $qb = mysqli_query($db, $sqlb);
/*
Creamos el objeto $qb si este se cumple realizará una acción y si no nos envía un mensaje de error.
*/

if(!$qb){ print("<font color='#FF0000'>
Se ha producido un error:
   </font></br>".mysqli_error($db)."</br>");
    }

/* Si se ha cumplido la consulta y los resultados son 0 nos envía un mensaje. */
else {if(mysqli_num_rows($qb) == 0){print ("<table align='center'>
                            <tr>
                                  <td>
                    <font color='#FF0000'>
                         NO HAY DATOS
                    </font>
                                  </td>
                          </tr>
                    </table>.");
                } else { ……….

/* En el caso de haber más de 0 resultados recorremos los resultados con un while, en próximas entradas vernos esto con más detalle. */

while($rowb = mysqli_fetch_assoc($qb)){
    print (    "<tr align='center'>
        <td class='BorderInfDch' align='center'>
    <input name='id' type='hidden' value='".$rowb['id']."' />".$rowb['id']."
        </td> ……….

////////////////////////////
////////////////////////////


Continuando en esta línea veremos cómo GRABAR LOS DATOS en nuestra bbdd.

    global $vname;
    $sesionref = $_SESSION['ref'];
    $sesionref = strtolower($sesionref);
    $vname = $sesionref."_impuestos";
    $vname = "`".$vname."`";

$sqla = "INSERT INTO `$db_name`.$vname (`iva`, `name`) VALUES ('$tiva', '$name')";
    if(mysqli_query($db, $sqla)){ print($tabla);
        } else {print("* MODIFIQUE LA ENTRADA 174: ".mysqli_error($db));
            }

////////////////////////////
////////////////////////////


Para MODIFICAR LOS DATOS y continuando con la misma lógica, la sentencia sería:

$sqla = "UPDATE `$db_name`.$vname SET `iva` = '$tiva', `name` = '$name' WHERE `id` = '$idx'";
    if(mysqli_query($db, $sqla)){ print($tabla);
        } else {print("* MODIFIQUE LA ENTRADA 174: ".mysqli_error($db));
            }

////////////////////////////
////////////////////////////


Para BORRAR LOS DATOS, nuestra sentencia sería:

$sqla = "DELETE FROM `$db_name`.$vname WHERE $vname.`id` = '$idx'";
    if(mysqli_query($db, $sqla)){ print($tabla);
        } else {print("* MODIFIQUE LA ENTRADA 174: ".mysqli_error($db));
            }

////////////////////////////
////////////////////////////


Ahora vamos a ver CÓMO CREAR UNA TABLA, incluyendo el siguiente código en una función que se ejecutará cuando nosotros creamos conveniente:

    $vname10 = $trf."_impuestos";
    $vname10 = "`".$vname10."`";

$impuestos = "CREATE TABLE `$db_name`.$vname10 (
        `id` int(2) NOT NULL auto_increment,
        `iva` decimal(10,2) UNSIGNED NOT NULL DEFAULT '0.00',
          `name` varchar(12) COLLATE utf8_spanish2_ci NOT NULL DEFAULT 'NAME %',
        PRIMARY KEY  (`id`)
        ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci AUTO_INCREMENT=6 ";
       
    $dy = date('Y');
    $dy_1 = (date('Y')-1);
   
if(mysqli_query($db, $impuestos)){     print("* OK TABLE ".$vname10."</br>");
    }else{print("* NO OK TABLE ".$vname10.". ".mysqli_error($db)."</br>");
            }
                   
$vname10 = strtolower($vname10);                   
$impuestos2 = "INSERT INTO `$db_name`.$vname10 (`id`, `iva`, `name`) VALUES
(1, '0.00', '% IMPUESTOS'),
(2, '0.00', '0.00 %'),
(3, '4.00', '4.00 %'),
(4, '10.00', '10.00 %'), 
(5, '21.00', '21.00 %')
 ";
       
if(mysqli_query($db, $impuestos2)){print("* OK INIT VALUES EN ".$vname10."</br>");            } else {print("* NO OK INIT VALUES EN ".$vname10.". ".mysqli_error($db)."</br>");
            }

////////////////////////////
////////////////////////////


Veamos como de la misma manera, integrando el código en una función MODIFICAREMOS LA TABLA:

    $vnameg10 = $srefcl."_impuestos";
    $vnameg10 = "`".$vnameg10."`";
    $vnameg10b = $rf."_impuestos";
    $vnameg10b = "`".$vnameg10b."`";

    $sqlg10 = "ALTER TABLE `$db_name`.$vnameg10 RENAME `$db_name`.$vnameg10b ";
    if(mysqli_query($db, $sqlg10)){
    print( "  * HA MODIFICADO NOMBRE DE TABLA ".$vnameg10. " POR ".$vnameg10b."\n");
                } else {
    print("<font color='#FF0000'>* </font>".mysqli_error($db))."</br>";
                            }

////////////////////////////
////////////////////////////


Y por último vemos como ELIMINAR UNA TABLA:

    $vname10 = $refmin."_impuestos";
    $vname10 = "`".$vname10."`";

    $sqlt10 = "DROP TABLE `$db_name`.$vname10 ";
    if(mysqli_query($db, $sqlt10)){
        print( "\t* HA BORRADO LA TABLA ".$vname10."\n");
                } else {
        print ("<font color='#FF0000'>* </font></br> ".mysqli_error($db).".</br>");
                    }

No hay comentarios:

Publicar un comentario

Gracias por vuestros aportes.