zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden For Schleife optimieren

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 29.07.2010, 12:22
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.07.2009
Beiträge: 485
rs-web befindet sich auf einem aufstrebenden Ast
Standard For Schleife optimieren

Hey,
ich hab ne for schleife mit der ein DB ergebniss ausgegeben wird:
PHP-Code:
            for($i 0$i $result->num_rows$i++){
                if(
$i == 0){
                    
$this->gesuchteBenutzer[$i] =  "<tr>"."<th>"."Benutzername"."</th>"."<th>"."E-mail"."</th>"."<th>"."Aktiviert"."</th>"."<th>"."Gesperrt"."</th>"."</tr>\n";
                }else{
                
$array $result->fetch_assoc();
                
$this->gesuchteBenutzer[$i] =  "<tr>"."<td>".$array[benutzername]."</td>"."<td>".$array[email]."</td>"."<td>".$array[aktiviert]."</td>"."<td>".$array[gesperrt]."</td>"."</tr>\n";
                }
            } 
Bei dieser Schleife wird aber das erste Ergebniss ausgelassen. Hat jemand von euch eine Idee wie ich das Problem lösen kann?!
LG rs-web
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 29.07.2010, 12:40
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 29.07.2005
Beiträge: 897
xm22 befindet sich auf einem aufstrebenden Ast
Standard

