SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 06.12.2003, 00:54:14
Satherlor Satherlor ist offline
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?
Mit Zitat antworten
  #2  
Alt 06.12.2003, 01:25:27
Viburnum opulus Viburnum opulus ist offline
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


Mit Zitat antworten
  #3  
Alt 06.12.2003, 10:10:38
Satherlor Satherlor ist offline
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!?
Mit Zitat antworten
  #4  
Alt 06.12.2003, 10:16:57
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Moin Satherlor,

könntest Du mal ein bissl Code posten.

Gruss
Mit Zitat antworten
  #5  
Alt 06.12.2003, 10:21:54
Satherlor Satherlor ist offline
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;

}
Mit Zitat antworten
  #6  
Alt 06.12.2003, 10:43:42
chris17 chris17 ist offline
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)
Mit Zitat antworten
  #7  
Alt 06.12.2003, 11:13:39
Satherlor Satherlor ist offline
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!
Mit Zitat antworten
  #8  
Alt 06.12.2003, 11:30:34
sourcecode sourcecode ist offline
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
?>
Mit Zitat antworten
  #9  
Alt 06.12.2003, 13:05:00
Satherlor Satherlor ist offline
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!
Mit Zitat antworten
  #10  
Alt 06.12.2003, 13:12:18
chris17 chris17 ist offline
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)
Mit Zitat antworten
Antwort


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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:23:41 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt