2012-04-02 9 views
1

Ich habe extreme Schwierigkeiten, Wege zu Json encode in Flot zu finden. Erstens sende ich eine Reihe von Daten, zum Beispiel 00:00-00:30 von meinem PHP zu meinem Javascript. Allerdings, wenn ich die Alarmfunktion zu debuggen verwenden, werde ichJson-Codierung kann nicht mit Flot plotten

({'':"00:00-00:30", 1:"00:30-01:00", 2:"01:00-01:30", 3:"01:30-02:00", 4:"02:00-02:30", 5:"02:30-03:00", 6:"03:00-03:30", 7:"03:30-04:00", 8:"04:00-04:30", 9:"04:30-05:00"...})

sehen, ich bin ganz im Moment an verloren, warum kann ich nicht ohne die Anführungszeichen nur 00:00-00:30 und den Rest in json kodieren senden. Danke vielmals!

Mein PHP-Array-Code:

$sql="SELECT * FROM $tbl_name6 WHERE Month = '$test'"; 
$result=mysqli_query($link, $sql); 
$row_cnt = mysqli_num_rows($result); 
while ($row = mysqli_fetch_array($result)) 
{ 
$times = $row['Time']; 
$demand = $row['Demand']; 

$arraytime[$countdown] = $times; 
$arraydata[$countdown] = $demand; 
$countdown = $countdown + 1; 

} 

Mein JavaScript-Code:

$(function() { 
var graph = []; 
var power = <?php echo json_encode($arraydata);?>; 
var time = <?php echo json_encode($arraytime);?>; 
alert(time.toSource()); 
+0

Verwenden Sie wahrscheinlich Zeichenfolge statt Array. – hakre

+0

meinst du mein $ arraydata [] in eine Zeichenkette zu ändern? – Eugene

+0

Ich muss mein Array in mein Javascript übergeben, da ich diese Daten in JavaScript vor dem Plotten verarbeiten möchte – Eugene

Antwort

1

Sie ziehen Werte wie "00: 00-00: 30" aus Ihrer Datenbank. In welchem ​​Format ist das in der Datenbank gespeichert? Ich vermute ein Varchar, das eine Zeichenfolge ist. Sie ziehen sie aus der Datenbank, Sie erhalten eine PHP-Zeichenfolge und wenn Sie eine PHP-Zeichenfolge json_encode, erhalten Sie eine JavaScript-Zeichenfolge zurück (daher die in Anführungszeichen). Nicht sehr überraschend.

Beginnen wir am Ende Spiel. Welche Werte möchten Sie Flot übergeben? Sind "00: 00-00: 30", "00: 30-01: 00", etc ... Kategorien für ein Torten- oder Balkendiagramm? Sind es die Etiketten, die du auf deinem xAxis haben willst?

Wie sieht "Power" aus? Sind diese numerischen Werte?

1

Es ist nicht ganz klar, was Sie als Endergebnis wollen, aber ich vermute, dass Sie eine Reihe von Daten möchten, die Sie weitergeben können, um zu flotten. Wenn das der Fall ist, versuchen Sie $ Countdown auf 0 initialisiert dieses Es wird sich ändern:

{"":"00:30-01:00","1":"01:00-01:30","2":"01:30-02:00"} 

dazu:

["00:30-01:00","01:00-01:30","01:30-02:00"] 

Von dort können Sie das aktuelle Datum ein Objekt erhalten, indem Sie das Datum() -Funktion mit der Zeichenfolge als Argument.