php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #16 (permalink)  
Alt 27-06-2008, 23:53
medium22
 Registrierter Benutzer
Links : Onlinestatus : medium22 ist offline
Registriert seit: Mar 2006
Beiträge: 308
medium22 zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Die bloße Existenz von Datensätze ist da mit Sicherheit kein Grund. Nicht bei einem so simplen update...
Wahrlich nicht nein, aber wenn ich dazu mehrere andere Scripte anpassen müsste schon.


Hm.., vielleicht sind wir beide heute etwas schwierig? ;D

PHP-Code:
        $akt date("m");
        
$fnull 0;
        
$raum $akt 5
        echo 
"$raum";
        if (
$akt <= 9) {
            
$raum2 $fnull."".$raum;
        } else {
            
$raum2 $raum;
        }
        
$sql "SELECT 
user, monat, jahr, minuten 
FROM minuts 
WHERE jahr = '2008' AND monat BETWEEN $raum2 AND $akt 
ORDER BY user, monat"
;
        
$result mysql_query($sql) or die(mysql_error());
         
$vmon 0;
         echo 
"<table style='width:80%' border='1'><tr>
                <th class='P' style='vertical-align:top'>UserId</th>
                <th class='Q' style='vertical-align:top'>Jahr</th>
                <th class='P' style='vertical-align:top'>Monat</th>
                <th class='Q' style='vertical-align:top'>Online</th>
                <th class='P' style='vertical-align:top'>Monat</th>
                <th class='Q' style='vertical-align:top'>Online</th>
                <th class='P' style='vertical-align:top'>Monat</th>
                <th class='Q' style='vertical-align:top'>Online</th>
                <th class='P' style='vertical-align:top'>Monat</th>
                <th class='Q' style='vertical-align:top'>Online</th>
                <th class='P' style='vertical-align:top'>Monat</th>
                <th class='Q' style='vertical-align:top'>Online</th>
                </tr>\n"
;
         while (
$row mysql_fetch_assoc($result)) {
        echo 
"<tr><td>" $row['user'] . "</td>";
        echo 
"<td>" $row['jahr'] . "</td>";
// die nächste Zeile müsste 5 mal durchlaufen werden und nicht nur einmal
// dh. von hier bis... 
             
$diff = ($vmon == 0) ? '&nbsp' $row['minuten'] - $vmon;
        echo 
"<td>";
        if (
$row['monat'] == "01") { echo "Januar"; }
        if (
$row['monat'] == "02") { echo "Februar"; }
        if (
$row['monat'] == "03") { echo "März"; }
        if (
$row['monat'] == "04") { echo "April"; }
        if (
$row['monat'] == "05") { echo "Mai"; }
        if (
$row['monat'] == "06") { echo "Juni"; }
        if (
$row['monat'] == "07") { echo "Juli"; }
        if (
$row['monat'] == "08") { echo "August"; }
        if (
$row['monat'] == "09") { echo "September"; }
        if (
$row['monat'] == "10") { echo "Oktober"; }
        if (
$row['monat'] == "11") { echo "November"; }
        if (
$row['monat'] == "12") { echo "Dezember"; }
        echo 
"</td>";
        echo 
"<td>$diff</td>";
//.. hier hin während einmal while-durchlauf, 5 mal das haben... 
             
echo "</tr>";
         
$vmon $row['minuten'];
    }
    echo 
"</table>"
Es soll ja ein ergebniss wie zuletzt beschrieben dabei raus kommen. Also 1 User = eine Zeile für die letzten 5 Monate mit Differenz
Mit Zitat antworten
  #17 (permalink)  
Alt 28-06-2008, 18:58
medium22
 Registrierter Benutzer
Links : Onlinestatus : medium22 ist offline
Registriert seit: Mar 2006
Beiträge: 308
medium22 zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Nun.., mittlerweile habe ich mich dazu durchgerungen, die jeweilige Differenz mit zu speichern - war kein grosser Akt und vereinfachte vieles, zumal die ganze rechnerei nun wegfällt.

Nun habe ich allerdings das Problem, dass dennoch für jeden Datensatz eine Zeile ausgegeben wird anstat eine Zeile mit allen Inhalten dahinter.

Wahrscheinlich sitze ich einfach schon zu lange dran und sehe den Wald vor lauter Bäumen nicht mehr..


