php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.04.2011, 15:37  
Neuer Benutzer
 
Registriert seit: 15.04.2011
Beiträge: 8
PHP-Kenntnisse:
Anfänger
MCBurner befindet sich auf einem aufstrebenden Ast
Standard MySQL Daten in bestimmte Zellen/Zeilen ausgeben

Hallo Leute.

Gleich vorweg: meine Erfahrung mit MySQL und PHP basiert größtenteils auf "learning by doing" viel Lesen und Googlen. Bei diesem Problem allerdings scheine ich sogar bei der Fragestellung und der Wahl des richtigen Suchworts ins Leere zu greifen.

Folgendes: ich habe eine MySQL Datenbank mit einer Tabelle. In dieser Tabelle werden drei Werte abgespeichert: ein Username, ein Wert X und die Kalenderwoche, in der der Wert berechnet wurde. Die Berechnung findet ein mal pro Woche statt, aber nicht für jeden User kommt dabei auch ein Wert für X heraus. Nun möchte ich aber eine sortierte Tabelle ausgeben in der ganz links die Usernamen untereinander sortiert stehen, und in den Spalten rechts daneben die Kalenderwochen (oben drüber als Spaltentitel). Und immer dann wenn es einen Wert für X gibt (also für die Woche und den User) soll er in der passenden Zelle stehen.

Hier mal exemplarisch die Art, wie die Daten in der MySQL Tabelle stehen:
"User 1";"0.01";"15-4-2011"
"User 2";"0.04";"15-4-2011"
"User 3";"0.03";"14-4-2011"
"User 3";"0.07";"15-4-2011"
"User 4";"0.02";"14-4-2011"
"User 4";"0.02";"15-4-2011"
"User 5";"0.02";"15-4-2011"
"User 6";"0.00";"14-4-2011"
"User 6";"0.00";"15-4-2011"

Ich kriegs' einfach nicht gebacken. Entweder fehlt mir da die Idee oder das Wissen um eines oder mehrere SQL Statements. Kann mir bitte jemand auf die Sprünge helfen? Stichworte bzw. Links zu passenden SQL Erklärungen würden mir vielleicht schon reichen.

Danke.
MCBurner ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 15.04.2011, 15:43  
Neuer Benutzer
 
Registriert seit: 15.04.2011
Beiträge: 8
PHP-Kenntnisse:
Anfänger
MCBurner befindet sich auf einem aufstrebenden Ast
Standard

Achso - vielleicht als sinnvolle Ergänzung: mit GROUP BY und mit verschachtelten SELECT Statements hab ichs schon versucht. Ich scheitere einfach immer wieder daran, das der Wert für X eben in der korrekten Zelle landen muss oder gegebenenfalls "0" oder eben nichts eingetragen wird. Irgendwie schwirrt mir da der Begriff "Matrix" im Kopf herum. Schiele ich da in die richtige Richtung?
MCBurner ist offline   Mit Zitat antworten
Alt 15.04.2011, 15:45  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

Hi.

Das Grundlagentutorial hier im Forum ist dafür das richtige. Eine ganz simple Abfrage köntne so aussehen:

PHP-Code:
<?php

$link 
mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'keine Verbindung möglich: ' mysql_error());
}

$sql mysql_query("SELECT * FROM meineTabelle ORDER BY username DESC");

echo 
"<table border=\"1\">";
echo 
"<tr><th>User</th><th>Wert</th><th>Datum</th></tr>";

While (
$row mysql_fetch_array($sql)){
 echo 
"<tr><td>".$row["userspalte"]."</td><td>".$row["berechneterWert"]."</td><td>".$row["meinDatum"]."</td></tr>";
}

echo 
"</table>";
?>
Meinst du sowas? Soll als einfaches Anschauungsbeispiel dienen. Wie sieht dein Versuch aus, oder verstehe ich Dich komplett falsch?!?

