Anfänger Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Anfänger Problem

    Hallo,

    habe wahrscheinlich ein simples Problem.
    Habe eine dynamische Tabelle. Will jetzt eine Spalte zufügen, in der ich die Werte aus zwei anderen SPalten dividieren will.
    Habe mir folgendes zusammen geschustert.
    Allerdings wird nur die erste Zeile dividiert. Dann kommt eine Fehlermeldung. Was muss ich machen, damit die function für alle Zeilen gilt?


    PHP-Code:
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $count?></font></td>
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['Name']; ?></font></td>
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['Verein']; ?></font></td>
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['Spiele']; ?></font></td>
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['Ku']; ?></font></td>
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['S']; ?></font></td>
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['KuS']; ?></font></td>
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['L']; ?></font></td>
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['Teho']; ?></font></td>
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['DM']; ?></font></td>
        <td bgcolor="#CCCCCC"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong><?php echo $row_punkte04['Punkte']; ?></strong></font></td>
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['NS']; ?></font></td>
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php function addiere$x$y)
    {
    $summe=$x/$y;
    echo 
    $summe;

    addiere($row_punkte04['Teho'], $row_punkte04['Spiele']); ?></font></td>
      </tr>
      <?php $count ++;
      } while (
    $row_punkte04 mysql_fetch_assoc($punkte04)); ?>
    </table>
    </body>
    </html>
    <?php
    mysql_free_result
    ($punkte04);
    ?>

  • #2
    Re: Anfänger Problem

    Original geschrieben von wantti
    Dann kommt eine Fehlermeldung.
    ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Fehlermeldung

      Fatal error: Cannot redeclare addiere() (previously declared in d:\programme\easyphp\www\internet\dpl\neues layout\ergebnis\stat\punkte05.php:54) in d:\programme\easyphp\www\internet\dpl\neues layout\ergebnis\stat\punkte05.php on line 54

      Kommentar


      • #4
        babelfish!
        Blockierender Fehler: Nicht kann das redeclare addiere() (vorher erklärt in d:\programme\easyphp\www\internet\dpl\neues layout\ergebnis\stat\punkte05.php:54) in d:\programme\easyphp\www\internet\dpl\neues layout\ergebnis\stat\punkte05.php auf Linie 54
        muha.

        vielleicht solltest du mal die fehlermeldung übersetzen. steht doch alles da. du darfst eine funktion unter einem namen nur einmal deklarieren. pack sie 'nach oben', aber nicht in eine schleife ...
        OffTopic:
        entferne mal die font-tags, ist ja grausig.
        Zuletzt geändert von derHund; 17.07.2004, 12:39.
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          Re: Fehlermeldung

          Original geschrieben von wantti
          Cannot redeclare addiere()
          na dann sollte doch alles klar sein - die funktion addiere() ist bereits definiert, udn du versuchst es erneut.

          da die zeilennummern gleich sind, ist zu vermuten, dass der teil mit der deklaration bei dir innerhalb einer schleife steht ...? das geht natürlich nicht.
          definiere die funktion halt vorher.

          und außerdem solltest du in der funktion selber keine ausgabe machen, sondern sie einen rückgabewert liefern lassen, den du dann an der stelle wo du sie aufrufst ausgibst.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Nix Verstehe

            Hi, danke für eure Antworten.

            Aber ich verstehe nur Bahnhof. Ich bin ein absoluter PHP Anfänger, daher kann ich auch nichts mit der Übersetzung anfangen. Ich kann verstehen, dass es für euch lächerlich klingt, aber versetzt euch mal in meine Lage.

            So, habe jetzt die FUnktion "nach oben" gesetzt. Nu hab ich keine Fehlermeldung mehr, aber in der Spalte steht nix.

            Was nun?

            PHP-Code:
            <?php require_once('../../Connections/statistik.php'); ?>
            <?php
            mysql_select_db
            ($database_statistik$statistik);
            $query_punkte04 "SELECT Name, Verein, Spiele, Ku, S, KuS, L, Teho, DM, Punkte, NS FROM statistik ORDER BY Punkte DESC";
            $punkte04 mysql_query($query_punkte04$statistik) or die(mysql_error());
            $row_punkte04 mysql_fetch_assoc($punkte04);
            $totalRows_punkte04 mysql_num_rows($punkte04);
            ?>
            <?php 
            function diff$x$y)
            {
            $summe=$x/$y;

            diff($row_punkte04['Teho'], $row_punkte04['Spiele']); ?>
            <html>
            <head>
            <title>Unbenanntes Dokument</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
            </head>

            <body>
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr> 
                <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="../statistik.htm">zur&uuml;ck</a></font></td>
              </tr>
            </table>
            <br>
            <table border="1" cellpadding="2" cellspacing="0" bordercolor="#666666">
              <tr> 
                <td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Nr.</font></strong></td>
                <td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Name</font></strong></td>
                <td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Verein</font></strong></td>
                <td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Spiele</font></strong></td>
                <td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Ku</font></strong></td>
                <td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">S</font></strong></td>
                <td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">KuS</font></strong></td>
                <td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">L</font></strong></td>
                <td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Teho</font></strong></td>
                <td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">DM</font></strong></td>
                <td bgcolor="#CCCCCC"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Punkte</font></strong></td>
                <td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">NS</font></strong></td>
                <td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Diff.</font></strong></td>
              </tr>
              <?php $count 1;
              do { 
            ?>
              <tr> 
                <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $count?></font></td>
                <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['Name']; ?></font></td>
                <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['Verein']; ?></font></td>
                <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['Spiele']; ?></font></td>
                <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['Ku']; ?></font></td>
                <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['S']; ?></font></td>
                <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['KuS']; ?></font></td>
                <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['L']; ?></font></td>
                <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['Teho']; ?></font></td>
                <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['DM']; ?></font></td>
                <td bgcolor="#CCCCCC"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong><?php echo $row_punkte04['Punkte']; ?></strong></font></td>
                <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['NS']; ?></font></td>
                <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $summe?></font></td>
              </tr>
              <?php $count ++;
              } while (
            $row_punkte04 mysql_fetch_assoc($punkte04)); ?>
            </table>
            </body>
            </html>
            <?php
            mysql_free_result
            ($punkte04);
            ?>

            Kommentar


            • #7
              Du darfst Addiere nicht in der While-Schleife verwenden. Weil du dort deine Funktion deklarierst. Benutz die Deklaration oberhalb der While Schleife und benutze die Funktion dann in der Schleife.
              The Human Mirror - Mein Blog!
              www.sonicsense.de - The future of music!

              Kommentar


              • #8
                hmm,

                kennst du RTFM?
                PHP-Code:
                function foo($param) {
                  return 
                'to boldly go where '.$param;
                }
                echo 
                foo('no one has gone before'); 
                ungetestet.

                - function definieren
                - mit return den wert angeben, der von dieser function zurückgegeben werden soll
                - function aufrufen liefert den rückgabewert
                - den ausgeben oder zuweisen

                @Hazzardous: hatter doch schon ...

                edit: informier dich mal zum thema namespaces
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  Wo fängt denn meine While Schleife an?

                  Ich wäre Dir sehr sehr Dankbar, wenn Du an dem Quellcode die entsprechende Korrektur vornehmen könntest.

                  Danke im Vorraus


                  wantti

                  Kommentar


                  • #10
                    RTMF kenn ich nicht.
                    Kann man es denn überhaupt auf die Weise lösen, wie ich es vorhabe?

                    Wo muss denn die Funktion genau stehen und wie mache ich es dass der Wert auch in der Spalte angezeigt wird?

                    Wantti

                    Kommentar


                    • #11
                      Aber Google kennst du, oder ?

                      RTFM=Read the fucking manual !


                      PHP-Code:
                      <?php function diff$x$y)
                      {
                      $summe=$x/$y;
                      return 
                      $summe//Der Wert wird an die aufrufende Stelle zurückgegeben.
                      }
                      Die aufrufende Stelle sieht statt so :

                      PHP-Code:
                      <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $summe?></font></td>
                        </tr>
                      so aus :

                      PHP-Code:
                      ...
                      <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo diff($x,$y); ?></font></td>
                        </tr>

                      Kommentar


                      • #12
                        Lösung

                        Hab etwas anderes gefunden.

                        PHP-Code:
                        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['Teho']; ?></font></td>
                            <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['DM']; ?></font></td>
                            <td bgcolor="#CCCCCC"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong><?php echo $row_punkte04['Punkte']; ?></strong></font></td>
                            <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_punkte04['NS']; ?></font></td>
                            <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php 
                        if($row_punkte04['Teho']>0) echo bcdiv($row_punkte04['Teho'], $row_punkte04['Spiele'], 1);
                        if(
                        $row_punkte04['Teho']==0) echo "0"
                        ?> </font></td>
                          </tr>
                          <?php $count ++;
                          } while (
                        $row_punkte04 mysql_fetch_assoc($punkte04)); ?>
                        </table>

                        Kommentar

                        Lädt...
                        X