PHP-Code:
<?php

        $akt 
date("m");
        
$fnull 0;
        
$raum $akt 5
         
$monate = array(
    
"1" => "Januar"
    
"2" => "Februar"
    
"3" => "März"
    
"4" => "April"
    
"5" => "Mai"
    
"6" => "Juni",  
    
"7" => "Juli",
    
"8" => "August"
    
"9" => "September"
    
"10" => "Oktober",  
    
"11" => "November"
    
"12" => "Dezember");

         echo 
"<table style='width:80%' border='1'><tr>
                <th class='P' style='vertical-align:top'>UserId</th>
                <th class='Q' style='vertical-align:top'>Jahr</th>"
;
        for (
$i $raum$i <= $akt$i++) {
                echo 
"<th class='P' style='vertical-align:top'>".$monate[$i]."</th>
                <th class='Q' style='vertical-align:top'>Online</th>"
;
        }
            echo 
"</tr>\n";
        if (
$akt <= 9) {
            
$raum2 $fnull."".$raum;
        } else {
            
$raum2 $raum;
        }
        
$sql "SELECT user, monat, jahr, minuten, diff 
        FROM minuts 
        WHERE jahr = '2008' AND monat BETWEEN $raum2 AND $akt 
        ORDER BY user, monat"
;
        
$result mysql_query($sql) or die(mysql_error());
         while (
$row mysql_fetch_assoc($result)) {
        echo 
"<tr><td>" $row['user'] . "</td>";
        echo 
"<td>" $row['jahr'] . "</td>";
        echo 
"<td>" $row['minuten'] . "</td>";
        echo 
"<td>" $row['diff'] . "</td>";
                echo 
"</tr>";
        }
    echo 
"</table>";
Mir ist klar, dass ich den User innerhalb von while habe und der daher auch jedesmal neu ausgegeben wird, aber wie kann ich es so machen, dass der nur einmal ausgegeben wird? Ggf. ein GROUP BY?


Gruss
Mit Zitat antworten
  #18 (permalink)  
Alt 28-06-2008, 21:17
medium22
 Registrierter Benutzer
Links : Onlinestatus : medium22 ist offline
Registriert seit: Mar 2006
Beiträge: 308
medium22 zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hach.., ich spamme doch nicht etwa? :-O


Lösungsidee ist nun da.., nur fehlt mir das wissen diese umzusetzen.
Man könnte das doch mit einem sogenannten Gruppenwechsel machen? *denk*.. Nur.., die Lektüren im www dazu sind nicht wirklich eine Hilfe was dieses Thema angeht. Was mir fehlt ist, wie in diesem Fall der Aufbau des ganzen wäre um mein Problem zu lösen. Ein einfaches Konstrukt wie sich das aufbaut würde mir dabei schon sehr weiter helfen. Bin fest davon überzeugt, dass ich es dann selbst soweit bringen würde das es auch so funktioniert wie ich es mir vorstelle. *g*
Mit Zitat antworten
  #19 (permalink)  
Alt 28-06-2008, 21:28
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Mir ist klar, dass ich den User innerhalb von while habe und der daher auch jedesmal neu ausgegeben wird, aber wie kann ich es so machen, dass der nur einmal ausgegeben wird? Ggf. ein GROUP BY?
Gruppenwechsel!

Zitat:
Man könnte das doch mit einem sogenannten Gruppenwechsel machen?
hehe, genau!

Also bis jetzt hat es noch jeder, dem ich den Namen gesagt habe, zumindest ansatzweise alleine hinbekommen. Aber weil ich heute mal gut drauf bin.

$username ='';
while(...)
if($username != $row->username)
echo $row->username;

ist hoffentlich der gewünschte Ansatz.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!

Geändert von TobiaZ (29-06-2008 um 16:38 Uhr)
Mit Zitat antworten
  #20 (permalink)  
Alt 28-06-2008, 22:45
medium22
 Registrierter Benutzer
Links : Onlinestatus : medium22 ist offline
Registriert seit: Mar 2006
Beiträge: 308
medium22 zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hab nun Deinen Ansatz und das was ich mir aus dem Forum zusammen gesucht habe etwas gebastelt, aber die Anzeige ist nicht wie gewünscht - es erscheint nur jeweils ein Datensatz (also einmal 'minuten' und einmal 'diff') anstatt 5 mal.