Ist nicht getestet, aber so ist eigentlich die normal Vorgehensweise.
PHP-Code:
$this->gesuchteBenutzer[] =  "<tr>"."<th>"."Benutzername"."</th>"."<th>"."E-mail"."</th>"."<th>"."Aktiviert"."</th>"."<th>"."Gesperrt"."</th>"."</tr>\n";
while (
$array $result->fetch_assoc()) {
    
$this->gesuchteBenutzer[] =  "<tr>"."<td>".$array[benutzername]."</td>"."<td>".$array[email]."</td>"."<td>".$array[aktiviert]."</td>"."<td>".$array[gesperrt]."</td>"."</tr>\n";

Bei Deiner Schleife war das else unnötig. Das hat ja dafür gesorgt, dass entweder die Titelzeile ODER das Resultat ausgegeben wurde. Das letzte Resultat sollte also eigentlich fehlen..
__________________
... Meine Meinung
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 29.07.2010, 13:07
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.07.2009
Beiträge: 485
rs-web befindet sich auf einem aufstrebenden Ast
Standard

Ok, danke.
Ich hab noch ne Frage: Kann man for schleifen auch mit negativen werten machen? Ich hab anstatt Null man -1 probiert aber es gibt keinen Fehler, funktioniert aber auch nicht.
LG rs-web
Mit Zitat antworten
  #4 (permalink)  
Alt 29.07.2010, 13:13
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 29.07.2005
Beiträge: 897
xm22 befindet sich auf einem aufstrebenden Ast
Standard

Geht:
PHP-Code:
for ($i 0$i > -9; --$i) {
        echo 
$i.'<br />';
    } 
Was genau geht bei Dir nicht?
__________________
... Meine Meinung
Mit Zitat antworten
  #5 (permalink)  
Alt 29.07.2010, 13:37
Benutzerbild von Praktikant
RegExp-Geplagter
XHTMLforum-Kenner
 
Registriert seit: 22.04.2008
Ort: Zu Hause
Beiträge: 2.007
Praktikant ist ein sehr geschätzer MenschPraktikant ist ein sehr geschätzer MenschPraktikant ist ein sehr geschätzer MenschPraktikant ist ein sehr geschätzer MenschPraktikant ist ein sehr geschätzer MenschPraktikant ist ein sehr geschätzer MenschPraktikant ist ein sehr geschätzer MenschPraktikant ist ein sehr geschätzer Mensch
Standard

Ich glaube er meint
PHP-Code:
for($i = -1$i $result->num_rows$i++) {
   echo 
$i;

sollte aber eigentlich auch kein Problem sein. Dennoch würde ich die Schleife von xm22 nehmen, der Übersicht wegen.
__________________
Mit freundlichen Grüßen

Sebastian
www.eloft-media.de

-----------------------
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!

Wenn ein Beitrag geholfen hat, so freut sich der Ersteller sicherlich über eine positive Bewertung des Beitrags und ein einfaches "Danke"
Mit Zitat antworten
  #6 (permalink)  
Alt 29.07.2010, 16:51
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.07.2009
Beiträge: 485
rs-web befindet sich auf einem aufstrebenden Ast
Standard

Hi,
ja ich meinte Praktikants Bsp.
Ja ok ich werde dann die while Schleife nehmen.
LG rs-web
Mit Zitat antworten
  #7 (permalink)  
Alt 29.07.2010, 17:00
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.302
mantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblick
Standard

Sicher, dass immer das erste Ergebnis ausgelassen wird, sieht für mich gerade eher so aus, als wenn immer das letzte Ergebnis ausgelassen wird.

Variationen sind viele möglich, eine einfache Lösung müsste sein, aus dem "<" ein "<=" zu machen, also:
PHP-Code:
            for($i 0$i <= $result->num_rows$i++){
                if(
$i == 0){
                    
$this->gesuchteBenutzer[$i] =  "<tr>"."<th>"."Benutzername"."</th>"."<th>"."E-mail"."</th>"."<th>"."Aktiviert"."</th>"."<th>"."Gesperrt"."</th>"."</tr>\n";
                }else{
                
$array $result->fetch_assoc();
                
$this->gesuchteBenutzer[$i] =  "<tr>"."<td>".$array[benutzername]."</td>"."<td>".$array[email]."</td>"."<td>".$array[aktiviert]."</td>"."<td>".$array[gesperrt]."</td>"."</tr>\n";
                }
            } 
Oder aber Du füllst das Array ganz einfach mit den Resultaten und wenn es nach der Schleife nicht leer ist, dann shiftest Du die Überschriften vorne dran.

Wie gesagt, gibt zahlreiche Möglichkeiten, hauptsache Du verstehst warum bei Deiner Variante ein Resultat fehlt.
Mit Zitat antworten
  #8 (permalink)  
Alt 12.08.2010, 00:29
Michael Walter
XHTMLforum-Mitglied
 
Registriert seit: 16.02.2010
Ort: Berlin
Beiträge: 203
Walter IT-Services befindet sich auf einem aufstrebenden Ast
Standard

Du hast nen array.
Warum nutzt du dann nicht einfach foreach?
Dann brauchst du num_rows auch nicht.
PHP-Code:
foreach($this->gesuchteBenutzer as $index => $values){
  if(
$index == 0){ 
    
$this->gesuchteBenutzer[$index] =  "<tr>"."<th>"."Benutzername"."</th>"."<th>"."E-mail"."</th>"."<th>"."Aktiviert"."</th>"."<th>"."Gesperrt"."</th>"."</tr>\n"
  }else{
    
$array $result->fetch_assoc(); 
    
$this->gesuchteBenutzer[$index] = "<tr>"."<td>".$array['benutzername']."</td>"."<td>".$array['email']."</td>"."<td>".$array['aktiviert']."</td>"."<td>".$array['gesperrt']."</td>"."</tr>\n"
  } 


LG
Micha
__________________
Walter IT-Services
Michael Walter

http://www.walter-it.de
http://blog.walter-it.de
Mit Zitat antworten
  #9 (permalink)  
Alt 12.08.2010, 10:06
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.302
mantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblick
Standard

Ich denke das Array wird vorher leer sein (es wird ja durch die Schleife gefüllt), Dein Ansatz bringt also genau mal nix.
Mit Zitat antworten
  #10 (permalink)  
Alt 12.08.2010, 10:46
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.07.2009
Beiträge: 485
rs-web befindet sich auf einem aufstrebenden Ast
Standard

Hi,
ich habs jetzt so gelöst:
PHP-Code:
 $this->gesuchteBenutzer[$i] =  "<tr>"."<th>"."Benutzername"."</th>"."<th>"."E-mail"."</th>"."<th>"."Aktiviert"."</th>"."<th>"."Gesperrt"."</th>"."</tr>\n";

 for(
$i 0$i $result->num_rows$i++){
                
$array $result->fetch_assoc();
                
$this->gesuchteBenutzer[$i] .=  "<tr>"."<td>".$array[benutzername]."</td>"."<td>".$array[email]."</td>"."<td>".$array[aktiviert]."</td>"."<td>".$array[gesperrt]."</td>"."</tr>\n";
                }
            } 
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
jQuery html() optimieren Eppi Javascript & Ajax 2 20.11.2008 14:27
Meine Queries optimieren insanic! Serveradministration und serverseitige Scripte 30 18.03.2006 15:05
kann man den code optimieren? Sentinel CSS 2 23.08.2005 11:45
120 dpi bildschirmanzeige --> website optimieren? captain CSS 1 16.06.2005 14:59
Seite optimieren Petty (X)HTML 31 15.03.2005 23:22


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:48 Uhr.