Ankündigung

Einklappen
Keine Ankündigung bisher.

Bootstrap Chart, Label unsichtbar machen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bootstrap Chart, Label unsichtbar machen

    Hallo,

    anbei eine Frage zu dem Code. Wenn in
    PHP-Code:
     labels  : [<?=$row ['deaktiviert']?>
    eine 1 in der Datenbank hinterlegt ist, möchte ich, dass das Label für den Nutzer nicht mehr sichtbar ist.
    Wie gehe ich da am besten vor? Kann ich dort eine IF Abfrage per PHP integrieren? Mit Javascript kenne ich mich leider nicht so aus.

    Freue mich auf Hilfe.



    PHP-Code:

    <script>
      $(function () {
        var areaChartData = {
          labels  : [<?=$row ['deaktiviert']?>,<?=$row ['aktiviert']?>],
          datasets: [
            {
              label               : 'Erste Auswertung',
              backgroundColor     : 'rgba(60,141,188,0.9)',
              borderColor         : 'rgba(60,141,188,0.8)',
              pointRadius          : false,
              pointColor          : '#3b8bba',
              pointStrokeColor    : 'rgba(60,141,188,1)',
              pointHighlightFill  : '#fff',
              pointHighlightStroke: 'rgba(60,141,188,1)',
              data                : [<?php echo $deaktiviert?><?php echo $aktiviert?>]
            },
            {
              label               : 'Zweite Auswertung',
              backgroundColor     : 'rgba(210, 214, 222, 1)',
              borderColor         : 'rgba(210, 214, 222, 1)',
              pointRadius         : false,
              pointColor          : 'rgba(210, 214, 222, 1)',
              pointStrokeColor    : '#c1c7d1',
              pointHighlightFill  : '#fff',
              pointHighlightStroke: 'rgba(220,220,220,1)',
              data                : [<?php echo $deaktiviert;?><?php echo $aktiviert?>]
            },
          ]
        }

        var areaChartOptions = {
          maintainAspectRatio : false,
          responsive : true,
          legend: {
            display: false
          },
          scales: {
            xAxes: [{
              gridLines : {
                display : false,
              }
            }],
            yAxes: [{
              gridLines : {
                display : false,
              }
            }]
          }
        }





        //- BAR CHART -

        var barChartCanvas = $('#barChart').get(0).getContext('2d')
        var barChartData = jQuery.extend(true, {}, areaChartData)
        var temp0 = areaChartData.datasets[0]
        var temp1 = areaChartData.datasets[1]
        barChartData.datasets[0] = temp1
        barChartData.datasets[1] = temp0

        var barChartOptions = {
          responsive              : true,
          maintainAspectRatio     : false,
          datasetFill             : false
        }

        var barChart = new Chart(barChartCanvas, {
          type: 'bar', 
          data: barChartData,
          options: barChartOptions
        })

      })
    </script>

  • #2
    Wenn Du einen Schalter für die Anzeige hast, den Du setzen kannst, mag das mit PHP gehen, ansonsten nicht.
    Ein IF-Konstrukt ist aber in JS ebenso unspektakulär, wie in PHP, wo genau hängst Du da?
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

    Kommentar


    • #3
      Ich habe ein Hänger, wo ich genau die IF Abfrage starten soll. Wenn ich die bei "Labels" mache zeigt er mir den Chart nicht mehr an. Hast du einen Ansatz für mich wie die Abfrage aussehen kann (Position und evtl. auch die Prüfung von
      PHP-Code:
      <?=$row ['deaktiviert']?>
      )

      Kommentar


      • #4
        Das hängt primär davon ab, was deine Chartlibrary verlangt. Vielleicht kannst du dort eine entsprechende Option setzen.

        Kommentar


        • #5
          Einen Ansatz außer IF habe ich adhoc nicht, weil ich Deine Chart-Library nicht kenne, bzw. nicht weiß, welche das ist.
          Vom Gefühl her würde ich denken, man könnte den Optionen/Parametern eine CSS-Klasse mitliefern, in der man display:hidden; erzwingt. Diese Klasse sollte dann nur denen, die ausgeblendet werden mitgegeben werden.
          Dann lässt es sich über CSS ganz simpel lösen.

          Btw., wenn sie nicht angezeigt werden sollen, warum werden die entsprechenden Daten dann erst übermittelt?

          Competence-Center -> Enjoy the Informatrix
          PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

          Kommentar


          • #6
            Schon mal danke für eure Rückmeldung
            Also ich nutze das AdminLTE 3 Template von Bootstrap.

            Arne Drews der Nutzer (bzw. Admin) soll per Button entscheiden können ob es angezeigt werden kann oder nicht. Daher habe ich diese Funktion eingebaut bzw. möchte es flexibel halten.
            Wo soll display:hidden platziert werden? Direkt hinter den einzelnen Labels?

            Stehe echt aufn Schlauch.

            Kommentar


            • #7
              Naja, wenn es über ein Admin-Tool einstellbar sein soll, musst Du doch nur die markierten nicht an den Browser schicken
              Warum willst Du das ganze Gedöns aufbauen lassen, wenn es gar nicht angezeigt werden soll? Das wäre ja, als wenn Du ne Geburtstagstorte backst, die aber dem Geburtstagskind nicht zeigst.
              Competence-Center -> Enjoy the Informatrix
              PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

              Kommentar


              • #8
                Ja gut hast Recht haha, jetzt weiß ich es wie du es meinst. meins ist ein wenig umständlicher. Beim nächsten Mal weiß man es dann besser
                Darf ich fragen wie du/ihr es aufbauen würdet (Code technisch)? Wahrscheinlich ist es schwer mit so einem Code Ausschnitt viel anfangen zu können

                Kommentar


                • #9
                  Na der Aufbau der Parameter/Optionen sollte Server seitig stattfinden. PHP in JS-Code ist nicht gerade clever.
                  Wenne s dann Server seitig läuft, erstellst Du den Parameter-Block halt nur dann, wenn $row['deaktiviert'] eine 1 hat:
                  PHP-Code:
                  if (!$row['deaktiviert']) {
                      
                  // ... hier kommt der Aufbau der areaChartData

                  Competence-Center -> Enjoy the Informatrix
                  PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                  Kommentar


                  • #10
                    Dankeschön - habe es hinbekommen

                    Kommentar

                    Lädt...
                    X