vit_o
18. August 2008 um 15:58
1
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;
[/CODE]
Kann mir da jemand helfen?
Thx:)
crash
18. August 2008 um 16:43
2
Wenn du große Strukturen aufbauen willst, kannst du das nicht sehr abkürzen. Alles was mir bei dir einfällt, ist:
$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.
system
18. August 2008 um 16:52
3
funktionsuafruf wäre dann so in etwar:
[PHP]
function make_what($t)
{
code
return $werte_die_rauskommen;
}
$werte = make_what($t);
[/PHP]
vit_o
18. August 2008 um 17:01
4
hilft mir jetzt noch nicht so ganz mit
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 („Link \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);
?>[/CODE]
Den einzigen wert den ich im Browser sehen kann ist der html quelltext dazwischen …
system
18. August 2008 um 18:39
5
[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 ("
Link \n");
}
else
{
echo ("");
}
}
}
funktion ($t, $pre, $post);
[/PHP]
vit_o
20. August 2008 um 07:21
6
funtioniert auch nciht… bei deinem script wird bei mir im browser das hier angezeigt:
$t[$i]["date"]-$pre && time()<$t[$i]["date"]+$post) { echo ($t[$i]["name"]." vom ".date("d.m.Y",$t[$i]["date"])." downloaden"); echo ("[Link](file:///C:/xampp/htdocs/workspace/html/predigten/%22.$t%5B$i%5D%5B%22link%22%5D.%22)\n"); } else { echo (""); } } } funktion ($t, $pre, $post);
vit_o
20. August 2008 um 07:26
7
ah ne sry hatte grad php auf meinem pc nciht angestellt… funktioniert danke