aus XML vom Typ Float auslesen?

Ador

Erfahrenes Mitglied
Hallo,
es geht hier um mein Bestellformular, was ich gerade bastell.

In einem anderen Thread wurde mir zum auslesen aus dem XML-File Simple XML genannt.
Nun möchte ich aber die Preise (z.b. 2,80) auslesen, also eine fließkommazahl, also vom Typ Float. Mit Simple XML geht das offenbar nicht, was gibt es anderes, was ich nutzen kann?

mfg
ad0r
 
Wo genau liegt das Problem?
SimpleXML liest es grundsätzlich als String aus, danach kannst du es in einen Typ zwingen wie du möchtest.

PHP:
<?php

$xml = simplexml_load_file('test.xml');
var_dump((float)$xml->number);
?>
 
Ok danke.

Es hat funktioniert mit:

PHP:
echo $eintrag->name . "  " . $eintrag->preis  . "€</br>";
	$betrag = doubleval($eintrag->preis);

Im augenblick sieht es so aus: 2,9 € oder 29 €. ich hätte gern das es 2,90 € unr 29,00 € sind. Wie bekomm ich das hin?

mfg
 
PHP:
printf('%01.2f', 4);

Wobei du in deinem Fall ein Komma verwendest.

Oder du schaust dir die Funktion [phpf]money_format[/phpf] mal an.
 
Ok danke!

Nun hab ich noch eine Frage:
Mein Bestellformular funktioniert soweit. Also man kann die Speisen auswählen (wird alles aus ner xml gelesen), dann kann man bestellen klicken, wird auf die nächste seite weitergeleitet (auswertung.php) und dort bekommt man alles angezeigt was man bestellt hat und zusätzlich noch den gesamtpreis angezeitgt.
Darunter hab ich nun ein neues Formular gemacht, wo man Name usw. eintragen kann und wiederum "bestellung abschicken", wenn man entgülltig bestellen möchten.

Hier nun mein Problem, An dieser Stelle sollen einfach alle Daten verschickt werden, per mail oder so, erstmal egal. Das neue Formular wird auch richtig verschickt, aber die "alten" daten von davor (speisen, preise) werden nicht weiterveschickt. Wie bekomm ich es hin, dass ich nochmal alle bestellten sachen ebenfalls weiterschicken kann?

Hoffe man versteht mich :-)

Wenn man nun Bestellung abschicken klickt, sollen alle Daten (auch die alten) entgülltig verschickt werden.


PHP:
<html>
<body>

<?php

/* Einlesen der Datei in ein Objekt */
$menu_ausw = simplexml_load_file("menu2.xml");
$zaehl = 0;

echo "Auswertung der Bestellung </br>";
echo "Sie haben bestellt:  </br></br>";

$betrag = 0.0;
$multiplikator = 0.0;
$summe = 0.0;
$endsumme = 0.0;

foreach($menu_ausw->vorspeisen->eintrag as $eintrag) 
{
	$zaehl++;
	$form_name = "menge".$zaehl;

	if($_POST[$form_name])
	{
		echo $eintrag->name . "  " . $eintrag->preis  . "€" . "</br>";
		$betrag = doubleval($eintrag->preis);
		$multiplikator = $_POST[$form_name];
		$summe = $betrag*$multiplikator;
		$endsumme = $endsumme + $summe;
		echo $_POST[$form_name]."x " . $eintrag->name . "   Summe: "; echo $summe . "€";
		echo "</br></br>";
		//echo "Betrag:" .$betrag . "  Multiplikator:" . $multiplikator . "  Summe:" . $summe . "</br></br>";
	}
}


echo "<p>Der Gesamtpreis beläuft sich auf: " . $endsumme . "€.</p>";
echo "<p>Wenn Sie die Bestellung abschicken möchten, geben Sie Bitte Ihre Kontaktdaten in das unten stehende Formular ein und Bestätigen mit - Bestellung abschicken -</p>";

echo '	<form action = "best_abschicken.php" method="post"' . "<br>" . 
		'<p>Vorname: <input name = "vorname" size = "30"> </br>' .
		'<p>Nachname: <input name = "nachname" size = "30"> </br>' .
		'<p>Extras oder Wünsche können Sie hier eintragen: <textarea name = "wunsch" cols = "40" rows = "7"></textarea>
		<p><input type = "submit" value = "Bestellung abschicken!">
		</form>';


?>


</body>
</html>

mfg
 
Ok wieder danke.

Gibt es in PHP keine Globalen Varablen? Oder eben welche die ich weiternutzen kann?
 
PHP ist eine serverseitige Requestsprache, sprich nach dem Request ist das aktuelle Skript zuende.

Um Inhalte weiterzureichen bleibt dir nur eine Zwischenspeicherung. Zum Beispiel Sessions, Datenbanken oder Textdateien.

Wobei dir Sessions hier am ehesten helfen werden.
 
Zurück