Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
if($_POST['uebernehmen'])
{
$stmt=$mysqli->prepare($insertziele);
$stmt->bind_param("sssssssssssssss",
$uid,
$_POST['ziel1'],
$_POST['ziel2'],
$_POST['ziel3'],
$_POST['ziel4'],
$_POST['ziel5'],
$_POST['ziel6'],
$_POST['ziel7'],
$_POST['ziel1'],
$_POST['ziel2'],
$_POST['ziel3'],
$_POST['ziel4'],
$_POST['ziel5'],
$_POST['ziel6'],
$_POST['ziel7']);
$stmt->execute();
}
$insertziele="INSERT INTO zielema (jahr, id_betreuer, ziel1, ziel2, ziel3, ziel4, ziel5, ziel6, ziel7) VALUES
(2013,
?,
REPLACE(REPLACE(?, '.' , ''), ',' , '.'),
REPLACE(REPLACE(?, '.' , ''), ',' , '.'),
REPLACE(REPLACE(?, '.' , ''), ',' , '.'),
REPLACE(REPLACE(?, '.' , ''), ',' , '.'),
REPLACE(REPLACE(?, '.' , ''), ',' , '.'),
REPLACE(REPLACE(?, '.' , ''), ',' , '.'),
REPLACE(REPLACE(?, '.' , ''), ',' , '.'))
ON DUPLICATE KEY UPDATE
ziel1= REPLACE(REPLACE(?, '.' , ''), ',' , '.'),
ziel2= REPLACE(REPLACE(?, '.' , ''), ',' , '.'),
ziel3= REPLACE(REPLACE(?, '.' , ''), ',' , '.'),
ziel4= REPLACE(REPLACE(?, '.' , ''), ',' , '.'),
ziel5= REPLACE(REPLACE(?, '.' , ''), ',' , '.'),
ziel6= REPLACE(REPLACE(?, '.' , ''), ',' , '.'),
ziel7= REPLACE(REPLACE(?, '.' , ''), ',' , '.');"
;
Und es geht doch.
Hallo nochmal,
Siehe da, es geht. Durch den REPLACE Befehl werden die Punkte gelöscht und die Kommas durch Punkte ersetzt. Hattest doch recht, dass es sich um Strings handelt und nicht um Dezimalzahlen. Was da aber dann die Definition in der Datenbank bringen soll, weiß ich auch nicht.
Gruß und Dank!
Ach, ich weiß nicht mehr, was ich vorhin damit meinte. Hab mich wohl geirrt...Wie meinst du das Ergebnis der Replace Funktion übergeben.
Ich meinte die Spaltendefinition (Spaltentyp) der Datenbankspalte. In phpmyadmin kann ich dort decimal(11,2) angeben.
Bzw. warum der Wert im Prepared Statement als String benannt werden muss, wenn doch in der DB dieser als decimal gespeichert wird.
Ja, so im Prinzip. In PostgreSQL gehen solche Spielereien:Hallo,
ich glaube zu verstehen. Wenn eine Zahl durch ein Komma getrennt ist, handelt es sich um eine Stringvariable. Wenn eine Zahl durch einen Punkt getrennt ist, dann erkennt die DB das als Zahl.
test=*# select pg_typeof(123,45);
ERROR: function pg_typeof(integer, integer) does not exist
LINE 1: select pg_typeof(123,45);
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
test=*#
test=*#
test=*#
test=*#
test=*# select pg_typeof(123.45);
pg_typeof
-----------
numeric
(1 row)
test=*# select pg_typeof(123,45);
ERROR: function pg_typeof(integer, integer) does not exist
LINE 1: select pg_typeof(123,45);
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
test=*# select pg_typeof('123.45'::numeric);
pg_typeof
-----------
numeric
(1 row)
test=*# select pg_typeof('123.45'::text);
pg_typeof
-----------
text
(1 row)
Du meinst ich soll unten auf "Empfehlen" klicken?