Fehlermeldung hab' ich keine also muss irgendwo in der Verarbeitung der Hund begraben liegen - nur wo?
PHP-Code:
        $akt date("m");
        
$fnull 0;
        
$raum $akt 5

         
$monate = array("1" => "Januar"
                
"2" => "Februar"
                
"3" => "März"
                
"4" => "April"
                
"5" => "Mai"
                
"6" => "Juni",  
                
"7" => "Juli",
                
"8" => "August"
                
"9" => "September"
                
"10" => "Oktober",  
                
"11" => "November"
                
"12" => "Dezember");

         echo 
"<table style='width:80%' border='1'><tr>
                <th class='P' style='vertical-align:top'>UserId</th>
                <th class='Q' style='vertical-align:top'>Jahr</th>"
;
        for (
$i $raum$i <= $akt$i++) {
            
// echo $i;
            // echo $monate[$i]."<br>";
                
echo "<th class='P' style='vertical-align:top'>".$monate[$i]."</th>
                <th class='Q' style='vertical-align:top'>Online</th>"
;
        }
            echo 
"</tr>\n";
        if (
$akt <= 9) {
            
$raum2 $fnull."".$raum;
        } else {
            
$raum2 $raum;
        }
$alt '';
        
$sql "SELECT user, monat, jahr, minuten, diff 
            FROM minuts 
            WHERE jahr = '2008' AND monat BETWEEN $raum2 AND $akt 
            ORDER BY user"
;   
    
