jakob2002: Brüche darstellen

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

  1. 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

  2. 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/