das ist hier die Lösung:
<option value=> <?php print($bereich->user29); ?></option>;
Danke für deine Hilfe
das ist hier die Lösung:
<option value=> <?php print($bereich->user29); ?></option>;
Danke für deine Hilfe
mein Fehler muss mit fehlenden " oder ' zusammenhängen. ich denke in "Buchführung prüfen >" wird das schließende <option Tag ausgegeben
ich probiere es gerade mal aus, ich habe in index.php jetzt:
<select class="auswahlprogrammbereich form-control" id="selectUser29SeiteKunden1">
<?php foreach ($data AS $bereich) { ?>
<option value= <?php print($bereich->user29); ?>></option>;
<?php } ?>
</select>
in der Selectbox steht aber nicht wie erwartet "HKR->Buchführung prüfen" sondern "Buchführung prüfen >". Muss da noch irgendein Typ gewandelt werden?
ok Danke, value.de funktioniert
ich werde es so umbauen das es serverseitig abgewickelt wird
Hi,
ich möchte eine Selectbox mit Werten aus eine MySQL Abfrage füllen aber in der Box steht nur [object Object]
mein Code:
HandlerUser29.php
<?php
namespace App\Ticket;
require_once 'TicketRepository.php';
require_once 'ModelUser29.php';
use PDO;
if(isset( $_POST['user29'])) {
$myTicketRepository = new TicketRepository($pdo = new PDO('mysql:dbname=crmdb; host=192', 'ah', '#2017'));
$result = $myTicketRepository->ladeUser29();
echo json_encode($result);
}
Alles anzeigen
ModelUser29.php
TicketRepository.php
function ladeUser29() {
$statement = $this->pdo->prepare("SELECT l.de
FROM crmdb.lists_values l
WHERE l.name = ?");
$statement->execute(array('_Programmbereich'));
$statement->setFetchMode(PDO::FETCH_CLASS, "App\\Ticket\\ModelUser29");
$data = $statement->fetchAll(PDO::FETCH_CLASS, "App\\Ticket\\ModelUser29");
return $data;
}
Alles anzeigen
custom.js
$(document).ready(function() {
$.ajax({
type: "POST",
data: {
user29: 'user29'
},
url: "../../src/Ticket/HandlerUser29.php",
dataType: "json",
success: function(data) {
$.each( data, function( key, value ) {
$('#selectUser29SeiteKunden1').append( new Option( value) ) ;
});
},
} );
} );
Alles anzeigen
wenn ich hier die Zeile
$('#selectUser29SeiteKunden1').append( new Option( value) ) ;
durch
$('#selectUser29SeiteKunden1').append( new Option( JSON.stringify(value)) ) ;
ersetze, steht
{"user29":null,"de":"HKR->Buchführung prüfen"}
in der Selectbox (und weitere Zeilen dieser Art).
es soll aber nur "HKR->Buchführung prüfen" anezeigt werden.
wer kann mir helfen?
ok Danke es funktioniert
Danke so funktioniert es
das bezog sich auf deinen vorletzten Post
jetzt probiere ich:
barGraph.data.datasets ????
barGraph.update();
hier komme ich noch nicht weiter
Danke so funktioniert es
das habe ich schon gefunden. ich habe es noch nicht geschafft es auf mein Projekt anzuwenden
Hi,
ich habe ein Chart das bei Fensteraufruf funktioniert:
$(document).ready(function(){
$.ajax({
type: "POST",
data: {
class: 'TicketRepository',
method: 'ladeChartVerlaufOffen4',
fb: $('.auswahlfachbereich').val()
},
url: "../../src/ticket/HandlerChartVerlaufOffen4.php",
dataType: "json",
success: function(data) {
var x = [];
var y = [];
var z = [];
for(var i in data) {
x.push(data[i].tag);
y.push(data[i].anzahl);
z.push(parseInt(data[i].anzahl));
}
const s = (z.reduce((prev, curr) => prev + curr, 0))/z.length;
const sum = s.toFixed(0);
var chartdata = {
labels: x,
datasets : [
{
label: 'Durchschnitt letzte 30 Tage ' + '(' + sum + ')',
backgroundColor: '#ed9a56',
borderColor: 'rgba(200, 200, 200, 0.75)',
hoverBackgroundColor: '#4d82b8',
hoverBorderColor: 'rgba(200, 200, 200, 1)',
data: y
}
]
};
var ctx = $("#chartVerlaufOffen4");
var barGraph = new Chart(ctx, {
type: 'bar',
data: chartdata,
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});
},
error: function(data) {
console.log(data);
}
});
});
Alles anzeigen
wenn ich in einer Selectbox die Auswahl ändere soll das Chart aktualisiert werden:
wenn ich den selben Code wie oben nutze, wird zwar die Ansicht aktualisiert aber wenn ich mit der Maus über Canvas fahre werden die Werte aus dem ersten Aufruf im Chart angezeigt. Die Aktualisierung erfolgt nicht vollständig.
Wer kann mir helfen?
das sieht erstmal gut aus und funktioniert. Wenn die Seite geladen wird erscheinen die Daten mit dem gewünschten Parameter
Danke dafür
in dem Fenster ist eine Selectbox. Wenn ich die Auswahl ändere, soll die Funktion zum laden erneut aufgerufen werden. Ich denke im EventHandler der Selectbox muss ein Aufruf rein, der den Wert übergibt und das Chart erneut lädt. Wie muss dieser neue Aufruf aussehen? Für Datatables nutze ich:
gibts sowas auch für Charts?
Hallo Experten,
ich habe ein für mich sehr kniffliges Problem. Ich möchte per Ajax einen Parameter an eine PHP Funktion übergeben, der für eine MySQL Abfrage benötigt wird:
custom.js:
$(document).ready(function(){
$.ajax({
type: "POST",
data: {
class: 'TicketRepository',
method: 'ladeChartVerlaufOffen4',
fb: document.getElementsByClassName('auswahlfachbereich')[0].value --> dieser Parameter soll in der Abfrage ankommen
},
url: "../../src/ticket/HandlerChartVerlaufOffen4.php",
dataType: "json",
success: function(data) {
var x = [];
var y = [];
var z = [];
for(var i in data) {
x.push(data[i].tag);
y.push(data[i].anzahl);
z.push(parseInt(data[i].anzahl));
}
const s = (z.reduce((prev, curr) => prev + curr, 0))/z.length;
const sum = s.toFixed(0);
var chartdata = {
labels: x,
datasets : [
{
label: 'Durchschnitt letzte 30 Tage ' + '(' + sum + ')',
backgroundColor: '#ed9a56',
borderColor: 'rgba(200, 200, 200, 0.75)',
hoverBackgroundColor: '#4d82b8',
hoverBorderColor: 'rgba(200, 200, 200, 1)',
data: y
}
]
};
var ctx = $("#chartVerlaufOffen4");
var barGraph = new Chart(ctx, {
type: 'bar',
data: chartdata,
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});
},
error: function(data) {
console.log(data);
}
});
});
Alles anzeigen
HandlerChartVerlaufOffen4.php:
<?php
namespace App\Ticket;
require_once 'TicketRepository.php';
require_once 'ModelChartVerlaufOffen4.php';
use PDO;
if(isset( $_POST['class']) && isset( $_POST['method'])) {
$myTicketRepository = new TicketRepository($pdo = new PDO('mysql:dbname=db; host=1234', 'a', 'in'));
$result = $myTicketRepository->ladeChartVerlaufOffen4();
echo json_encode($result);
}
$pdo = null;
?>
Alles anzeigen
TicketRepository.php:
function ladeChartVerlaufOffen4()
{
$statement = $this->pdo->prepare("SELECT *
FROM (SELECT id_offen_gruppen AS ids, DATE_FORMAT(o.datum, '%d.%m') AS tag, SUM(o.anzahl) AS anzahl
FROM crmdb_copy.offen_gruppen o
WHERE o.status IN(?, ?)
AND YEAR(o.datum) =?
AND o.gruppen =? --> hier soll dr Parameter ankommen
GROUP BY DATE_FORMAT(o.datum, '%d.%m')
ORDER BY o.datum DESC LIMIT 30) sub
ORDER BY ids");
$statement->execute(array(0, 1, date('Y')));
$statement->setFetchMode(PDO::FETCH_CLASS, "App\\Ticket\\ModelChartVerlaufOffen4");
$data = $statement->fetchAll(PDO::FETCH_CLASS, "App\\Ticket\\ModelChartVerlaufOffen4");
return $data;
}
Alles anzeigen
also: fb: document.getElementsByClassName('auswahlfachbereich')[0].value aus custom.js soll in AND o.gruppen = ? in TicketRepository.php ankommen
wer kann mir helfen?
vielen Dank für eure tollen Erklärungen. Das habe ich gesucht
Hi,
oich habe mal ein grundsätzliche Frage. In meiner .js arbeite ich mit:
und an anderer Stelle mit:
beides funktioniert. Die Seite wird angezeigt und js arbeitet wie es soll.
Worin lkiegt der Unterschied? Was ist richtig oder falsch? Wo kann mir das "auf die Füße fallen"?
Kann mir das jemand kurz schildern?
ich habe es jetzt so implementiert:
$.ajax({
type: "POST",
data: {
class:'TicketRepository',
method:'ladeOffen'
},
url: "../../src/Ticket/HandlerOffenStartseite.php",
dataType: "html",
success: function(data) {
var text = data;
var obj = JSON.parse(text);
document.getElementById("h4").innerHTML = obj.offen_index;
},
} );
Alles anzeigen
als Ergebnis bekoome ich in HTML ein undefined
es kann wirklich nur noch eine Kleinigkeit sein...
Hi,
ich möchte das Ergebnis einer MySQL Abfrage in HTML darstellen. Ich habe folgenden Code:
Das Model:
Die Helferklasse:
<?php
namespace App\Ticket;
require_once 'TicketRepository.php';
require_once 'ModelOffenStartseite.php';
use PDO;
if(isset( $_POST['class']) && isset( $_POST['method'])) {
$myTicketRepository = new TicketRepository($pdo = new PDO('mysql:dbname=db; host=1234', 'xxx', 'yyy'));
$result = $myTicketRepository->ladeOffen();
echo json_encode($result);
}
$pdo = null;
?>
Alles anzeigen
jQuery:
$.ajax({
type: "POST",
data: {
class:'TicketRepository',
method:'ladeOffen'
},
url: "../../src/Ticket/HandlerOffenStartseite.php",
dataType: "html",
success: function(data) {
document.getElementById("h4").innerHTML = data;
},
} );
Alles anzeigen
das Ergebnis der Abfrage in der console.log stimmt:
in der HTML Datei wird [{offen_index: "626"}] angezeigt.
Ich will aber nur die Zahl 626 in der HTML darstellen.
wer kann mir helfen?
es klappt so wie dort beschrieben
vielen Dank für den Tipp
Hi,
ich möchte zeitgesteuert eine Datatable aktualisieren. Der Server sendet die json auch mit den richtigen Daten. Sie werden aber nicht in der Tabelle aktualisiert. Muss die Tabelle erst gelöscht und neu gezeichnet werden?
Gibts dazu irgendwo eine gute Doku?
Danke für eure Hilfe
HTML-Seminar.de - mit Videos zum schnellen Lernen, wie man eine Website selbst erstellt.