• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem mit Funktionen

Status
Für weitere Antworten geschlossen.

vit_o

Neues Mitglied
Moin,
Ich habe auf meiner page einige teile die abhängig vom datum angezeigt werden und der quelltext an sich funktioniert auch allerdings ist es etwas umständlich die selben zeilen immer wieder zu schreiben nur um das gleiche an anderer stelle wieder anzeigen zu können. Im eigentliche weis ich nur nicht wie ich die die variablen in die funtion übergeben soll...
Das sind mehrere arrayblöcke...

Code:
$t[1]["name"]="array1"; 
$t[1]["link"]="download/aktuell/predigt.php";
$t[1]["date"]=mktime(0,0,0,8,19,2008);

$t[2]["name"]="array2"; 
$t[2]["link"]="download/aktuell/predigt.php";
$t[2]["date"]=mktime(0,0,0,08,15,2008);

$pre=2 * 86400;
$post=7 * 86400;

Kann mir da jemand helfen?
Thx:)
 
Wenn du große Strukturen aufbauen willst, kannst du das nicht sehr abkürzen. Alles was mir bei dir einfällt, ist:
Code:
$t = array(
    array(
        'name' => '...',
        'link'    => '...',
        'date'  => mktime(...)
    ),
    array(
        'name' => '...',
        'link'    => '...',
        'date'  => mktime(...)
    ),
    ...
);
Das spart immerhin ein paar Zeichen und Schreibarbeit und ist einigermaßen lesbar. Interpolation habe ich auch eingespart.
 
funktionsuafruf wäre dann so in etwar:
PHP:
function make_what($t)
{

    code

 return $werte_die_rauskommen;
}

$werte = make_what($t);
 
hilft mir jetzt noch nicht so ganz mit
Code:
function funktion ($t)
hab ichs auch probiert
funktioniert trotzdem nicht ... ich zeig auch mal eben die gekürzte form meines quelltextes...
Code:
<?php
$t[1]["name"]="array1"; 
$t[1]["link"]="download/aktuell/datei.php";
$t[1]["date"]=mktime(0,0,0,8,19,2008);

$pre=2 * 86400;
$post=7 * 86400;

function funktion ($t)
{ for ($i=1;$i<=count($t);$i++) {
    if (time()>$t[$i]["date"]-$pre && time()<$t[$i]["date"]+$post) {
        echo ($t[$i]["name"]." vom ".date("d.m.Y",$t[$i]["date"])." downloaden"); 
        echo ("<a href='".$t[$i]["link"]."' >Link</a>\n");
        }
    else {
            echo ("");
        }
    }
}

funktion ($t, $pre, $post);
unset($t, $pre, $post);
?>
html Quelltext
<?php
$t[1]["name"]="array3"; 
$t[1]["link"]="download/aktuell/datei.php";
$t[1]["date"]=mktime(0,0,0,8,17,2008);

$pre=1 * 86400;
$post=21 * 86400;

funktion ($t, $pre, $post);
unset($t, $pre, $post);
?>

Den einzigen wert den ich im Browser sehen kann ist der html quelltext dazwischen ...
 
PHP:
<?php
$t[1]["name"]="array1"; 
$t[1]["link"]="download/aktuell/datei.php";
$t[1]["date"]=mktime(0,0,0,8,19,2008);

$pre = 2 * 86400;
$post = 7 * 86400;

function funktion ($t,$post,$pre)
{
    for ($i=1;$i<=count($t);$i++)
    {
        if (time()>$t[$i]["date"]-$pre && time()<$t[$i]["date"]+$post)
        {
            echo ($t[$i]["name"]." vom ".date("d.m.Y",$t[$i]["date"])." downloaden"); 
            echo ("<a href='".$t[$i]["link"]."' >Link</a>\n");
        }
        else
        {
            echo ("");
        }
    }
}

funktion ($t, $pre, $post);
 
funtioniert auch nciht... bei deinem script wird bei mir im browser das hier angezeigt:
Code:
$t[$i]["date"]-$pre && time()<$t[$i]["date"]+$post)         {             echo ($t[$i]["name"]." vom ".date("d.m.Y",$t[$i]["date"])." downloaden");             echo ("[URL="file:///C:/xampp/htdocs/workspace/html/predigten/%22.$t%5B$i%5D%5B%22link%22%5D.%22"]Link[/URL]\n");         }         else         {             echo ("");         }     } }  funktion ($t, $pre, $post);
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben