php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.03.2005, 09:20  
Gast
 
Beiträge: n/a
Standard Falsche Ausgabe bei for-Schleife

Morgen zusammen,

ich habe mir ein PHP-Skript erstellt, indem Zeiten von einer Tabelle ausgelesen werden. Die Zeiten sind verschiedene Räume zugewiesen. Jetzt wollte ich das mir das Skript die Anfangszeit von jedem Raum ausgibt.

Nun mein Problem ist, dass nur die Anfangszeit des ersten Raums ausgegeben wird... Obwohl in den anderen Räumen andere Anfangszeiten stehen.

Hier mal mein Skript:

PHP-Code:
<?php

$_res 
$db -> query("SELECT id, name FROM $tblRaum");
while (
$test mysql_fetch_row ($_res)) {

$raum[] = $test;

}

$count count($raum);
echo 
"Anzahl der Räume:&nbsp" .$count."
"
;

$i 0;
for (
$i $i $count$i++) {

foreach (
$raum as $key=>$val)

if (
$key == $i){  
$room $val[0];   
}
$test_2 $db->query ("SELECT von, bis FROM $tblFreiRegel WHERE dow = 'MO' AND raum= '$room' ORDER BY von");

while (
$test_3 mysql_fetch_row ($test_2)) {
echo 
"Dies ist ein Test: " .$test_3[0]. "
"
;#Ausgabe aller Datensätze
$zeit[] = $test_3;
}

foreach (
$zeit as $key => $val)
if (
$key == 0) {
$anfangszeit $val[0]; 
echo 
$anfangszeit."
"
;
}

}
# for-Schleife

?>
Ich lass mir auch die SQL-Querys anzeigen und es sind 5 Querys, da ich 5 Räume habe. Das klappt auch das er eine Query für jeden Raum durchführt. Nur aus irgendeinem Grund behält PHP in der Variable $anfangszeit den Anfangswert des ersten Raums.

Vielleicht findet ihr ja den Fehler. Ist bestimmt ganz simpel!!! :wink:

Danke schon einmal

Gruß Martini
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 09.03.2005, 09:39  
Gast
 
Beiträge: n/a
Standard

Ich bin es echt leid, mir immer wieder so einen unformatierten Schrott hier ansehen zu müssen. Ist das so schwer, den Quellcode ordentlich einzurücken? Ihr wollt was von uns, dann gebt euch gefälligst Mühe, den Kram übersichtlich zu posten! Was hier teilweise reingehauen wird, ist eine Zumutung!!! Wenn man das mal ordentlich macht, fallen viele Fehler von alleine auf!!!
PHP-Code:
<?php 

  $_res 
$db -> query("SELECT id, name FROM $tblRaum"); 

  while (
$test mysql_fetch_row ($_res))
    
$raum[] = $test

  
$count count($raum); 
  echo 
