Brüche darstellen
jakob2002
- php
0 kerstel0 Bernhard Mecl
Hi,
ich möchte mit PHP Brüche darstellen. Dies klappt auch wenn ich zum Beispiel im Zähler nicht noch einen Bruch habe, dann wird nur der Bruch angezeigt, der im Zähler des ersten Bruches sein sollte. Allerdings brauch ich einen zweiten Bruch im Zähler. Hier der Quelltext:
<?php
//Verbinden usw....
$result = mysql_query("SELECT * FROM mathe");
while ($row = mysql_fetch_row($result)) {
if(eregi("(([-0-9,a-z,A-Z+]{1,255}))bruchstrich(([-0-9,a-z,A-Z+]{1,255}))",$row[1], $regs)) {
$bruch = "<table border="0" cellpadding="0" cellspacing="0">" .
" <tr>" .
" <td align="center">".$regs[1]."<br>" .
" <img src="bruchstrich.gif" width="100%" height="1"><br>" .
$regs[2]."</td>" .
" </tr>" .
"</table>";
}
else {
$bruch = "Ungültiger Bruch!";
}
echo $bruch;
}
?>
Der Eintrag in der Datenbank sieht so aus:
((33)bruchstrich(44))bruchstrich(22)
Weiß jemand wie ich das machen kann?
Bitte um Antwort.
Vielen Dank schon im voraus!
Gruß
Jakob
Hi,
hab hier vielleicht einen lösungsansatz
anstatt mit <br> zu arbeiten mach für jeden bruch eine Zeile, d.h.
<table>
<tr>
<td>Ersterbruch</td>
<td height='1' bgcolor='#000000'>Bruchtstrich</td>
<td>Zweiterbruch</td>
</tr>
</table>
Wenn du nun im unteren Bruch auch einen Bruch hast sieht das ganze so aus:
<table>
<tr>
<td>Ersterbruch</td>
<td height='1' bgcolor='#000000'>Bruchtstrich</td>
<td>
<table>
<tr>
<td>Ersterbruch</td>
<td height='1' bgcolor='#000000'>Bruchtstrich</td>
<td>Zweiterbruch</td>
</tr>
</table>
</td>
</tr>
</table>
Du musst also für jeden Bruch eine Tabelle erstellen und die entsprechend einfügen.
Hoffe das hilft dir weiter
Gruß
Ralf
Weiß jemand wie ich das machen kann?
Wenn Du Dich nicht auf ein paar Sonderfälle beschränken willst, wirst Du um eine komplizierte rekursive Funktion zum Parsen der Rohdaten nicht herumkommen. Für die Darstellung der Brüche würde ich Dir MathML ans Herz legen: http://www.w3.org/Math/