Cargar Selected Option con los resultados obtenidos desde la base de datos (ANGULAR)

Tengo una tabla con todos mis registros de la base de datos, cuando doy en la opcion “EDITAR” me abre un formulario con la informacion ya cargada dependiendo del id del registro que se eligio, pero dentro de ese formulario hay listas desplegables y no logro hacer que me cargue la opcion que ya esta registrada en la base de datos.

Me carga toda la lista de options pero no me selecciona la opcion que ya esta registrada. he intentado con [selected] pero no me ha funcionado.

<select  [(ngModel)]="actividad.FK_LINEAMIENTO" (ngModelChange)="onDropdownChange($  event)" class="form-control" name="lineamiento" id="lineamiento" required>       <option *ngFor="let lineamiento of lineamientos" [ngValue]="lineamiento.PK_LINEAMIENTO" [selected]="lineamiento.PK_LINEAMIENTO === actividad.FK_LINEAMIENTO" class="form-control">{{lineamiento.NOMBRE}}</option>           </select> 

Borrar consola desde java en linux

alguien sabe si hay alguna forma de lograr este efecto en la consola desde java en linux…

class LimpiarPantalla {      public static void main(String[] args) {          try {              new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();          } catch (Exception e) {              /*No hacer nada*/          }             /*Introduce tu código desde aquí*/      }  } 

Este es el código que uso para windows, pero me preguntaba como lograr que se limpie la pantalla en linux Ubuntu :c

Mi script en php se ejecuta dos veces desde xampp

Tengo un script sencillo en php es cual solo ejecuta un query a la base de datos, pero resulta que se ejecuta dos veces, pensé que era la cache ya que cuando lo ejecuto desde el modo incognito (Chrome) y solo ejecuta una vez. Lo corro desde xampp. Quizá sea alguna configuración del apache.

class Conectar{     public static function conexion(){         $  conexion=new mysqli("localhost", "root", "", "alquiler");         $  conexion->query("SET NAMES 'utf8'");         return $  conexion;     } } $  conexion = new Conectar(); $  mysqli = $  conexion->conexion(); $  randon = rand(); $  sql = "INSERT INTO correo (randon) values ('".$  randon."')"; if($  mysqli->query($  sql)){     echo $  sql; } else {     echo $  mysqli->error; } 

No puedo hacer referencia a objetos del DOM desde un Custom Control Cognos Analytics

He creado un Custom Control para Cognos Analytics que simula que el usuario hace click en el menú de ejecutar del informe y en la opción de ejecutar en PDF al hacer click en un icono con una imagen en PDF. El custom control se carga de forma automática mediante requirejs. El menú es este y de lo que se trata es de simular dos clicks.

introducir la descripción de la imagen aquí

El código es el siguiente:

