php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.04.2008, 07:35  
Neuer Benutzer
 
Registriert seit: 14.04.2008
Beiträge: 18
PhilCGN befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Zählen innerhalb der WHILE-Schleife

Hi Leute ich hab ein kleines Problem.
ich habe in meiner MySQL-DB eine Tabelle die so ähnlich aussieht wie das Beispiel.

..MA-NR.......z0700........z0715.......z0730.......z074 5 ---> bis z1845
*-------***-------***-------***-------***-------*
| .0015.....|.............|......1......|......1.... ..|............|
*---------*---------*--------- *----------*--------*

Folgendes Problem:

ich brauche die Anzahl der Einsen in einer bestimmten Zeile.
Das Abrufen und die generelle Ausgabe der Daten ist kein Problem.
Habe schon versucht mit das Ergebniss der Abfrage in ein array schreiben zu lassen (mysql_fetch_array & mysql_fetch_objekt) und diese Inhalte zählen zu lassen aber das kalppt alles nicht.

Die Abfrage pro Mitarbeiter wird dynamisch mit Hilfe einer FOR-Schleife erzeugt.

----------------------------------------------------------------
PHP-Code:
$sqlA "SELECT $var FROM t16 WHERE $var='1' AND ma=$maNR AND wochentag='Montag'";
$resultA mysql_query($sqlA);
while(
$row=mysql_fetch_object($resultA))
{
$var=$row->$var;
echo 
$var.'<br>';

------------------------------------------------------------

Bis hier hin kein Problem. Die Daten werden abgefragt und ausgegeben.

Aber wie bekomme ich es hin, das mir die gesamtzahl der Zellen ausgegeben wird in denen eine eins steht (je Zeile, also pro MA) ???

Ich habe schon verschiedene Tips aus dem Net versucht aber alle bringen nur Mist als Ergebniss oder listen wie oben nur die Einzelwerte auf.

Wäre sehr dankbar wenn mir jemand helfen kann.

Gruß PhilCGN

Geändert von drieling (14.04.2008 um 20:10 Uhr). Grund: PHP Tags hinzugefügt. Beim nächsten mal bitte dran denken ;)
PhilCGN ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 14.04.2008, 07:46  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

ich würde die Tabelle normalisieren..

Steht da nur eine 1 oder nichts drin?
HPR1974 ist offline  
Alt 14.04.2008, 07:50  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

btw, dein Code sieht komisch aus, das ist sicher nicht gut durchdacht...
HPR1974 ist offline  
Alt 14.04.2008, 08:06  
Neuer Benutzer
 
Registriert seit: 14.04.2008
Beiträge: 18
PhilCGN befindet sich auf einem aufstrebenden Ast
Standard

In der Tabelle können noch andere Werte z.B. "u" für Urlaub oder "k" für Krank stehen. Darum sollen ja nur die Zellen gezählt werden, in denen eine 1 steht. Was verstehst Du denn unter normalisieren?

Sieht komisch aus? *g*

Liegt vielleicht daran das die Abfrage an sich bzw. $var dynamisch durch eine FOR-Schleife generiert wird. Aber wie gesagt es funktioniert bis da hin.
PhilCGN ist offline  
Alt 14.04.2008, 08:10  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

Na normalisieren eben. Funktionieren ist eine Sache, gute Struktur eine andere.

Du gibst in deinem Code aber nicht eine ganze Zeile Deiner Tabele aus sondern nur ein Feld. Ergo kannst Du auch dort nicht die einsen zählen
HPR1974 ist offline  
Alt 14.04.2008, 08:13  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

Zitat:
Zitat von PhilCGN Beitrag anzeigen
Liegt vielleicht daran das die Abfrage an sich bzw. $var dynamisch durch eine FOR-Schleife generiert wird. Aber wie gesagt es funktioniert bis da hin.
Haste hier schon mal daran gedacht dass Du ne menge unnötiger Queries erzeugst und an Deine DB schickst?
HPR1974 ist offline  
Alt 14.04.2008, 08:13  
Neuer Benutzer
 
Registriert seit: 14.04.2008
Beiträge: 18
PhilCGN befindet sich auf einem aufstrebenden Ast
Standard

PHP ist also in der Lage nur die Zellen aus zu geben in denen eine 1 steht aber nicht in der Lage die anzahl dieser Zellen innerhalb einer Zeile zu zählen ????
PhilCGN ist offline  
Alt 14.04.2008, 08:16  
Neuer Benutzer
 