mfg Wolf29
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline   Mit Zitat antworten
Alt 15.04.2011, 15:52  
Neuer Benutzer
 
Registriert seit: 15.04.2011
Beiträge: 8
PHP-Kenntnisse:
Anfänger
MCBurner befindet sich auf einem aufstrebenden Ast
Standard

Nein - komplett falsch nicht Und großes Danke für die schnelle Reaktion.
Bei der vorgeschlagenen Lösung bin ich schon. Mir fehlt der "letzte Schliff".

Aber bevor ich mich durch falsche oder fehlende Begriffe verzettele - es soll halt irgendwann so aussehen:
Miniaturansicht angehängter Grafiken
mysql-daten-bestimmte-zellen-zeilen-ausgeben-mysql_problem.png  
MCBurner ist offline   Mit Zitat antworten
Alt 15.04.2011, 15:54  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

glaub ich nicht @wolf ...

so wie ich das verstanden habe, soll die Tabelle im Grunde so aussehen
Code:
User  Woche1 Woche2 Woche3 Woche4 .-... Woche20 Woche21 .. Woche52
heinz    +1                   +0.05       +0.1                           
berta            +0.1         +0.05                +1                 
fritz    +0.1    +0.05        +1          +0.1               +0.3
eventuell auch noch mit Minus-Werten ....
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 15.04.2011, 15:55  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Ich denke, er will so eine Tabelle:

Code:
      | Datum 1 | Datum 2 | Datum 3 | ...
User 1|   0.01  |         |  0.4    | ...
User 2|         |  0.03   |  0.3    | ...
edit: zu spät...
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 15.04.2011, 15:55  
Neuer Benutzer
 
Registriert seit: 15.04.2011
Beiträge: 8
PHP-Kenntnisse:
Anfänger
MCBurner befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von eagle275 Beitrag anzeigen
glaub ich nicht @wolf ...

so wie ich das verstanden habe, soll die Tabelle im Grunde so aussehen
Jup - exakt - siehe mein Bild oben. Negative Werte brauch ich aber nicht. Es sind immer Werte zwischen 0.00 und 01.00. Wie gesagt - problematisch ist das die Zelle immer passen muss.
MCBurner ist offline   Mit Zitat antworten
Alt 15.04.2011, 15:58  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

dann musst du die etwas umgestalten ..

erstelle die Tabelle über eine Schleife , und schau dabei jeweils ob es in Kalenderwoche X einen Datenbank-Eintrag für User y gibt

die schleife muss aber in jedem fall immer die einzelnen Tabellenspalten ausgeben - der "Datenwert" in einer Spalte ist dann entweder "&nbsp;" , wenn kein Eintrag in der Datenbank existiert - oder dieser Datenbank-Wert
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 15.04.2011, 16:02  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

@eagle275: Jo, beim erneuten rüberlesen fiel es mir dann auch auf! Sollte langsam Feierabend machen...wenn man(n) nur noch einzelne Wörter aus dem Text bewußt wahr nimmt und nicht mehr das Ganze als solches!

mfg Wolf29
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline   Mit Zitat antworten
Alt 15.04.2011, 16:19  
Neuer Benutzer
 
Registriert seit: 15.04.2011
Beiträge: 8
PHP-Kenntnisse:
Anfänger
MCBurner befindet sich auf einem aufstrebenden Ast
Standard

Hm.... ich glaub' ich werd mal bissel "frecher" im Sinne von "fordernder".
Mein Quellcode sieht derzeit so aus:

