Skocz do zawartości
TGC

Problem z przesłaniem danych.

Polecane posty

Witam, mam problem z przesłaniem danych między skryptem php, a js. Kod wygląda następująco:

 

PHP:

 $con=mysqli_connect("localhost","test","zaq12wsx","testbb");
    if (mysqli_connect_errno($con))
    {
        echo "Błąd: " . mysqli_connect_error();
    }
 $zapytanie =  mysqli_query($con, "SELECT idn, COUNT(idn) FROM STU1 GROUP BY idn ORDER BY COUNT(idn) DESC LIMIT 1;");
 while ($row = mysqli_fetch_row($zapytanie) ) {
   


 } 

JS:

<script type='text/javascript'>
      google.load('visualization', '1', {packages:['gauge']});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
      
		 ['Label', 'Value'],  
		 ['DOW', 80], 
        ]);

        var options = {
          width: 400, height: 120,
          redFrom: 90, redTo: 100,
          yellowFrom:75, yellowTo: 90,
          minorTicks: 5
        };

        var chart = new google.visualization.Gauge(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>

Teraz chcę aby zamiast liczby 80 - ['DOW', 80], była brana liczba z kodu php, a dokładniej ".$row[1]."

 

Proszę o pomoc.

Edytowano przez TGC (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

wsadź sobie zwykłym 'echo' tą zmienną do tablicy w JS.

 

Najprostszym rozwiązaniem jest, jak cały ten JS umieścisz w pliku php, którym wykonujesz.

 

Możesz też bodajże

 

JS:

var liczba = 80;
['DOW', liczba], 

A w php:

echo('<script>liczba = '.$row[1].'</script>');

Nie testowane, pisane z marszu :<

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Filip Nowacki

wsadź sobie zwykłym 'echo' tą zmienną do tablicy w JS.

 

Najprostszym rozwiązaniem jest, jak cały ten JS umieścisz w pliku php, którym wykonujesz.

 

Możesz też bodajże

 

JS:

var liczba = 80;
['DOW', liczba], 

A w php:

echo('<script>liczba = '.$row[1].'</script>');

Nie testowane, pisane z marszu :<

 

A co w przypadku kiedy wynik z bazy zwróci kilka wyników? W takim przypadku na zmienną liczba będzie cały czas przypisywana ostatnia wartość.

     $con=mysqli_connect("localhost","test","zaq12wsx","testbb");
    if (mysqli_connect_errno($con))
    {
    echo "Błąd: " . mysqli_connect_error();
    }
    $i = 0;
    $zapytanie = mysqli_query($con, "SELECT idn, COUNT(idn) FROM STU1 GROUP BY idn ORDER BY COUNT(idn) DESC LIMIT 1;");
    while ($row = mysqli_fetch_row($zapytanie) ) {
    $i++;
    echo('<script>liczba'.$i.' = '.$row[1].'</script>');
     
    } 

jak już, btw strawsznie mały ten edytor kodu :c

 

@edit:

staraj się nie używać mysql_* tylko używaj biblioteki PDO, w następnej wersji php mysql_* będzie martwe.

 

Edytowano przez Filipsiu (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość

przecież autor używa mysqli, które nie bedzie usuwane.

 

No tak... nie zauważyłem tego przez ten mały edytor.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
<script>google.load("visualization", "1", {packages:['gauge']});google.setOnLoadCallback(drawChart);
    function drawChart() {
    var data = new google.visualization.DataTable();
    data.addColumn('string', 'Value');
    data.addRows([
<?php
       $zapytanie = mysqli_query($con, "SELECT idn, COUNT(idn) FROM STU1 GROUP BY idn ORDER BY COUNT(idn) DESC LIMIT 1;");
while ($row = mysqli_fetch_row($zapytanie) ) {
                echo "['DOW', ".$row[1]."],";
            }
 ?>
]);var options = {title: 'TYTUŁ'};
var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));chart.draw(data, options);}</script>
  

Pisane na szybko, więc mogą być jakieś mini błędy.

Edytowano przez kcp (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×