Registriert seit: 14.04.2008
Beiträge: 18
PhilCGN befindet sich auf einem aufstrebenden Ast
Standard

Durch die for-schleife habe die Anzahl der abfragen sogar um einiges verringert. Zudem müßte ich sonst für jede Spalte von z0700 bis z1845 eine gesonderte Abfrage schreiben.

Die Tipperei wollte ich mir eig. ersparen..
PhilCGN ist offline  
Alt 14.04.2008, 08:18  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

deswegen ja normalisieren. Deine Abfragemethodik ist nicht wirklich gut. Das siehst Du schon an deinem ersten Problem...
btw. wäre mehr code hilfreicher...
HPR1974 ist offline  
Alt 14.04.2008, 08:29  
Neuer Benutzer
 
Registriert seit: 14.04.2008
Beiträge: 18
PhilCGN befindet sich auf einem aufstrebenden Ast
Standard

Hier die Gesamte Abfrage:
PHP-Code:
//Abfrage Mitarbeiter-Nr.
$anfrage "SELECT maNR FROM t16 WHERE wochentag='Montag' ORDER BY maNR ASC";
$ergebnis mysql_query($anfrage);
while(
$row=mysql_fetch_object($ergebnis))
{
$maNR=$row->maNR ;

// Anzahl der Arbeitsstunden /pro woche / Je MA
 
for($u=700;$u<=1845;$u++)
 {
 if(
$u<1000){ $var='z0'.$u; }
 else{ 
$var='z'.$u; }

$varK=substr($var,-2,2);
 if(
$varK=='00'||$varK=='15'||$varK=='30'||$varK=='45')
 {

$sqlA "SELECT $var FROM t16 WHERE $var='1' AND ma=$maNR AND wochentag='Montag'";
$resultA mysql_query($sqlA);
while(
$row=mysql_fetch_object($resultA))
{
$var=$row->$var;
echo 
$var.'<br>';
}

}
}


Geändert von drieling (14.04.2008 um 20:10 Uhr). Grund: PHP Tags hinzugefügt. Bitte beim nächsten mal dran denken ;)
PhilCGN ist offline  
 


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
[Erledigt] probleme for bzw while phpmax PHP Tipps 2008 13 24.05.2008 21:12
While schleife -> letzter durchgang Skazi PHP Tipps 2006 7 16.09.2006 00:11
Problem mit while schleife obi PHP Tipps 2006 6 31.08.2006 13:40
mysql_query verschmelzen zweier abfragen (while schleife) Buschdieb PHP Tipps 2006 10 15.07.2006 17:11
while Schleife gibt nicht alle Daten aus PHP Tipps 2006 2 12.01.2006 19:24
[Erledigt] While schleife in while schleife = nur ein datensatz?! PHP Tipps 2005-2 9 28.10.2005 12:48
ohne While Schleife test022 PHP Tipps 2005-2 9 23.09.2005 19:08
while schleife in einer while schleife beim tmpl-sys PHP Tipps 2005-2 0 27.07.2005 15:07
While Schleife Beatbox Off-Topic Diskussionen 8 19.05.2005 21:55
while schleife beenden PHP Tipps 2005 3 29.03.2005 20:35
IF ELSEIF ELSEIF ELSE mit While Schleife PHP Tipps 2005 9 04.03.2005 23:27
Variabel aus while schleife ausserhalb der schleife nutzen PHP Tipps 2005 8 12.02.2005 18:04
resultausgabe mit while schleife in pdf dokument PHP Tipps 2004 2 23.09.2004 14:56
Nach while Schleife funzt nix mehr?! PHP Tipps 2004 15 25.08.2004 00:25
[Erledigt] probleme mit ner while schleife PHP Tipps 2004 5 23.07.2004 17:28

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
while schleife zählen, php while schleife zählen, while zählen, while schleife pro seite, php ausgabe abfrage while schleife zählen, php datensätze while zählen, row einer while schleife zählen, php ausgabe in while schleife zählen, schleifendurchläufe zählen, php schleife verschieden hochzählen, schleifendurchlauf zählen, php schleife verschiedene ausgaben zählen, php while ausgaben zählen, php while schleifendurchläufe zählen db abfrage, mysql php datensätze in schleife zählen, ergebnisse in while schleife zählen, php ergebnisse einer while-schleife zählen, http://www.php.de/php-tipps-2008/888-erledigt-zaehlen-innerhalb-der-while-schleife.html, php while ausgabe zählen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:28 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