Table of Contents

Desarrollo Web Lección 8 - Formularios

INSERT Consultas

Objetivo

Configuración

INSERTAR Consulta

aliasidentityhero_villainfirst_appearedpower
ThorThor OdinsonHero1962Magic
Red SkullJohan SchmidtVillain1941Biological
Bucky BarnesWinter SoldierVillain1941Tech
Clint BartonHawkeyeHero1969Skill
OdinOdinHero1962Magic
Nick FuryNick FuryHero1963Skill
Phil CoulsonAgent CoulsonHero2008Skill
Peter QuillStarlordHero1976Tech
GamoraGamoraHero1975Skill
Pepper PottsRescueHero1963Tech
INSERT INTO `heroes` (`alias`, `identity`, `hero_villain`, `first_appeared`, `power`) VALUES ('Bucky Barnes', 'Winter Soldier', 'Villain', '1941', 'Tech'); 

Declaración de 'Switch'

    switch ($variable) {
        case 'value':
            # code...
            break;
        
        default:
            # code...
            break;
    }
switch ($edad) {
    case 1:
    case 17:
    case 43:
        # code...
        break;
    case 22:
    case 39:
        # code...
        break;
}
    switch ($_POST['submit']) {
        case 'Agregar Héroe':
            break;
        case 'Agregar apariencia':
            break;
        default:
            break;
    }
            $query = "";
            $args  = array();
            $rslt  = $pdo->prepare($query);
            $rslt->execute($args)
            $query = "INSERT INTO `heroes` (`alias`, `identity`, `hero_villain`, `first_appeared`, `power`) VALUES (?,?,?,?,?)";
            $args  = array($_POST['alias'], $_POST['identity'], $_POST['alias'], $_POST['side'], $_POST['year'], $_POST['power']);
            if ($rslt->execute($args)) {

            } else {
            
            }
            if ($rslt->execute($args)) {
                $message = "{$_POST['name']} was inserted successfully.";
            } else {
                $message = "There was a problem inserting {$_POST['name']}.";
            }

Insertos Múltiples

INSERT INTO appearances (character_name, movie) VALUES ('Thor Odinson', 'Thor: Dark World'), ('Thor Odinson', 'Avengers: Age of Ultron')

Empuje de Matriz

            foreach($_POST['movie'] as $movie) {

            }
                        array_push($args, $_POST['hero'], $movie);
            $args = array();
            foreach($_POST['movie'] as $movie) {
                        array_push($args, $_POST['hero'], $movie);
            }
                    // check if it exists already
                    $mquery = "SELECT * FROM appearances WHERE character_name=? AND movie=?";
                    $margs  = array($_POST['hero'], $movie);
                    $rslt  = $pdo->prepare($mquery);
                    $rslt->execute($margs);
                    if (!$row = $rslt->fetch()) {
                        array_push($args, $_POST['hero'], $movie);
                    }
                if ($movie == 'new') {
                    array_push($args, $_POST['hero'], $_POST['new_movie']);
                } else {
                    // check if it exists already
                    $mquery = "SELECT * FROM appearances WHERE character_name=? AND movie=?";
                    $margs  = array($_POST['hero'], $movie);
                    $rslt  = $pdo->prepare($mquery);
                    if (!$rslt->execute($margs)) {
                        array_push($args, $_POST['hero'], $movie);
                    }
                }

Contar

            $movies = count($args)/2;

Cadena Repetitiva

            $values = str_repeat('(?,?), ', $movies-1) . '(?,?)';
            $query = "INSERT INTO heroes ('alias', 'movie') VALUES $values";
            error_log("MURRAY: $query\n" . print_r($args, 1);
                $rslt  = $pdo->prepare($query);
                if ($rslt->execute($args)) {
                    $message = "$movies appearances were inserted successfully.";
                } else {
                    $message = "There was a problem inserting $movies appearances.";
                }
            if ($movies > 0) {
                $values = str_repeat('(?,?), ', $movies-1) . '(?,?)';
                $query = "INSERT INTO appearances (alias, movie) VALUES $values";
                error_log("MURRAY: $query    " . print_r($args, 1));
                $rslt  = $pdo->prepare($query);
                if ($rslt->execute($args)) {
                    $message = "$movies appearances were inserted successfully.";
                } else {
                    $message = "There was a problem inserting $movies appearances.";
                }
            } else {
                $checked = count($_POST['movie']);
                $message = "All $checked appearances are already in the database.";
            }

Codigo Final

Siguiente: Consultas de UPDATE