define( ['jquery'], function() { "use strict";  var gImagen; var gFormatoSalida; /* Posibles valores de gFormatoSalida 0 --> HTML 1 --> PDF 2 --> Excel 2017 3 --> Excel 2017 Data 4 --> CSV */  function Control(){ };  Control.prototype.initialize = function( oControlHost, fnDoneInitializing ){     this.m_oControlHost = oControlHost;     this.gImagen = this.getConfigurationValue( "urlImagen", '');     this.gFormatoSalida = this.getConfigurationValue( "formatoSalida", '');     fnDoneInitializing();  };  Control.prototype.destroy = function( oControlHost ){     this.m_oControlHost = null; };  Control.prototype.getConfigurationValue = function( sName, sDefaultValue ){     var o = this.m_oControlHost.configuration;     return ( o && ( o[sName] !== undefined ) ) ? o[sName] : sDefaultValue; };   Control.prototype.draw = function( oControlHost ){     var elContainer = oControlHost.container;     elContainer.innerHTML ='<img class="imgExec" src="' + this.gImagen +'"></img>';     $  (".imgExec").on("click", function() {         document.getElementById("com.ibm.bi.authoring.runBtn.menu").click();         var botonPDF= $  ("li.commonMenuItem");         botonPDF.get(this.gFormatoSalida).click(); //Ejecuta en PDF     });  };  return Control; }); 

El código falla porque el objeto “com.ibm.bi.authoring.runBtn.menu” no está definido. He probado a ponerle un timeout, etc etc, pero es como si no pudiese hacer referencia desde este código a ese objeto (desde la consola del navegador si que puedo). ¿Alguna idea?

Mil gracias.

Nonetype en listview cuando el program es llamdo desde otro programa

tengo un programa que crea una Listview con adapter y funciona correctamente. Cuando este programa es llamado por otro no funciona y da error. AttributeError: ‘NoneType’ object has no attribute ‘item_strings’

en archivo kv : on_press: root.print_pos(self)

: button_list_obj: button_list orientation: ‘vertical’ ListView: id: button_list adapter: ListAdapter(data=[], cls=main.MyButton)

en archivo py :

class MyBoxLayout(BoxLayout): button_list_obj = ObjectProperty()

def __init__(self, **kwargs):     super(MyBoxLayout,self).__init__(**kwargs)     mylist=[]      for i in range(100):         mylist.append(str(i)      self.button_list_obj.item_strings = mylist  # no reconoce el objeto            self.button_list_obj.adapter.data.clear()   # cuando es llamado desde      self.button_list_obj.adapter.data.extend(mylist) # otro programa 

class MyButton(ListItemButton): def print_pos(self, mybutton): print(self.pos) print(mybutton.text)

Cómo subir varios archivos desde repositorio local en php?

¿Cómo subir varios archivos y visualizarlos en el navegador con php?

A pesar de que he visto varios tutoriales, no lo logro detectar dónde falla mi programa. Esta propuesta solo permite subir un archivo a la vez.

He creado dos ficheros: index.php y saveFiles.php

index.php

            <!--FORM-->             <div class="panel panel-primary col-md-5 p-5">                 <div class="panel-body">                      <form class='form' method="POST" action="<?php echo $  _SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">                         <div class="form-group row justify-content-center align-content-center">                             <div class="col-8">                                 <input type="file" class="form-control h-auto" name="files[]" multiple>                                 <span class="p-2"><i>Allowed files: .jpg, .png, .gif</i></span>                             </div>                             <div class="col-1">                                 <button type="submit" class="btn btn-primary" name="submit">Upload</button>                             </div>                         </div>                     </form>                  </div>             </div> 

Y el fichero

saveFiles.php

$  images = 'upload/';  /*Recuperación de las imágenes en carpeta para mostrarlas en pantalla*/ $  files = glob("$  images*.{jpg,gif,png}", GLOB_BRACE);  $  authorizedType = ['image/png', 'image/jpg', 'image/gif']; $  authorizedMaxSize = 1048576;  $  date = date('YmdHis'); $  timezone = date_default_timezone_get(); date_default_timezone_set($  timezone);  if ($  _SERVER['REQUEST_METHOD'] = 'POST' && !empty($  _FILES)) {      for ($  i = 0; $  i < count($  _FILES['files']['name']); $  i++) {          /*Verificacioón de que las imágenes cumplen con los requisitos definidos*/         if($  _FILES['files']['name'][$  i] && in_array($  _FILES['files']['type'][$  i], $  authorizedType) && $  _FILES['files']['size'][$  i] <= $  authorizedMaxSize){              $  tmpFilePath = $  _FILES['files']['tmp_name'][$  i];             $  tmpFileName = $  _FILES['upload']['name'][$  i];              if(!file_exists($  images)){                 mkdir($  images, 0777) or die("An error occurred when creating folder");             }              $  dir = opendir($  images);              /*Creación de una ruta única para cada imagen usando la fecha conservando la extensión del archivo*/             $  path = $  images.'/image-' . $  date . substr($  _FILES['files']['name'][$  i], -4);              if (move_uploaded_file($  tmpFilePath, $  path)) {                 header('Location: index.php');             } else {                 echo "<script>alert('Uploading error!');</script>";             }             closedir($  dir);          } else {             echo "<script>alert('Invalid file format: type or size not allowed');</script>";         }     } } 

Como acceder a la info de un carrito Prestashop desde una página externa

Necesito acceder a la información del carrito de un Prestashop, desde un página externa a este Prestashop, en este caso desde un plugin WordPress que solicita por GET esa info del carrito, comento:

Instalación de Prestashop (http://localhost/prestashop)

Aquí he creado un módulo que lo hace es devolver cierta información para que el plugin de WordPress la consuma, dentro del módulo, en /front/controllers/ he creado un archivo info.php con el siguiente código:

include_once(dirname(__FILE__).'../../../../../config/config.inc.php'); include_once(dirname(__FILE__).'../../../../../init.php');  class ApiCartInfoModuleFrontController extends ModuleFrontController {    public function __construct($  response = array()) {     parent::__construct($  response);     $  this->display_header = false;     $  this->display_header_javascript = false;     $  this->display_footer = false;   }    public function postProcess(){      $  product = new Product(1);      $  newCart = new Cart($  this->context->cookie->id_cart);      $  data = array(       "id_cookie_cart" => $  this->context->cookie->id_cart,       "nameProduct" => $  product->name[1],       "total"  => strval($  newCart->getOrderTotal()),       "static_token" => Tools::getToken(false),       "token" => Tools::getToken()     );      echo json_encode($  data);   }  } 

Si accedo a esta url https://localhost/prestashop/module/apicart/info, puedo ver perfectamente la salida del array por pantalla:

{"id_cookie_cart":"15","nameProduct":"Camiseta efecto deste\u00f1ido de manga corta","total":"56.76","static_token":"3455435gfdgdfg4545435","token":"454435dfdfrgf4354545fg"} 

El problema viene cuando desde WordPress con Vue realizo una petición GET a esa url para obtener el mismo objeto JSON, hay ciertos datos del objeto que no obtengo correctamente.

Instalación de WordPress (http://localhost/wordpress)

Aquí he creado un plugin que carga Vue y mediante una petición GET por Fetch:

var url ="http://localhost/prestashop/module/apicart/info";   var options = {     method: 'GET',   }   fetch(url,options)   .then((response) => {      return response.json();    }).then((data) => {      console.log(data);    }) 

En el console.log que hago de data, obtengo lo siguiente:

{id_cookie_cart: false, nameProduct: "Camiseta efecto desteñido de manga corta", total: "0", static_token: "3455435gfdgdfg4545435", token: "454435dfdfrgf4354545fg"} 

Como podéis ver, los valores de id_cookie_cart y de total no los llego a recoger, que son los que más me interesan, pues mi intención es poder consultar el carrito de Prestashop desde WordPress con VUE en este caso.

Todo lo que intento devolver desde $ this->context lo obtengo desde Vue como 0, false, etc.

¿Como puedo generar y insertar automaticamente el id desde php?


Estoy tipeando y guardando el id de forma manual desde el input, pero necesito autogenerar el codigo y que inserte automaticamente. Sin usar el autoincremet de mysql, alguien me puede ayudar por favor. La parte del input el name y id son usados en agregar.php, codigo que esta mas abajo.

  <table class="table">                     <tr>                         <td>CODIGO</td>                         <td colspan="2">                             <input class="form-control" type="text" name="codigovista" id="p0">                         </td>                     </tr>                     <tr> 

Javascript

    //boton guardar  $  ('#guardar').on('click', function(){     var v0 = $  ('#p0').val();     var v1 = $  ('#p1').val();     var v2 = $  ('#p2').val();     var v3 = $  ('#p3').val(); //------------------------------     var v4 = $  ('#p4').val();      var v5 = $  ('#p5').val();          if (v0.length>0 && v1.length>0 && v2.length>0 && v3.length>0 && v4.length>0 && v5.length>0)  

Agregar.php, los valores son llamados en el js

    $  p0 = $  _POST['codigovista'];     $  p1 = $  _POST['razonsocialvista'];     $  p2 = $  _POST['rucvista'];     $  p3 = $  _POST['fechavista'];     $  p4 = $  _POST['comentariovista'];     $  p5 = $  _POST['estadovista'];     $  conexion->add($  p0,$  p1,$  p2,$  p3,$  p4,$  p5); 

Insert

    public function add($  v0,$  v1,$  v2,$  v3,$  v4,$  v5) {     //crear statement     $  stmt = $  this->conexion->prepare('INSERT INTO contribuyentes VALUES (?,?,?,?,?,?)');     //parametro a statement     $  stmt->bind_param('ssssss',$  v0,$  v1,$  v2,$  v3,$  v4,$  v5);     //ejecutar el query     $  stmt->execute();     //cerrar statement     $  stmt->close(); } 

Tabla de la bd

introducir la descripción de la imagen aquí

Setear contexto desde un archivo js (sin componente)

agradezco me puedan ayudar.

¿Cómo puedo hacer uso del contexto de la aplicación desde un archivo JS? Este archivo no es un componente.

Explico:

Tengo un archivo llamado common.js, este archivo contiene una función llamada changeContext().

Tengo otro archivo llamado Aap.js, que es el archivo principal de la aplicación donde tengo el ProfileContext con sus valores. Copio las lineas.

render () {   return <ProfileContext.Provider     value = {{        profile: this.state.profile,        modal: this.onShowModal.bind (this)     }}   >   </ProfileContext.Provider>;

Normalmente seteo el contexto; los values desde otro archivo que es un componente de esta forma:

const profile = 'valueDefault'; const onShowModal = () => {return false; };  render () {   return (     <ProfileContextConsumer>       {(context) => {         this.profile = context.profile;         this.onShowModal = context.modal;         return (           <View>             {             }           </View>)          }        })     };

Entonces lo que yo necesito es poder hacer lo mismo pero no desde un archivo componente sino desde mi archivo common.js, desde mi función changeContext().

Agradezco cualquier ayuda. Muchas gracias por su tiempo.