
46356
30.12.2007, aktualisiert am 31.12.2007
Text in Schleife einfügen mit PHP?
Hallo!
Wie ist es möglich für die einzelnen Kalendertage (in meinem Script) einen eigenen Wert (Text) zuzuweisen?
Bei mir wird jedesmal "Einzelne Zeile" angezeigt...
Wer kann mir weiterhelfen?
Lg. Alex
Wie ist es möglich für die einzelnen Kalendertage (in meinem Script) einen eigenen Wert (Text) zuzuweisen?
<html>
<head>
<style type="text/css">
<!--
.kalender {
/* Grundformatierung des Kalenders */
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #000000;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:11px;
}
.wtag {
/* Ein normaler Wochentag */
backgraound-color: #FFFFFF;
border-top-width: 1px;
border-top-style: solid;
border-top-color: #000000;
line-height : 18px;
}
.we {
/* Ein Tag des Wochenendes */
background-color: #FF0202;
border-top-width: 1px;
border-top-style: solid;
border-top-color: #000000;
line-height : 18px;
}
.SELECTFELD {
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 12px;
width: 90px;
}
.BUTTON{
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 11px;
width: 140px;
}
-->
</style>
</head>
<body>
<?php
if($_GET[anzeigen]==1)
{
$monat = $_GET[monat];
$jahr = $_GET[jahr];
}
else
{
$monat = date("m");
$jahr = date("Y");
}
// UNIX Timestamp des letzten Tages des Monats
$lastday_ts = mktime(0,0,0,$monat+1,0,$jahr);
// letzter Tag des Monats = Anz. der Tage(numerischer Wert)
$lastday_d = date("d",$lastday_ts);
// aktueller Tag
$heute_tag = date("d");
$heute_monat = date("n");
$heute_jahr = date("Y");
?>
<form name="formkalender" method="get" action="<?php echo $PHP_SELF; ?>">
<input type="hidden" name="anzeigen" value="1">
<table width="350" border="0" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="100">
<select name="monat" class="SELECTFELD">
<option value="1" <?php if($monat == 1) echo "selected style='background-color=#99CCFF;'"?>>Januar</option>
<option value="2" <?php if($monat == 2) echo "selected style='background-color=#99CCFF;'"?>>Februar</option>
<option value="3" <?php if($monat == 3) echo "selected style='background-color=#99CCFF;'"?>>März</option>
<option value="4" <?php if($monat == 4) echo "selected style='background-color=#99CCFF;'"?>>April</option>
<option value="5" <?php if($monat == 5) echo "selected style='background-color=#99CCFF;'"?>>Mai</option>
<option value="6" <?php if($monat == 6) echo "selected style='background-color=#99CCFF;'"?>>Juni</option>
<option value="7" <?php if($monat == 7) echo "selected style='background-color=#99CCFF;'"?>>Juli</option>
<option value="8" <?php if($monat == 8) echo "selected style='background-color=#99CCFF;'"?>>August</option>
<option value="9" <?php if($monat == 9) echo "selected style='background-color=#99CCFF;'"?>>September</option>
<option value="10" <?php if($monat == 10) echo "selected style='background-color=#99CCFF;'"?>>Oktober</option>
<option value="11" <?php if($monat == 11) echo "selected style='background-color=#99CCFF;'"?>>November</option>
<option value="12" <?php if($monat == 12) echo "selected style='background-color=#99CCFF;'"?>>Dezember</option>
</select>
</td>
<td width="80">
<select name="jahr" style="width: 70px" class="SELECTFELD">
<?php
// Anz. der Jahre vor und nach heute
$anz_jahre = 2;
for($i = $heute_jahr - $anz_jahre ; $i <= $heute_jahr + $anz_jahre; $i++)
{
if($i == $jahr)
echo "<option value=\"".$i."\" selected style='background-color=#99CCFF;'>".$i."</option>";
else
echo "<option value=\"".$i."\">".$i."</option>";
}
?>
</select>
</td>
<td width="170" align="right">
<input type="submit" name="b_anzeigen" value="Termine anzeigen" class="BUTTON">
</td>
</tr>
</table>
</form>
<br>
<br>
<table width="350" border="0" cellspacing="0" cellpadding="5" class="kalender">
<?php for($i = 1; $i <= $lastday_d; $i++) : ?>
<?php
// UNIX Timestamp des aktuellen Tages ermitteln
$tag_ts = mktime(0,0,0,$monat,$i,$jahr);
// Tag mit fuehrender Null aus $i erzeugt
if($i < 10)
$tag_nr = "0".$i;
else
$tag_nr = $i;
// ID des Wochentages ermitteln
// 0 == Sonntag ... 6 == Samstag
$tag_id = date("w",$tag_ts);
// Abk. des Wochentags und Formatierung ermitteln
switch($tag_id)
{
case 0 : $tag_name = "So."; $my_class="we"; break;
case 1 : $tag_name = "Mo."; $my_class="wtag"; break;
case 2 : $tag_name = "Di."; $my_class="wtag"; break;
case 3 : $tag_name = "Mi."; $my_class="wtag"; break;
case 4 : $tag_name = "Do."; $my_class="wtag"; break;
case 5 : $tag_name = "Fr."; $my_class="wtag"; break;
case 6 : $tag_name = "Sa."; $my_class="we"; break;
}
$my_condition = " ((FROM_UNIXTIME(date_Von,'%Y') < ".$jahr.") OR (FROM_UNIXTIME(date_Von,'%Y') = ".$jahr." AND FROM_UNIXTIME(date_Von,'%c') < ".$monat.") OR (FROM_UNIXTIME(date_Von,'%Y') = ".$jahr." AND FROM_UNIXTIME(date_Von,'%c') = ".$monat." AND FROM_UNIXTIME(date_Von,'%d') <= ".$tag_nr.")) AND ((FROM_UNIXTIME(date_Bis,'%Y') > ".$jahr.") OR (FROM_UNIXTIME(date_Bis,'%Y') = ".$jahr." AND FROM_UNIXTIME(date_Bis,'%c') > ".$monat.") OR (FROM_UNIXTIME(date_Bis,'%Y') = ".$jahr." AND FROM_UNIXTIME(date_Bis,'%c') = ".$monat." AND FROM_UNIXTIME(date_Bis,'%d') >= ".$tag_nr."))";
?>
<tr align="left" valign="top">
<td width="70" class="<?php echo $my_class; ?>">
<?php echo $tag_nr." | ".$tag_name; ?>
</td>
<td width="280" class="<?php echo $my_class; ?>">
<we:listview type="object" order="Titel" classid="9" condition="\$my_condition">
<we:ifFound>
<we:repeat>
<we:field name="Titel"/>
</we:repeat>
</we:ifFound>
<we:ifNotFound>
Einzelne Zeile
</we:ifNotFound>
</we:listview>
</td>
</tr>
<?php endfor; ?>
</table>
</body>
</html>
Bei mir wird jedesmal "Einzelne Zeile" angezeigt...
Wer kann mir weiterhelfen?
Lg. Alex
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 76883
Url: https://administrator.de/forum/text-in-schleife-einfuegen-mit-php-76883.html
Ausgedruckt am: 29.04.2025 um 02:04 Uhr
7 Kommentare
Neuester Kommentar
Ein Array ist szs. eine anreihung von variablen...also eine art liste, wo auf die elemente per index zugegriffen werden kann.
wenn du z.b. alle elemente mit einer for-schleife ausgeben möchtest, dann sieht das so aus:
$blumen = array("Sonnenblume", "Nelke", "Schlüssenblume");
for ($i=0;$i<6;$i++)
{
echo $blumen[$i];
}
glaub so sollte es funktionieren.
welche schleife du nimmst ist egal.
es gibt auch ne foreach-schleife, die alle elemente ausgibt
http://www.infos24.de/phpe/handbuch/13_php_schleifen.htm
wenn du z.b. alle elemente mit einer for-schleife ausgeben möchtest, dann sieht das so aus:
$blumen = array("Sonnenblume", "Nelke", "Schlüssenblume");
for ($i=0;$i<6;$i++)
{
echo $blumen[$i];
}
glaub so sollte es funktionieren.
welche schleife du nimmst ist egal.
es gibt auch ne foreach-schleife, die alle elemente ausgibt
http://www.infos24.de/phpe/handbuch/13_php_schleifen.htm
Du könntest ein Array mit z.b 31 elementen anlegen
und die gehst du per index durch, wie ich es in dem beispiel gezeigt habe oben
also das jeweile element des arrays wird über den index indentifiziert.
und für den index kannst du auch eine zählvariable benutzen,
die du in einer schleife hochzählst.
oder...wir reden irgendwie aneinander vorbei^^
und die gehst du per index durch, wie ich es in dem beispiel gezeigt habe oben
also das jeweile element des arrays wird über den index indentifiziert.
und für den index kannst du auch eine zählvariable benutzen,
die du in einer schleife hochzählst.
oder...wir reden irgendwie aneinander vorbei^^