CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
06.12.2003, 00:54:14
|
Anfänger
|
|
Registriert seit: Oct 2003
Beiträge: 102
|
|
Foreach-Schleifen Problem!
Moin,
ich habe eine Foreach-schleife und möchte gerne eine Variable einfügen, damit ich weiß, den wievielten durchlauf die Schleife hat. Also quasi wie bei einer For-Schleife das "i". (i=0; i++). Wenn ich eine Varible nehme und sie am ende der Schleife (vor die Geschweifteklammer) $Durchlauf = $Durchlauf + 1; sach, dan geht das nicht! Wie kann ich das machen?
|
06.12.2003, 01:25:27
|
Anfänger
|
|
Registriert seit: Dec 2003
Beiträge: 8
|
|
warum nimmst du in dem fall nicht einfach ne for schleife?
PHP-Code:
for($i=0;$i<count($array_variable);$i++){
// mit $array_variable[$i] greifste dann auf deine array-variable zu
}
|
06.12.2003, 10:10:38
|
Anfänger
|
|
Registriert seit: Oct 2003
Beiträge: 102
|
|
das ist zwar auch gut, aber ich benötige/habe ja ne Foreach-Schleife. Die ließt nämlich Daten zeilenweise aus einer Datei aus. Jetzt brauche ich allerdings eine Möglichkeit, um in einer generierten HTML Datei zwischen den verschiedenen Zeilen zu differenzieren, weil diese tabellarisch formatiert wurden. Der User kann dann noch Veränderungen vornehmen, aber dazu brauch ich ja irgendeinen Anhaltspunkt, welche der Zeile nun verändert werden soll. Das wolte/will ich mit dem $Durchlauf machen. Und dazu brauche ich bei der foreach-Schleife quasi ein "i".
oder habt ihr eine andere Idee, wie ich zeilenweise auslesen kann und jede zeile mit einer anderen Zahl ($Duchrlauf) deklarieren kann!?
|
06.12.2003, 10:16:57
|
Senior Member
|
|
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
|
|
Moin Satherlor,
könntest Du mal ein bissl Code posten.
Gruss
|
06.12.2003, 10:21:54
|
Anfänger
|
|
Registriert seit: Oct 2003
Beiträge: 102
|
|
$IP = $_SERVER['REMOTE_ADDR'];
$datensatz_array = file("../warenkorb/$IP.txt");
// mit dieser foreach-schleife wird der Datensatz durchforstet.
foreach($datensatz_array as $datensatz){
// hier zerlegen wir den aktuellen datensatz an des trennzeichens "~"
$datenzelle = explode('~', chop($datensatz));
//Daten liegen in Form von 123~123~123~123~123 vor!
$Durchlauf = "0";
.
.
.
<td valign=center align=left bgcolor="#c3c7e1">
<FONT FACE="Arial, Helvetica" COLOR="black" SIZE="-1"><?= $datenzelle[0]; ?> </FONT>
</td>
(usw.)
.
.
.
$Durchlauf = $Durchlauf + 1;
}
|
06.12.2003, 10:43:42
|
Senior Member
|
|
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
|
|
Hi,
evtl. ist es geschickter die Variable vor der Schleife zu initialisieren:
PHP-Code:
$Durchlauf = "0";
foreach($datensatz_array as $datensatz){
// usw
//$Durchlauf = $Durchlauf + 1;
$Durchlauf++; // Ist weniger zu schreiben ;-)
}
edit: Bin mir nicht sicher was Du jetzt mitzählen willst -> Die Zeilen in der Datei oder die Infos in jeder Zeile...
Geändert von chris17 (06.12.2003 um 10:51:19 Uhr)
|
06.12.2003, 11:13:39
|
Anfänger
|
|
Registriert seit: Oct 2003
Beiträge: 102
|
|
Daten in der Datei:
123~123~123~123
456~456~456~456
789~789~789~789
so, wenn ich nun mit der foreach schleife das auslese und wie in dem geposteten Script dann das "~" enferne und dann für jede Zeile $datenzelle[0],$datenzelle[1],$datenzelle[2],$datenzelle[3] hab und der User die möglichkeit hat was zu verändern, dann bringt es mir ja nichts, dass ich weiß, dass die $datenzelle[2] in 999 verändert wurde, weil ich ja noch wissen muss welche Zeile das war. Deshalb brauch ich das $Duchlauf.
Mein Server ist gerade ausgefallen, deswegen kann ich im moment das nicht ausprobieren. Aber thx erstmal!
|
06.12.2003, 11:30:34
|
Junior Member
|
|
Registriert seit: May 2003
Beiträge: 287
|
|
Zitat:
Original geschrieben von chris17
PHP-Code:
$Durchlauf = "0";
|
PHP-Code:
<?php
$Durchlauf = 0; // geht ja hier nicht um Strings, sondern um Zahlen
?>
|
06.12.2003, 13:05:00
|
Anfänger
|
|
Registriert seit: Oct 2003
Beiträge: 102
|
|
Jaaaa, danke! Geht jetzt! Weiß nicht, ob es jetzt daran lag oder an einer anderen Veränderung, die ich vorgenommen hab, aber es geht!
|
06.12.2003, 13:12:18
|
Senior Member
|
|
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
|
|
@sourcecode
Logo, PHP "verzeiht" es zwar, es ist aber unsauber.
Daher ein wichtiger Hinweis von Dir.
@Satherlor
Hast Du Dir schon Gedanken gemacht wie Du die veränderten Infos wieder zurück in die Datei schreibst?
Sind in jeder Zeile immer die gleiche Anzahl an Informationen?
Eine Idee, die ganzen Zähler brauchst Du evtl. gar nicht:
PHP-Code:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table>
<?php
if($_POST['submit'])
{
// im Array $_POST['info'] hast Du
// jetzt alle Infos, die Du wieder
// in die Datei zurückschreiben kannst
print_r($_POST['info']);
}
$IP = $_SERVER['REMOTE_ADDR'];
$datensatz_array = file("../warenkorb/$IP.txt");
$reihe = 0;
$lfd_nr = 0;
foreach($datensatz_array as $datensatz){
$reihe++;
$datenzelle = explode('~', chop($datensatz));
?>
<tr>
<?php
$pos_in_reihe = 0;
for($i = 0; $i < count($datenzelle); $i++)
{
$lfd_nr++;
$pos_in_reihe++;
?>
<td valign=center align=left bgcolor="#c3c7e1">
<?php
echo "Nr.".$lfd_nr." Reihe: ".$reihe." Pos in Reihe: ".$pos_in_reihe;
?>
</td>
<td valign=center align=left bgcolor="#c3c7e1">
<input type="text" name="info[]" value="<?php echo $datenzelle[$i]; ?>" size="5">
</td>
<?php
}
?>
</tr>
<?php
}
?>
</td>
</tr>
</table>
<input type="submit" name="submit">
</form>
edit: Hab Dein Post zu spät gesehen...
Geändert von chris17 (06.12.2003 um 13:16:36 Uhr)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 09:23:41 Uhr.
|