higlight_string

mcone

Mitglied
Hi Leute,
ich hab da mal ein Problem.
Im Vorfeld ich habe die Suchfunktion und google usw benutzt aber nicht das gefunden was ich suche.

Ich habe in einer Datenabank eine Tabelle in der Codeschnipsel sin die ich gern in einer Tabelle ausgeben möchte.
Ein Beispiel aus der Tabelle: <?php date("H:i:s",$zeit); ?>
Der Code soll Mittels highlight_string() aus der DB geholt werden und in eine Tabelle übertragen werden.
So weit klappt alles bis auf die Tatsache das das Ergebnis nicht in der Zeile steht sondern darüber und in der Zeile steht anstelle des Codes eine 1.

PHP:
<?php 
            $abfrage=@mysql_query("SELECT * FROM codes_kat_datime ");
            while($code=mysql_fetch_object($abfrage))
            {
            $name = $code->punkt;
            $anweisung =highlight_string($code->anweisung);
            $doit =$code->doit;
            echo "<table width=\"700\" border=\"1\" cellspacing=\"2\" cellpadding=\"0\">
                <tr>
                    <td width=\"225\">$name</td>
                    <td width=\"271\">$anweisung </td>
                    <td>$doit</td>
                </tr>
            </table>";
            }
            @mysql_free_result($abfrage);
            @mysql_close();
?>
Bin ein wenig verwirrt, könnt ihr mir helfen?
Matthias
 
Zuletzt bearbeitet:
Hey!

Guck die mal genau an, was die Funktion highlight_string eigentlich macht.

highlight_string( string str)

--3-----------1-------------------2--------
void highlight_string ( string str )

  1. Funktionsname
  2. Parameter, die übergeben werden
  3. Rückgabewert


Der Rückgabewert ist void, dass bedeutet, das nicht zurückgegeben wird (bis auf die 1, dass die Funktion sauber abgearbeitet worden ist)

Deswegen bekommst du oben die Ausgabe (über der Tabelle) und in der Tabelle dann die 1.

Machs doch einfach so:

PHP:
<?php 
            $abfrage=@mysql_query("SELECT * FROM codes_kat_datime ");
            while($code=mysql_fetch_object($abfrage))
            {
            $name = $code->punkt;
            $doit =$code->doit;
            echo "<table width=\"700\" border=\"1\" cellspacing=\"2\" cellpadding=\"0\">
                <tr>
                    <td width=\"225\">$name</td>
                    <td width=\"271\">";
                          highlight_string($code->anweisung);
            echo "</td>
                     <td>$doit</td>
                </tr>
            </table>";
            }
            @mysql_free_result($abfrage);
            @mysql_close();
?>
 
Ok Supi klappt prima.
Hab den code noch ein wenig verbessert, damit nicht immerzu eine Tabelle angelgt werden soll, mache ich es jetzt so:
PHP:
<table width="700" border="1" cellspacing="2" cellpadding="0">
			<?php 
			$abfrage=@mysql_query("SELECT * FROM codes_kat_datime ")or die(mysql_error());
			while($code=mysql_fetch_object($abfrage))
			{
			$name = $code->punkt;
			$anweisung =$code->anweisung;
			$doit =$code->doit;
			echo "
                <tr>
                    <td width=\"225\">$name</td>
                    <td width=\"271\">";
                    highlight_string($code->anweisung);
                    echo "</td>
                    <td>$doit</td>
                </tr>

            ";

			}
			@mysql_free_result($abfrage);
			@mysql_close();
			?></table>

damit werden in der Schleife nur die neuen Zeilen angelegt und nicht immer neue Tabellen
 
Zurück