Schleife als Variable einsetzen

Torsten Ernst

Mitglied
Hallo,

ich müsste eine Schleife als Variable in HTML-Code einsetzen bekomme das aber nicht hin. So sieht die Schleife aus:

PHP:
foreach ($dateien as $d) {
    $_xml = array("_R.xml", "_S.xml");
    $call = str_replace($_xml, "", $d);
}

Und so der HTML-Code:

HTML:
<div id="callsign_queries">
<a href="javascript:void(0)" class="left-tip" data-tips="Activ Callsign Queries: <?php echo $call; ?>">
<img src="<?php url('public/images/help.png') ?>" border="0"></a></div>

Es handelt sich hier um die Anzeige von Daten in einem Tooltip. So wie ich es jetzt gemacht habe wird nur ein Wert angezeigt, da die Schleife nicht wirkt. Den komplette PHP-Code so im HTML-Code zu integrieren klappt auch nicht. Könnte bitte jemand helfen?

Liebe Grüße, Stumpi
 
Hi,

ich frage mich, warum die die Schleife nicht einfach ganz am Anfang ausführst. $call enthält doch die letzte Datei aus dem Array, oder? Wenn du die Schleife einfach vor dem HTML-Code ausführst sollte $call doch korrekt gesetzt werden oder verstehe ich das falsch?

Wenn du die Schleife tatsächlich erst genau in dem Moment durchführen möchtest könntest du sie entweder direkt an dieser Stelle vor den echo in den Code packen oder du machst es ordentlicher und schreibst eine Funktion.

Das sähe dann so aus:

PHP:
function Schleife() {
     foreach ($dateien as $d) {
        $_xml = array("_R.xml", "_S.xml");
        $call = str_replace($_xml, "", $d);
     }
     return $call;
}

Und im HTML machst du an der entsprechenden Stelle einfach:

HTML:
... data-tips="Active Callsign Queries: <?php echo Schleife() ?>">

Es kann aber auch sein, dass ich da jetzt was falsch verstanden habe. War das das nach dem du gesucht hast?

VG
Vitus
 
Danke für die Antwort Vitus. Ich habe vergessen zu erwähnen das es sich um zwei verschiedene Dateien handelt, also einmal die PHP-Datei und dann separat die HTML-Datei. Ich habe es inzwischen hinbekommen indem ich die PHP-Datei in der HTML-Datei includiert habe. Vielleicht nicht die feine Art aber es funktioniert.

Liebe Grüße, Stumpi
 
Zuletzt bearbeitet:
Dabei ist einiges zu beachten. Wenn PHP in HTML vorkommt, dann soll die Datei eine *.php Datei sein.

Man kann das Verschachteln von PHP in HTML auch ziemlich extrem nutzen.
Hier die offiziellen Infos darüber: http://php.net/manual/de/language.basic-syntax.phpmode.php
https://wiki.selfhtml.org/wiki/PHP/PHP_in_HTML

Ansonsten ist die bessere Lösung mehrere Dateien und per <include> einbinden. Das hat das selbe Ergebnis, als wenn du den PHP Code direkt in HTML schreibst.

PHP:
<?php include 'deine.php'; ?>

Infos zu include: http://php.net/manual/de/function.include.php

Nutze am Ende den Validator von W3, um Fehler zu finden.
https://validator.w3.org/
 
Zurück