Featured Post

Tablas Responsivas con Bootstrap 5 pc escritorio y dispositivos mobiles

BUSCAR PRODUCTO POR ID C/LIB AXIOS API JSON PHP MYSQL JS

 

INDEX.PHP

<!DOCTYPE html>
<html lang="es">

<head>

<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">

<title></title>


<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/css/bootstrap.css" />
<script src="https://code.jquery.com/jquery-3.7.1.js"></script>
<script src="js/axios.min.js"></script>


<style type="text/css">
* {
margin-top: 5px; 
}

</style>

<body>

 <div class="container">

<div class="card mb-2" style="border:0 solid gray;border-radius:8px;object-fit:cover;box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);">
 <div class="card-body">

 <label for="">Ingrese CODIGO id: </label>
 <input type="text" class="form-control" id="id" name="id" style="border:0 solid gray;border-radius:8px;object-fit:cover;box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);">

<a class="btn btn-info btn-sm" onclick="productoid()"><i class="fas fa-search"></i> BUSCAR</a>

<div class="row">

<div class="col-md-4">


 <label for="">Nombre: </label>
 <input type="text" class="form-control" id="nombre" name="nombre" style="border:0 solid gray;border-radius:8px;object-fit:cover;box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);">


</div>


<div class="col-md-4">


 <label for="">Precio: </label>
 <input type="text" class="form-control" id="precio" name="precio" style="border:0 solid gray;border-radius:8px;object-fit:cover;box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);">

</div>



<div class="col-md-4">

<img class="preview_img" src="fotos/sinfoto.png" style="width:100px;height:100px;border:0 solid gray;border-radius:8px;object-fit:cover;box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);">
 
</div>



</div>


</div>
</div>



</div>


<script>

function productoid() {

const nombre = document.querySelector('#nombre');
const precio = document.querySelector('#precio');
const id = document.querySelector('#id').value;
const previewImg = document.querySelector(".preview_img");

axios.get('buscarcodigo.php?id=' + id)
 .then(function(response) {
      

if (response.data.mensaje == 'ok') {

console.log(response.data.dato);
console.log(response.data.mensaje);

nombre.value = response.data.dato.nombre;
precio.value = response.data.dato.precio;
previewImg.src = "fotos/" + response.data.dato.fotos;

}else{

alert(response.data.mensaje);

}


})
    .catch(function (error) {
      console.log(error);
    });
}


</script>

<script src="fontawesome-free/all.min.js"></script>

</body>

</html>

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

buscarcodigo.php

<?php

define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_NAME', 'tienda');
define('DB_PASS', 'root');


class Conexion{
    public function conectar()
    {
        $pdo = null;
        try {
            $pdo = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME.'', DB_USER, DB_PASS);
            return $pdo;
        } catch (PDOException $e) {
            print "¡Error!: " . $e->getMessage() . "<br/>";
            die();
        }
    }
}



class Productos{

    private $pdo, $con;

    public function __construct() {
        $this->con = new Conexion();
        $this->pdo = $this->con->conectar();
    }

  public function comprobarId($id)
    {
        $consult = $this->pdo->prepare("SELECT * FROM productos WHERE id = ?");
        $consult->execute([$id]);
        return $consult->fetch(PDO::FETCH_ASSOC);
    }


}



$id = $_GET['id'];

$productos = new Productos();

$consult = $productos->comprobarId($id);

if (empty($consult)) {

$res = array('dato' => $consult, 'mensaje' => 'PRODUCTO NO ESTA EN LA B.DATOS');

} else {

$res = array('dato' => $consult, 'mensaje' => 'ok');

}

echo json_encode($res);

Comentarios