¿Complementos o tutoriales para mostrar datos de SQL-db en la página WP? [cerrado]

4

Tengo una estación meteorológica personalizada en una Raspberry Pi 3 con una configuración local de LAMP en ejecución. El sensordata se almacena en su propia base de datos. El trabajo para WordPress es solo para tener una posibilidad WYSIWYG fácil (algo) para editar el diseño de la página de visualización que se muestra en una Pi secundaria mediante un navegador de pantalla completa.

Necesito ahora 3 funciones un tanto "únicas" para las que no pude encontrar una solución adecuada para:

  1. Códigos cortos para la entrada de datos más reciente (en tiempo real) de la base de datos (como temperatura, humedad, velocidad del viento, rainsensordata, volumen de lluvia, etc.) para que sea fácil de usar para cambiar la ubicación de todos los Datos dentro de la página.

  2. Necesito un administrador de back-end (plugin, adminpanelentry, lo que sea) para elegir el hecho de tomar los últimos datos de la base de datos o ingresar un valor fijo en el caso de errores de sensores u otras ocasiones que puedan necesitarlo. Sería bueno tener: Guardar las entradas manuales en la base de datos y tener un menú desplegable para elegir. Nada especial, algo como enlace

  3. es una forma "fácil" de agregar nuevos valores de datos (si se agrega un nuevo sensor)

La adquisición de datos se realiza con Python escribiendo en la base de datos. ¿Sería más fácil dejar que Python escriba los datos en Wordpress-DB directamente en su propia tabla? Aunque quizás ya hay software en caso de complementos que ya hacen lo que necesito?

¡Gracias!

    
pregunta Phish 27.03.2017 - 12:21

1 respuesta

1

Esta es una pregunta bastante vaga y amplia, pero lo intentaré. Puede agregar el siguiente código en un complemento de funcionalidad o si está ejecutando un tema, puede colocarlo en el archivo functions.php de su tema. (Obviamente, tendrá que cambiar el SQL, los atributos, etc., solo una prueba de concepto)

add_shortcode( 'wpse_weather_data', 'wpse_weather_data_shortcode_cb' );
function wpse_weather_data_shortcode_cb( $atts ) {
    $atts = shortcode_atts( array(
        'fallbackValue' => '',
        'sensor' => 0
     ), $atts );

     extract( $atts );

     // Make the connection to a separate database using PHP. 
     // You might want to store these credentials as constants in wp-config.php 
     // to keep all the db credentials in one place.
     $db = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");
     if ( !$db ) {
         return $fallbackValue;
     }

     // Make the query
     $query = "SELECT * FROM table_name WHERE sensor = {$sensor}";
     $result = mysqli_query($db, $query);
     if ( !$result ) {
         return $fallbackValue;
     }

     $row = mysqli_fetch_array($result);
     // Put the data on the page... FYI you have to return the data from a shortcode, not echo it.
}

Construir una página de opciones, almacenar valores pasados en una base de datos, etc. está muy lejos del alcance de este foro, pero esto le dará una manera de comenzar. Puede personalizarlo (por # 3) agregando diferentes atributos al shortcode. Por ejemplo, aquí puede agregar sensores adicionales y especificar un valor de reserva colocando el shortcode en algún lugar del contenido y llamándolo así: [wpse_weather_data sensor="0" fallbackValue="Could not fetch sensor data"]

Espero que esto te guíe en la dirección correcta.

    
respondido por el brianjohnhanna 28.03.2017 - 22:27

Lea otras preguntas en las etiquetas