CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
18.10.2010, 00:03:18
|
Anfänger
|
|
Registriert seit: Oct 2010
Alter: 37
Beiträge: 2
|
|
Html Formular versenden, float angabe mit php in Mysql Speichern?
ok, titel ist etwas groß geworden :P
habe schon etliche suchbegriffe in google eingegebn, es kamen auch einige antworten. leider nicht das was ich mir erhofft habe. Hoffe das ich meine Php Karriere hier weiterführen kann. In anderen Foren ist die hilfe leider nicht sonderlich accurat.
Was will ich?
Also, ich habe ein Formular erstellt also das hier.
Code:
<form action="teleporter.php" method="post">
ID:<input type="text" name="ID"/><br />
MapID:<input type="text" name="MapID"/><br />
CategoryID:<input type="text" name="CategoryID"/> <br />
Name:<input type="text" name="Name"/> <br />
Xpos:<input type="text" name="Xpos"/> <br />
Ypos:<input type="text" name="Ypos"/> <br />
Zpos:<input type="text" name="Zpos"/> <br />
Rpos:<input type="text" name="Rpos"/> <br />
Cost:<input type="text" name="Cost"/> <br />
ReqLevel:<input type="text" name="ReqLevel"/> <br />
Faction:<input type="text" name="Faction"/> <br />
GuildID:<input type="text" name="GuildID"/> <br />
<input type="submit" value="Hinzufügen!"/>
</form>
So wie man sieht gibs es 3 Felder wo Coordinaten abgefragt werden. (position).
Nun habe ich folgendes Problem, x,y,z pos bestehen aus floats, also kommazahlen. Als bespiel.
Xpos -> 6404,82
Ypos -> 6404,82
Zpos -> 547,493
Diese werde nicht korrekt in der Datenbank gespeichert. Diese müssen aber Exakt so gespeichert werden, ansonsten würde der Spieler eventuel unter die Map (von einem Spiel) fallen, und nicht mehr wegkommen. Darum kommt es drauf an das die nachkomma stellen ebenfals prezise sind.
Mein derzeitges Script
PHP-Code:
<?php
error_reporting(E_All);
include "configT.php";
$_ID = $_POST['ID'];
$_MapID = $_POST['MapID'];
$_CategoryID = $_POST['CategoryID'];
$_Name = mysql_real_escape_string($_POST['Name']);
$_Xpos = $_POST['Xpos'];
$_Ypos = $_POST['Ypos'];
$_Zpos = $_POST['Zpos'];
$_Rpos = $_POST['Rpos'];
$_Cost = (int)$_POST['Cost'];
$_ReqLevel = (int)$_POST['ReqLevel'];
$_Faction = (int)$_POST['Faction'];
$_GuildID = (int)$_POST['GuildID'];
$xpos = $_POST['Xpos'];
$_xposi= number_format($xpos, 2, ',', '.');
$ypos = $_POST['Ypos'];
$_yposi = number_format($ypos, 2, ',', '.');
$zpos = $_POST['Zpos'];
$_zposi = number_format($zpos, 2, ',', '.');
if (isset($_ID)){
$sql = "INSERT INTO teleportmaster_locations
VALUES ('$_ID', '$_MapID', '$_CategoryID', '$_Name',
'$_xposi', '$_yposi', '$_zposi', '$_Rpos', '$_Cost', '$_ReqLevel', '$_Faction', '$_GuildID');
";
$erg = mysql_query($sql);
if ($erg)
{
echo "Teleport Eintrag Erfolgreich eingebatcht!";
}
else{
echo "Fehlgeschlagen".mysql_error();
}
};
?>
Es sind noch keine sicherheiten etc eingebaut, das folgt alles wenn das script Funktionsfähig ist.
Es gibt keine Error's nichts, das Script an sich geht einwandfrei, nur die x,y,z Position werden nicht Korrekt gespeichert.
Ankommen tut in der Datenbank das hier.
Xpos -> 6,404
Ypos -> -2,706
Zpos ->547
Wie bekomme ich das jetzt Richtig formatiert? Hab schon versucht float to string und umgekehrt, können sich jetzt fehler eingeschlichen haben, habs jetzt einfach so Kopiert ohne irgentwie was wegzunehm.
|
18.10.2010, 00:51:33
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Html Formular versenden, float angabe mit php in Mysql Speichern?
Hallo und willkommen hier im Forum.
Wie sieht die Struktur der entsprechenden Datenbanktabelle aus?
Benutze für die Eingabe in Dein Formular bitte den Punkt (6404.82) statt des Kommars (6404,82).
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
18.10.2010, 02:51:39
|
Anfänger
|
|
Registriert seit: Oct 2010
Alter: 37
Beiträge: 2
|
|
AW: Html Formular versenden, float angabe mit php in Mysql Speichern?
Danke .
Auf die Struktur habe ich bereits geachtet. Ist nach der reinfolge, aber hier fals es hilft der aufbau.
Code:
CREATE TABLE `teleportmaster_locations` (
`ID` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID Number for the entry',
`MapID` int(11) NOT NULL DEFAULT '0' COMMENT 'Map ID number',
`CategoryID` int(11) NOT NULL DEFAULT '0' COMMENT 'ID Number of the Category for this teleport location. ',
`Name` varchar(100) NOT NULL DEFAULT '' COMMENT 'Name of Tele Location',
`Xpos` float NOT NULL DEFAULT '0' COMMENT 'X Position',
`Ypos` float NOT NULL DEFAULT '0' COMMENT 'Y Position',
`Zpos` float NOT NULL DEFAULT '0' COMMENT 'Z Position',
`Rpos` float NOT NULL DEFAULT '0' COMMENT 'Rotation',
`Cost` int(11) unsigned NOT NULL DEFAULT '0' COMMENT 'Cost (in COPPER) to teleport here from ANY given location',
`ReqLevel` int(11) unsigned NOT NULL DEFAULT '0' COMMENT 'Required level in order to display this location as an option',
`Faction` int(1) NOT NULL DEFAULT '0' COMMENT 'Required faction ',
`GuildID` int(11) NOT NULL DEFAULT '0' COMMENT 'ID Number of the guild to use this teleport location',
PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=15005 DEFAULT CHARSET=latin1;
|
18.10.2010, 07:29:06
|
Member
|
|
Registriert seit: Nov 2007
Beiträge: 843
|
|
AW: Html Formular versenden, float angabe mit php in Mysql Speichern?
Hi
aha also Mangos ;)
Zitat:
In anderen Foren ist die hilfe leider nicht sonderlich accurat
|
Aha etwa hier?
http://yias.de/forum/f51/float-die-d...-php-1796.html
Denke Crosspostings auch wenn 1 Tag dazwischen liegt sind nicht so
gern gesehen.
Egal dein problem ist nicht die DB sondern dein Script.
Siehe number_format
Du trennst mit '.' als 1000er und in der DB brauchst du den Punkt als nachkommatrenner. Fällt auf wenn man
Zitat:
Xpos -> 6404,82
Ypos -> 6404,82
Zpos -> 547,493
|
und
Zitat:
Xpos -> 6,404
Ypos -> -2,706
Zpos ->547
|
anschaut
Versuch doch einfach nur komma gegen punkt auszutauschen
siehe str_replace
Und sonst kannst du auch dann die nachkommastellen mit sprintf begrenzen.
Und fürs nächste mal..... echo dein sqlstatement vorher mal dann siehste
was er eintragen will.
PHP-Code:
if (isset($_ID)){
$sql = "INSERT INTO teleportmaster_locations
VALUES ('$_ID', '$_MapID', '$_CategoryID', '$_Name',
'$_xposi', '$_yposi', '$_zposi', '$_Rpos', '$_Cost', '$_ReqLevel', '$_Faction', '$_GuildID');
";
//$erg = mysql_query($sql);
echo $sql;
mfg
CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
|
18.10.2010, 08:54:32
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Html Formular versenden, float angabe mit php in Mysql Speichern?
Datenbankstruktur ist i.O. und Hinweise sind gegeben, damit sollte alles gesagt - hier wie da - sein.
Daher:
[mod: closed]
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 17:09:08 Uhr.
|