Code:
$hole_namen = mysql_query("SELECT username FROM tabelle1
						GROUP BY username ORDER BY username ASC");
while($row2 = mysql_fetch_array($hole_namen))
{
	echo '<br>'.$row2['username'];
	$hole_daten = mysql_query("SELECT week,valuex FROM tabelle1
						WHERE username = '$row2[username]' ORDER BY week ASC");
	while($row3 = mysql_fetch_array($hole_daten))
	{
	echo $row3['week'].$row3['valuex'];
	}
}
Was dabei herauskommt ist natürlich keine Tabelle. Die Elemente hab ich jetzt mal rausgelassen. Was aber dabei herauskommt ist dicht dran am Gewollten: eine Liste in der untereinander die Namen stehen, und rechts daneben immer die Werte für die Woche. Nur: wie krieg ichs denn hin, das wenn es keinen Wert gibt - da 0 steht? Statt garnix? Ich seh vermutlich den Wald vor lauter Bäumen nicht. Ich versuchs grad mit ner zusätlichen IF Kontrolle....

Achso - während die User sich ändern, und auch nicht immer ein Wert für X da ist - eines ist immer vorhanden: die Woche. Vermutlich muss ich da ansetzen.

Geändert von MCBurner (15.04.2011 um 16:24 Uhr).
MCBurner ist offline   Mit Zitat antworten
Antwort


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] Daten in MYSQL schreiben Desty PHP Tipps 2010 11 30.09.2010 11:23
mySQL Tabelle ausgeben und Tabellendarstellung je nach Inhalt anpassen Hoffi PHP Tipps 2010 10 26.07.2010 23:00
Array nur bestimmte Stelle ausgeben rolloff PHP Tipps 2010 2 16.07.2010 16:52
[Erledigt] MySQL, Spalten umbenennen, was passiert mit Indexen und Daten? Donald Datenbanken 2 09.04.2010 12:42
[Erledigt] MySQL - Bestimmte Anzahl Daten pro Datensatz Delirius Datenbanken 11 27.02.2010 13:44
[Erledigt] Daten aus MySQL Datenbank lesen logicalmind PHP Tipps 2010 25 10.02.2010 22:36
Nach Formularabfrage bestimmte Daten ausgeben Gravenstein PHP Tipps 2009 7 15.11.2009 20:51
ausgeben von mehreren tabellen mysql SpecialFighter PHP Tipps 2009 9 15.10.2009 18:41
[Erledigt] Bestimmte Daten aus MySQL Tabelle mit vorhergehendem Ergebnis auslesen ? kreativepassion PHP Tipps 2009 6 13.06.2009 13:35
Serverumzug - Problem mit MySQL Daten [GE]ReeN Datenbanken 6 28.03.2006 17:02
MySQL Daten in sichtbarer Tabelle ausgeben PHP Tipps 2006 6 14.03.2006 14:33
nur bestimmte anzahl an daten per mysql auslesen PHP Tipps 2005 4 13.05.2005 15:45
Mysql daten in Selct element einfügen PHP Tipps 2005 4 08.03.2005 17:44
Mysql daten in Selct element einfügen PHP Tipps 2005 5 08.03.2005 16:48
Nur bestimmte daten aus einer tabelle auslesen. Datenbanken 15 28.02.2005 12:49

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
bestimmte zeilen aus datenbank ausgeben, php mysql bestimmte zeilen ausgeben, mysql tabellennamen ausgeben und zeilen, mysql nur bestimmte spalten ausgeben, mysql werte in bestimmter zelle anzeigen, php mysql bestimmte zeile ausgeben, php sql einzelne zelle, mysql bestimmte splaten mit php ausgeben, php sql 1 zelle ausgeben, php myql tabelle zeilenanhah, werte eine bestimmte zelle sql, bestimmte zelle in sql mit php ausgeben, einzelne zellen aus ergebnistabelle sql, sql alle zeilen mit bestimmten wert in spalte anzeigen, sql einzelne spalten anzeigen, mysql nur bestimmte datensätze ausgeben, sql jahr kalenderwochen 2010 in eine tabelle einfügen, bestimmte gruppe aus einer tabelle anzeigen sql php, tabelle php mysql links nach recht, sql bestimmte werte aus einer zelle anzeigen

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