Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Eventscript Frage [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Eventscript Frage


 
arnold
21-02-2005, 19:51 
 
hallo zusammen..

ich habe da ein eventscript.
ich möchte nun das nicht alle einträge angezeigt werden
sondern nur die nächsten 10!
irgendwie will das nicht hinhauen:


$events = file("data.txt");
$anz = count($events);
$vorlage = file("vorlage.htm");
$vorlage = implode(" ",$vorlage);
$z = localtime(time() , 1);
$z[tm_mon] = $z[tm_mon]+1;
if ($z[tm_mday] < 10){$z[tm_mday] = "0$z[tm_mday]";}
if ($z[tm_mon] < 10){$z[tm_mon] = "0$z[tm_mon]";}
$zeit = "$z[tm_year]$z[tm_mon]$z[tm_mday]";

if($action == "pfor"){
pfor();
exit;
}elseif($action == all){
show();
exit;
}elseif($action == del){
del();
$view = "Eintrag gelöscht<br><br>";
show();
exit;
}elseif($pass == $passwort){
if($text == ""){
form($view);
exit;}else{
$view = enter();
form($view);
exit;}
}else{

$view = "<table border=0 bordercolor=000000 cellspacing=0 width=100%>";

sort($events, SORT_NUMERIC);
reset ($events);
while (list ($key, $val) = each ($events)) {
$ev = explode("||",$val);
if ($ev[10] != ""){$lin = "<a href=\"$ev[10]\" target=\"_blank\">"; $lin2 = "</a>";}else{$lin = ""; $lin2 = "";}
$col++;
if (round($col/2) == $col/2){$bgcolor = $bgcolora;}else{$bgcolor = $bgcolorb;}

if($ev[0] >= $zeit){
$view = "$view
<tr height=25 bgcolor=$bgcolor>
<td width=100 align=right>
<p><b><font size=1>$ev[1].$ev[2].$ev[3]&nbsp;</font></b></p>
</td>
<td>
<p><font size=1> &nbsp; $ev[4]&nbsp;&nbsp;</p>
</td>
<td>
<p><b><font size=1>$lin$ev[5]$lin2</b></p>
</td>
<td>
<p><font size=1>&nbsp; $ev[6]</p>
</td>
<td>
<p><font size=1>&nbsp; $ev[7] &nbsp; $ev[9]</font></p>";

if (($ev[10] != "")or($ev[9] != "")){
}
$view = "$view </td></tr>";
}
}
$view = "$view </table>";


danke für deine hilfe

marco

 
MelloPie
21-02-2005, 19:55 
 
while (list ($key, $val) = each ($events)) {
hier ne weitere BEdingung mit nem Zähler rein && $i < 10 etwa

 
arnold
21-02-2005, 20:07 
 
hmm... das funktioniert aber nicht!

Parse error: parse error, unexpected '&', expecting

 
MelloPie
21-02-2005, 20:27 
 
und was haste gemacht?

 
arnold
21-02-2005, 20:33 
 
while (list ($key, $val) = each ($events && $i < 10)) {

ich bin ja kein profi! aber irgendwie finde ich das "&&" nicht richtig.

 
TobiaZ
21-02-2005, 20:35 
 
ist es auch nicht.

die bedingung sollte nicht in das each, sondern dahinter.

 
MelloPie
21-02-2005, 20:37 
 
jo

 
arnold
21-02-2005, 20:46 
 
while (list ($key, $val) = each ($events)&& $i < 10) {

funktioniert nicht........
keine fehlermeldung und aber auch kein eintrag!

 
cst
22-02-2005, 10:51 
 
$col = 0;
while ((list ($key, $val) = each ($events)) AND ($col < 10)) {
$ev = explode("||",$val);
if ($ev[10] != "") {
$lin = "<a href=\"$ev[10]\" target=\"_blank\">";
$lin2 = "</a>";
} else {
$lin = ""; $lin2 = "";
}
$col++;
if (round($col/2) == $col/2){$bgcolor = $bgcolora;}else{$bgcolor = $bgcolorb;}

if($ev[0] >= $zeit) {
$view = "$view
<tr height=25 bgcolor=$bgcolor>
<td width=100 align=right>
<p><b><font size=1>$ev[1].$ev[2].$ev[3]&nbsp;</font></b></p>
</td>
<td>
<p><font size=1> &nbsp; $ev[4]&nbsp;&nbsp;</p>
</td>
<td>
<p><b><font size=1>$lin$ev[5]$lin2</b></p>
</td>
<td>
<p><font size=1>&nbsp; $ev[6]</p>
</td>
<td>
<p><font size=1>&nbsp; $ev[7] &nbsp; $ev[9]</font></p>";

if (($ev[10] != "")or($ev[9] != "")) {
// ????
}
$view = "$view </td></tr>";
}
}

 
arnold
23-02-2005, 00:16 
 
super!! danke einmal für deine hilfe!!

jetzt ist mir noch ein weiteres problem aufgefallen!
das script sollte immer nur die 5 aktuellsten einträge anzeigen!
leider werden die alten einfach ausgeblendet und es erscheinen keine neuen!

mein ganzes script:


$bgcolora = "000000";
$bgcolorb = "000000";

$events = file("../vereine/data.txt");
$anz = count($events);
$vorlage = file("../vereine/vorlage2.htm");
$vorlage = implode(" ",$vorlage);
$z = localtime(time() , 1);
$z[tm_mon] = $z[tm_mon]+1;
if ($z[tm_mday] < 10){$z[tm_mday] = "0$z[tm_mday]";}
if ($z[tm_mon] < 10){$z[tm_mon] = "0$z[tm_mon]";}
$zeit = "$z[tm_year]$z[tm_mon]$z[tm_mday]";

if($action == all){
show();
exit;
}else{

$view = "<table border=0 bordercolor=000000 cellspacing=0 width=100%>";

sort($events, SORT_NUMERIC);
reset ($events);

$col = 0;
while ((list ($key, $val) = each ($events)) AND ($col < 6)) {
$ev = explode("||",$val);
if ($ev[10] != ""){$lin = "<a href=\"$ev[10]\" target=\"_blank\">"; $lin2 = "</a>";}else{$lin = ""; $lin2 = "";}
$col++;
if (round($col/2) == $col/2){$bgcolor = $bgcolora;}else{$bgcolor = $bgcolorb;}

if($ev[0] >= $zeit){
$view = "$view
<tr height=15 bgcolor=$bgcolor>
<td width=100>
<p><font size=1>&nbsp; &nbsp;$ev[1].$ev[2].$ev[3]</p>
</td>
<td>
<p><font size=1>$ev[4]</p>
</td>
<td>
<p><b><font size=1>$lin$ev[5]$lin2</b></p>
</td>
<td>
<p><font size=1>$ev[6]</p>
</td>
<td>
<p><font size=1>$ev[7] $ev[9]</p>";

if (($ev[10] != "")or($ev[9] != "")){
}
$view = "$view </td></tr>";
}
}
$view = "$view </table>";

$vorlage = eregi_replace("{EVENTS}","$view",$vorlage);
echo $vorlage;

}

 
arnold
23-02-2005, 11:05 
 
es ist mir klar das each ($events) die ganze liste nimmt
wie mache ich aber das, dass nur die aktuellen (nicht alten zb: gestern) einträge angezeigt werden?


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:04 Uhr.