"Anzahl der Räume:&nbsp" .$count."
"


  
$i 0

  for (
$i $i $count$i++)
  { 

    foreach (
$raum as $key=>$val
     if (
$key == $i)
        
$room $val[0];    

    
$test_2 $db->query ("SELECT von, bis FROM $tblFreiRegel WHERE dow = 'MO' AND raum= '$room' ORDER BY von"); 

    while (
$test_3 mysql_fetch_row ($test_2))
    { 
       echo 
"Dies ist ein Test: " .$test_3[0]. "
"
;#Ausgabe aller Datensätze 
       
$zeit[] = $test_3
    } 

    foreach (
$zeit as $key => $val
       if (
$key == 0)
       { 
          
$anfangszeit $val[0]; 
          echo 
$anfangszeit."
"

       } 
  }
?>
@Martini86
Das Ganze jetzt bitte nicht persönlich nehmen, aber das musste mal raus.

Gruß
phpfan
 
Alt 09.03.2005, 09:44  
Gast
 
Beiträge: n/a
Standard

Ja ist okay... Versteh ich schon...

Nur ich arbeite gerade ziemlich unter Zeitdruck und da ich das noch nich so richtig kann, verzichte ich erstmal auf die Formatierung.

Aber beim nächsten Posting werde ich mein Skript vorher formatieren.

[edit]
Zitat:
Wenn man das mal ordentlich macht, fallen viele Fehler von alleine auf!!!
Ja hast du den Fehler entdeckt? Ich habe jetzt mal mein Skript schön formatiert, aber leider immer noch nicht den Fehler entdeckt. Entweder ich bin blind oder ich hab die Nacht nich so gut geschlafen. Wenn dus hast, bitte flüster es mir zu!!! :wink:

Gruß Martini
 
Alt 09.03.2005, 12:47  
Gast
 
Beiträge: n/a
Standard

Hmpf...... imma noch keine Antwort.....
 
Alt 09.03.2005, 12:51  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hör mal .. das kann doch nicht sein. Schau Dir doch mal den Quelltext von phpfan an. Und geh mal gaaaaaaaaanz bis zum Ende. Und immer schön auf Klammern achten, gelle.
imported_Ben ist offline  
Alt 09.03.2005, 13:20  
Gast
 
Beiträge: n/a
Standard

Ich hab den Quelltext doch schon auswendig gelernt :P Und dann bin ich mal hingegangen und hab ihn mir kopiert und trotzdem bekomme ich immer nur als Ausgabe die Anfangszeit des ersten Raumes.
 
Alt 09.03.2005, 15:04  
Gast
 
Beiträge: n/a
Standard

och meno.... das is doch zum kinderkriegen!!!!!
 
Alt 09.03.2005, 15:13  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.034
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Warum soll denn etwas anderes drinstehen, wenn du nur den ersten Wert ($key == 0) reinschreibst?
__________________
Gruss
L
lazydog ist offline  
Alt 09.03.2005, 15:30  
Gast
 
Beiträge: n/a
Standard

Hallo lazydog,

meine For-Schleife wird doch 5-mal durchlaufen. Und da entstehen auch 5-Querys. Und dann wird auch 5-mal der Variabel $test_3 neue Datensätze zugewiesen. Diese Variable weise ich dann ja einem Array zu. Und nach der foreach-Anweisung soll nur der erste Wert des Datensatzes ausgegeben werden.

Un jetzt eigentlich zurück zu deiner Frage...

Mit ($key == 0) geb ich ja die Anweisung, das wenn das Array durchlaufen wird, und der erste Wert (somit 0) erreicht ist, soll er auch den Wert ausgeben.

Ich hab in jedem Raum eine andere Anfangszeit also einen anderen ersten Datensatz. z.B. in Raum 16 hab ich die Anfangszeit 08:00 Uhr und im Raum 17 wiederum 07:00 Uhr.

Jetzt bringt mir das Skript aber für jeden Raum die Anfangszeit 08:00 Uhr.

hmm... Glaub das wolltest du wissen, oder?

Gruß Martini
 
Alt 09.03.2005, 16:01  
Gast
 
Beiträge: n/a
Standard

ohhhhhhh..... ROFL und LOL und vieles mehr....

ich muss direkt nach der for-Bedingung die Anweisung $zeit = ''; (also das Array auf Null setzen) hinschreiben.

Nämlich bei der 2. Wiederholung der for-Schleife wird zu dem Array $zeit zu den bestehenden Datensätzen der Tabelle die nächsten angeforderten Datensätze hinzugeschrieben....

Oh man.... das war eine schwere Geburt....

Hättet ihr mehr Zeit für mich gehabt, hättet ihr bestimmt auch darauf kommen können.

Naja danke für... hmm... ka :wink:

Gruß Martini
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Smarty + MySQL = immer falsche Ausgabe m0use` PHP Tipps 2006 44 21.11.2008 20:30
falsche ausgabe von numerischen datensatz bei sql-abfrge XraYSoLo PHP Tipps 2006 5 12.09.2006 11:00
Problem mit Ausgabe bzw. Abfrage mit ORDER BY mayer Datenbanken 7 02.07.2006 21:45
Ausgabe wird an die falsche Stelle includet. PHP Tipps 2005-2 6 25.10.2005 13:25
Falsche Ausgabe bei WHERE Clause Datenbanken 8 07.10.2005 10:18
Ausgabe der Auswahlliste PHP Tipps 2005-2 6 21.09.2005 13:43
3 Tabellen verbunden -- Ausgabe in einer Spalte Datenbanken 4 06.09.2005 10:43
PHP-Magazin - Ausgabe 5.2005 imported_Ben Off-Topic Diskussionen 1 08.08.2005 08:39
[Erledigt] Geteilte Ausgabe an den Browser... PHP-Fortgeschrittene 4 01.07.2005 13:07
Warum falsche numerische ausgabe bei date()? PHP Tipps 2005 5 11.03.2005 10:58
[Erledigt] date() Ausgabe in Deutsch PHP-Fortgeschrittene 8 06.02.2005 19:32
[Erledigt] formatierung der ausgabe, felder mit zeilenumbruch Datenbanken 4 25.11.2004 10:34
Ausgabe nur dann, wenn htmlspecialchars() verwendet PHP Tipps 2004 1 27.10.2004 21:17
[Erledigt] Sortierung der Ausgabe PHP-Fortgeschrittene 3 08.10.2004 09:22
preg_match_all? Falsche Ausgabe PHP Tipps 2004 4 28.09.2004 16:44

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql_fetch_row ausgabe mit for schleife

Alle Zeitangaben in WEZ +1. Es ist jetzt 09:50 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.