Hacer un echo en un script JS

Resuelto
CorentinRoche Mensajes publicados 287 Estado Miembro -  
CorentinRoche Mensajes publicados 287 Estado Miembro -
Bonjour,

Quiero saber si es posible hacer un eco en un <script>/script>

Me explico, he recuperado un código que me permite crear un diagrama.

Las que son dos % que en total hacen 100%.

Actualmente, estos datos están fijos en el script y mi objetivo es poder hacer un "eco" en el script con los valores calculados previamente. ¡Para los cálculos no hay problema!

Pero la pregunta es cómo puedo hacer para escribir estos resultados en lugar de los datos actuales.

El código:

 try { // Percent Chart 2 var ctx = document.getElementById("percent-chart2"); if (ctx) { ctx.height = 209; var myChart = new Chart(ctx, { type: 'doughnut', data: { datasets: [ { label: "My First dataset", data: [50, 50], backgroundColor: [ '#00b5e9', '#fa4251' ], hoverBackgroundColor: [ '#00b5e9', '#fa4251' ], borderWidth: [ 0, 0 ], hoverBorderColor: [ 'transparent', 'transparent' ] } ], labels: [ 'Products', 'Services' ] }, options: { maintainAspectRatio: false, responsive: true, cutoutPercentage: 87, animation: { animateScale: true, animateRotate: true }, legend: { display: false, position: 'bottom', labels: { fontSize: 14, fontFamily: "Poppins,sans-serif" } }, tooltips: { titleFontFamily: "Poppins", xPadding: 15, yPadding: 10, caretPadding: 0, bodyFontSize: 16, } } }); } } catch (error) { console.log(error); } 


Es en la línea "data: [50, 50]," donde me gustaría hacer algo como:
data: [<?php echo $var1 ;?>, <?php echo $var2;?>],


Por ejemplo... No conozco en absoluto los límites de JS...

Gracias de antemano

Configuración: Windows / Opera 70.0.3728.119

Cordialmente,
Roche Corentin

1 respuesta

  1. NHenry Mensajes publicados 15235 Fecha de registro   Estado Moderador Última intervención   387
     
    PHP genera el código de la página (HTML, CSS, JS, ...)
    Por lo tanto, no hay razón para que un "echo" en tu código en la posición del código JS no te permita colocar eso en el código JS.

    --
    Intervengo principalmente en VB6 y VB.NET, con un poco de C#, pero la moderación me lleva a menudo a otros lenguajes.
    En VB.NET piensa en activar "Option Explicit" y "Option Strict"
    1
    1. CorentinRoche Mensajes publicados 287 Estado Miembro 41
       
      En realidad, esto funciona bien... es un error en otra parte de mi código, ¡lo siento!

      Solo si muevo mi código JS a un archivo separado, como
      <script src="js/test.js"></script>

      (Al final de mi archivo index.php)

      Y al principio de mi archivo index.php defino las variables que se usan en test.js.
      ¿Eso funcionará o estoy obligado a incluir mi código js de esta manera:
      <script>el script</script>


      ¡Gracias!
      0
      1. jordane45 Mensajes publicados 30427 Fecha de registro   Estado Moderador Última intervención   4 831 > CorentinRoche Mensajes publicados 287 Estado Miembro
         
        Hola,

        No hay problema en poner código PHP como lo haces en JavaScript.
        Sin embargo, necesitas crear tu variable data fuera de un archivo .js (el PHP solo se ejecuta en archivos con formato .php o phtml... a menos que hagas una configuración en Apache... pero te lo desaconsejo...).
        Yo lo haría, en tu archivo index.php
         <script> var datas = [<?php echo $var1 ;?>, <?php echo $var2;?>] ; </script> 


        Y en tu archivo .js
         data: datas, 
        0
      2. CorentinRoche Mensajes publicados 287 Estado Miembro 41 > jordane45 Mensajes publicados 30427 Fecha de registro   Estado Moderador Última intervención  
         
        Acabo de hacer la prueba y no funciona...

        He reemplazado esto
        data: [<?php echo $var1 ;?>, <?php echo $var2;?>],
        por esto:
        data: datas,
        en mi archivo js\graphique-pro-part.js

        y en mi archivo php tengo:
         <script src="js/graphique-pro-part.js"></script> <script> var datas = [<?php echo $pourcentage_de_client_PRO ;?>, <?php echo $pourcentage_de_client_PART ;?>]; </script>
        0
      3. jordane45 Mensajes publicados 30427 Fecha de registro   Estado Moderador Última intervención   4 831 > CorentinRoche Mensajes publicados 287 Estado Miembro
         
        Una página web se lee de arriba hacia abajo por el navegador....... si colocas la inicialización de tu variable después de haber cargado tu js.. no funcionará.
        0
      4. CorentinRoche Mensajes publicados 287 Estado Miembro 41 > jordane45 Mensajes publicados 30427 Fecha de registro   Estado Moderador Última intervención  
         
        Efectivamente ... ¡Error de base, lo siento!

        Gracias de nuevo.
        0