$result mysql_query($sql) OR die(mysql_error());    
    if(
mysql_num_rows($result)) {
        while(
$row mysql_fetch_assoc($result)) {
            
$neu $row['user'];
            if (
$alt != $neu) {        // Gruppenwechsel ?
                
if($alt != '') {     //Nicht beim ersten Durchgang
                    
echo "<TR><TD class=\"P\">".$row['user']."</TD>";
            echo 
"<TD class=\"Q\">".$row['jahr']."</TD>";
            echo 
"<TD class=\"P\">".$row['minuten']."</TD>";
            echo 
"<TD class=\"Q\">".$row['diff']."</TD></TR>";
        }
                
$per = array();        // Array leeren
                
$alt $neu;        // Gruppe wechseln
            
}
            
$per[] = $row['minuten'];    // Daten zwischenspeichern
        

        echo 
"<TR><TD class=\"P\">".$row['user']."</TD>";
    echo 
"<TD class=\"Q\">".$row['jahr']."</TD>";
    echo 
"<TD class=\"P\">".$row['minuten']."</TD>";
    echo 
"<TD class=\"Q\">".$row['diff']."</TD></TR>";
    }
    else {
        echo 
"<b>Keine Einträge vorhanden</b>\n";
    }
  echo 
"</table>"
Mit Zitat antworten
  #21 (permalink)  
Alt 28-06-2008, 22:48
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Der Teil
PHP-Code:
   echo "<TD class=\"Q\">".$row['jahr']."</TD>";
             echo 
"<TD class=\"P\">".$row['minuten']."</TD>";
             echo 
"<TD class=\"Q\">".$row['diff']."</TD> 
darf natürlich NICHT in den if() Teil!
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #22 (permalink)  
Alt 28-06-2008, 23:00
medium22
 Registrierter Benutzer
Links : Onlinestatus : medium22 ist offline
Registriert seit: Mar 2006
Beiträge: 308
medium22 zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Du meinst

PHP-Code:
$alt '';
        
$sql "SELECT user, monat, jahr, minuten, diff 
            FROM minuts 
            WHERE jahr = '2008' AND monat BETWEEN $raum2 AND $akt 
            ORDER BY user"
;   
    
$result mysql_query($sql) OR die(mysql_error());    
    if(
mysql_num_rows($result)) {
        while(
$row mysql_fetch_assoc($result)) {
            
$neu $row['user'];
            if (
$alt != $neu) {        // Gruppenwechsel ?
                
if($alt != '') {     //Nicht beim ersten Durchgang
                    
echo "<TR><TD class=\"P\">".$row['user']."</TD>";
        }
            echo 
"<TD class=\"Q\">".$row['jahr']."</TD>";
            echo 
"<TD class=\"P\">".$row['minuten']."</TD>";
            echo 
"<TD class=\"Q\">".$row['diff']."</TD></TR>";
        
                
$per = array();        // Array leeren
                
$alt $neu;        // Gruppe wechseln
            
}
            
$per[] = $row['minuten'];    // Daten zwischenspeichern
        

        echo 
"<TR><TD class=\"P\">".$row['user']."</TD>";
    echo 
"<TD class=\"Q\">".$row['jahr']."</TD>";
    echo 
"<TD class=\"P\">".$row['minuten']."</TD>";
    echo 
"<TD class=\"Q\">".$row['diff']."</TD></TR>";
    }
    else {
        echo 
"<b>Keine Einträge vorhanden</b>\n";
    }
  echo 
"</table>"
so? Erziehl auch nicht das gewünschte Ergebniss. Oder habe ich das nur falsch verstanden? *g*
Mit Zitat antworten
  #23 (permalink)  
Alt 29-06-2008, 13:44
medium22
 Registrierter Benutzer
Links : Onlinestatus : medium22 ist offline
Registriert seit: Mar 2006
Beiträge: 308
medium22 zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Moin


Nach vielem hin und her probieren, versch. Artikel lesen habe ich nun doch eine funktionierende (mit einem Haken - dazu später mehr) Lösung gefunden. Ich behaupte nun einfach mal, dass es daran lag, dass in meinem Code nur ein Array angesprochen wurde - es müssten aber zwei sein (minuten und diff)

Folgendermassen habe ich es nun es bringt auch (fast) das gewünschte Ergebniss:

PHP-Code:
$alt '';
        
$sql "SELECT user, monat, jahr, minuten, diff 
            FROM minuts 
            WHERE jahr = '2008' AND monat BETWEEN $raum2 AND $akt 
            ORDER BY user,monat"
;   
    
$result mysql_query($sql) OR die(mysql_error());    
    if(
mysql_num_rows($result)) {
        while(
$row mysql_fetch_assoc($result)) {
            
$neu $row['user'];
            if (
$alt != $neu) {        // Gruppenwechsel ?
                
if($alt != '') {     //Nicht beim ersten Durchgang
                    
echo "<TR><TD class=\"P\">".$row['user']."</TD>";
                echo 
"<TD class=\"Q\">".$row['jahr']."</TD>";
            for(
$i=0$i<6$i++) {
                    echo 
"<TD class=\"P\">".$min[$i]."</TD>";
                if (
$dif[$i] <= "1500") {
                        echo 
"<TD class=\"Q\"><font color=\"red\"><B>".$dif[$i]."</B></font></TD>";
                   } else {
                        echo 
"<TD class=\"Q\">".$dif[$i]."</TD>"; }
                  }
            echo 
"</TR>";
        }        
                
$min = array();        // Array minuten leeren
                
$dif = array();        // Array diff leeren
                
$alt $neu;        // Gruppe wechseln
            
}
            
$min[] = $row['minuten'];    // Daten minuten zwischenspeichern
            
$dif[] = $row['diff'];    // Daten diff zwischenspeichern
        

        echo 
"<TR><TD class=\"P\">".$row['user']."</TD>";
    echo 
"<TD class=\"Q\">".$row['jahr']."</TD>";
    echo 
"<TD class=\"P\">".$row['minuten']."</TD>";
    echo 
"<TD class=\"Q\">".$row['diff']."</TD></TR>";
    }
    else {
        echo 
"<b>Keine Einträge vorhanden</b>\n";
    }
  echo 
"</table>"
Nicht schön, aber funktioniert!


Zum oben angesprochnen 'fast'. Nun.., es kann schliesslich vorkommen, dass User erst später dazu gestossen sind und in diesem Falle noch keine 6 Monate dabei sind. Zur Zeit ist es so, dass dann ein '222 2008 289000 0 ' ausgegeben wird. Der Minutenstand und die Differenz also ganz links, er sollte aber - dem Monat entsprechend - ganz rechts sein. Sprich, wenn weniger Datensätze als Abgefragt vorhanden sind, von rechts beginnen die Tabelle zu füllen.

Ratschläge, Hilfe, Lynchangebote? *g*
Mit Zitat antworten
  #24 (permalink)  
Alt 29-06-2008, 14:06
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Tja, das musst du dann noch abfrangen. Ist ja eigentlich kein Problem, oder? (Du lieferst mal wieder nicht den kleinsten Ansatz)

Ich würd einfach das die kompletten Daten in ein Array laden:
array(username=>array(differenzen))
oder
array(username=>test, months=>array(differenzen))

Damit kannst du wunderbar weiterarbeiten.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #25 (permalink)  
Alt 30-06-2008, 09:57
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von medium22
Nun.., mittlerweile habe ich mich dazu durchgerungen, die jeweilige Differenz mit zu speichern
Das ist wohl die dümmste Idee. Berechnete Daten haben in einer Datenbank nichts verloren.
Du kannst ja meinen Code nehmen, und einfach einen zweiten Gruppenbruch einfügen (Den ersten hast du ja schon mit der Berechnung). Da brauchst du auch nichts zwischenzuspeichern:
PHP-Code:
....
while(
$row mysql_fetch_assoc($result)) {
    
$neu $row['user'];
    if (
$alt != $neu) {  
        if (!empty(
$alt)){
            echo 
"</tr>";
        }
        echo 
"<tr><td class='P'>" $row['user'] . "</td>";
        echo 
"<td class='Q'>" $row['jahr'] . "</td>";
    }
    echo 
"<td class='P'>" $row['min'] . "</td>";
    
$diff = ($vmon == 0) ? '&nbsp' $row['min'] - $vmon;
    if (
$diff <= "1500") {
        
$tyle_fmt "<td class=\"Q\"><font color=\"red\"><B>%s</B></font></td>"
    

    else {
        
$tyle_fmt "<td class=\"Q\">%s</td>";
    }
    
printf($style_fmt$diff)  
    
$vmon $row['minuten'];
}
... 
__________________
Gruss
H2O
Mit Zitat antworten
  #26 (permalink)  
Alt 06-07-2008, 13:46
medium22
 Registrierter Benutzer
Links : Onlinestatus : medium22 ist offline
Registriert seit: Mar 2006
Beiträge: 308
medium22 zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hallo,


hatte leider die ganze Woche keine Zeit daran weiter zu arbeiten. Nachdem ich nun vieles versucht habe bekomme ich trotzdem eine Fehlerhafte ausgabe nicht weg. Egal wie ich es drehe, wende, umschreibe, .. der Fehler bleibt immer derselbe.

Rufe ich die letzten X Monate auf so erscheint die Tabelle (soll sie ja auch *g*) nur mit dem Makel, dass User1 fehlt. An seiner Stelle steht User2 mit den Daten von User1. Also eine Zeile versetzt.., dass zieht sich quer durch die ganze Tabelle und am Ende dieser ist eine Zeile ohne User dafür mit den ganzen Daten.

Finde ich äusserst seltsam und ich komme auf keinen Grünen Zweig wo da der Hund begraben liegt.


Für solche die bisher nicht hier gelesen haben, hier nochmal der Code dazu

PHP-Code:
$alt '';
        
$sql "SELECT minuts.user AS user, 
minuts.monat AS monat, 
minuts.jahr AS jahr, 
minuts.minuten AS minuten, 
minuts.diff AS diff, 
users.UserName AS un, 
users.UserId AS uid 
            FROM minuts 
        LEFT JOIN users ON (minuts.user = users.UserId) 
            WHERE minuts.jahr = '2008' AND minuts.monat BETWEEN $raum2 AND $akt 
            ORDER BY users.UserName, minuts.monat"

    
// echo "<hr>$sql<hr>";  
    
$result mysql_query($sql) OR die(mysql_error());    
    if(
mysql_num_rows($result)) {

    
$farbe 2;
        while(
$row mysql_fetch_array($result)) {
            
$neu $row['uid'];
            if (
$alt != $neu) {        // Gruppenwechsel ?
                
if($alt != '') {     //Nicht beim ersten Durchgang

    
if (($farbe 2) == 0) {
            echo 
"<TR><TD class=\"P\" align=\"right\">";
            echo 
"<a href=\"mins.php?p=e&id=".$row['uid']."\">".$row['un']."</a></TD>";
        echo 
"<TD class=\"P\">".$row['jahr']."</TD>";
            for(
$i0$i<= $zeit$i++) {
                    echo 
"<TD class=\"P\">".$min[$i]."</a></TD>";
                if (
$dif[$i] <= "1500") {
                        echo 
"<TD class=\"P\"><font color=\"red\"><B>".$dif[$i]."</B></font></TD>";
                   } else {
                        echo 
"<TD class=\"P\">".$dif[$i]."</TD>"; }
                  }
            echo 
"</TR>";
    } else { 
            echo 
"<TR><TD class=\"Q\" align=\"right\">";
            echo 
"<a href=\"mins.php?p=e&id=".$row['uid']."\">".$row['un']."</a></TD>";
            echo 
"<TD class=\"Q\">".$row['jahr']."</TD>";
            for(
$i0$i<= $zeit$i++) {
                    echo 
"<TD class=\"Q\">".$min[$i]."</TD>";
                if (
$dif[$i] <= "1500") {
                        echo 
"<TD class=\"Q\"><font color=\"red\"><B>".$dif[$i]."</B></font></TD>";
                   } else {
                        echo 
"<TD class=\"Q\">".$dif[$i]."</TD>"; }
                  }
            echo 
"</TR>";
    }
$farbe++;

        }        
                
$min = array();        // Array minuten leeren
                
$dif = array();        // Array diff leeren
                
$alt $neu;        // Gruppe wechseln
            
}
            
$min[] = $row['minuten'];    // Daten minuten zwischenspeichern
            
$dif[] = $row['diff'];    // Daten diff zwischenspeichern
        

        echo 
"<TR><TD class=\"P\">".$row['un']."</TD>";
        echo 
"<TD class=\"P\">".$row['jahr']."</TD>";
        for(
$i0$i<= $zeit$i++) {
       echo 
"<TD class=\"P\"><a href=\"mins.php?p=e&id=".$row['uid']."\">".$min[$i]."</a></TD>";
          if (
$dif[$i] <= "1500") {
        echo 
"<TD class=\"P\"><font color=\"red\"><B>".$dif[$i]."</B></font></TD>";
          } else {
        echo 
"<TD class=\"P\">".$dif[$i]."</TD>"
              }
      }
       echo 
"</TR>"
    }
    else {
        echo 
"<b>Keine Einträge vorhanden</b>\n";
    }
  echo 
"</table>"
Führe ich diese Abfrage direkt im phpMyA aus, so wird das korrekte Resultat angezeigt, also denke ich mal, dass mein Fehler irgendwo in der Ausgabe liegt.
Mit Zitat antworten
  #27 (permalink)  
Alt 06-07-2008, 16:23
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Wenn man deinen Code auf die logische Struktur reduziert und ordentlich einrückt, siehst du es selbst.
PHP-Code:
$alt '';
if (
mysql_num_rows($result)) {
    while (
$row mysql_fetch_array($result)) {
        
$neu $row['uid'];
        if (
$alt != $neu) {        // Gruppenwechsel ?
            
if ($alt != '') {     //Nicht beim ersten Durchgang
                
echo $row['un'];
            }        
            
$alt $neu;        // Gruppe wechseln
        
}
    } 
    echo 
$row['un'];
} else {
    echo 
"<b>Keine Einträge vorhanden</b>\n";

Mit Zitat antworten
  #28 (permalink)  
Alt 06-07-2008, 16:58
medium22
 Registrierter Benutzer
Links : Onlinestatus : medium22 ist offline
Registriert seit: Mar 2006
Beiträge: 308
medium22 zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Vielleicht sollte ich mal wieder schlafen oder eine Wanne voll Kaffee in mich schütten.. Aber ich seh's grad' tatsächlich nicht.. oO

Habe eben auch verschiedene Varianten ausprobiert - die Ausgaben in andere Klammer-Teile verschobene - richtig wurde es dadurch aber auch nicht.
Mit Zitat antworten
  #29 (permalink)  
Alt 06-07-2008, 17:26
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Tja, dann wirst du Testausgaben in jedem If-Else-Zweig machen müssen um herauszufinden, wann welcher Code ausgeführt wird.
Mit Zitat antworten
  #30 (permalink)  
Alt 06-07-2008, 21:14
medium22
 Registrierter Benutzer
Links : Onlinestatus : medium22 ist offline
Registriert seit: Mar 2006
Beiträge: 308
medium22 zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Mir scheint, ich bin tatsächlich zu doof dafür. Egal wie ich es drehe und wende, was ich versuche und umstelle, wo ich Testausgaben mache, etc. es will nicht so wie es soll.

Mag mir nicht bitte jemand dabei helfen bzw. dieses eine Mal eine Lösung präsentieren? :/
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

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