php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.08.2010, 10:38  
Benutzer
 
Registriert seit: 15.05.2009
Beiträge: 66
PHP-Kenntnisse:
Anfänger
Micha72 befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] letzter Eintrag anhand Monatsspalte auslesen

Hallo zusammen,

ich steh schon wieder voll aufm Schlauch.

Ich möchte aus meiner Datenbank den letzten Eintrag anhand des Monats auslesen.

Meine Datenbank sieht so aus

besteht aus 6 Feldern, id, datum, ae,ab,umsatz,monat.

Die Einträge kommen täglich über eine andere Seite, die die Damen in der Buchhaltung ausfüllen.

Jetzt möchte ich zusaätzlich eine kleine Jahresübersicht. d.H. ich benötige jeweils nur den letzten Eintrag pro Monat aus der DB. Anhand der Monatsspalte, in der der Monat als Zahl hinterlegt ist, sollte dies möglich sein. aber wie

Hier ist mein Ansatz, der mir aber nur den wirklich ellerletzten Eintrag anzeigt.

PHP-Code:
<center>
<h3>Jahres &Uuml;bersicht</h3>
<?php
require("dbcon.php");
$abfrage "SELECT * FROM zahlen2 ORDER by monat DESC LIMIT 1";
$ergebnis mysql_query($abfrage);
?>
<table border="1">
<tr>
<th><?php echo date("Y"); ?></th><th>AE</th><th>AB</th><th>Umsatz</th>
</tr>
<?php
while($row mysql_fetch_object($ergebnis))
{
$monat $row->monat;
?>
<tr>
<td><?php echo date("F",mktime(0,0,0,$monat+1,0,$j)); ?></td>
<td><?php echo $row->ae?></td>
<td><?php echo $row->ab?></td>
<td><?php echo $row->umsatz?></td>
</tr>
<?php
}
?>
</table>
</center>
Kann mir bitte wer auf die Sprünge helfen?

Vielen Dank

Grüße

Micha
Micha72 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 31.08.2010, 11:18  
Benutzer
 
Registriert seit: 15.05.2009
Beiträge: 66
PHP-Kenntnisse:
Anfänger
Micha72 befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

Blind wie Nachbars Lumpi....

Ich habs selbst raus bekommen. Ich muss doch nur eine Gruppierung im SQL Statement angeben, dann klappts auch mitm Nachbarn.... *an den Kopf klatsch*

Sorry für das Thema.....

Hier der geänderte Code, falls noch jemand auf Schlauch steht:

PHP-Code:
<center>
<h3>Jahres &Uuml;bersicht</h3>
<?php
require("dbcon.php");
$abfrage "SELECT * FROM zahlen2 GROUP BY monat ";
$ergebnis mysql_query($abfrage);
?>
<table border="1">
<tr>
<th><?php echo date("Y"); ?></th><th>AE</th><th>AB</th><th>Umsatz</th>
</tr>
<?php
while($row mysql_fetch_object($ergebnis))
{
$monat $row->monat;
?>
<tr>
<td><?php echo date("F",mktime(0,0,0,$monat+1,0,$j)); ?></td>
<td><?php echo $row->ae?></td>
<td><?php echo $row->ab?></td>
<td><?php echo $row->umsatz?></td>
</tr>
<?php
}
?>
</table>
</center>
Grüße

Micha
Micha72 ist offline   Mit Zitat antworten
Alt 31.08.2010, 11:30  
Benutzer
 
Registriert seit: 15.05.2009
Beiträge: 66
PHP-Kenntnisse:
Anfänger
Micha72 befindet sich auf einem aufstrebenden Ast
Standard

Hallo nochmal,

so ganz wars das dann doch nicht.

Ich bekomme zwar die Monate gruppiert, aber er zeigt mir immer den ersten Eintrag des gruppierten Monats.

Ich brauche aber den letzten Eintrag dieser Gruppierung.

Kann mir vielleicht doch jemand helfen büdde....

Vielen Dank

Grüße

Micha
Micha72 ist offline   Mit Zitat antworten
Alt 31.08.2010, 12:58  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 3.891
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist ein sehr geschätzer Menschlstegelitz ist ein sehr geschätzer Menschlstegelitz ist ein sehr geschätzer Menschlstegelitz ist ein sehr geschätzer Mensch
Standard

Sortier halt so wie du es brauchst (nach Datum absteigend)
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 31.08.2010, 13:12  
Benutzer
 
Registriert seit: 15.05.2009
Beiträge: 66
PHP-Kenntnisse:
Anfänger
Micha72 befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

Danke für den Tip, das hatte ich auch schon versucht.

Allerdings nimmt er mir trotzdem noch irgendeinen Eintrag aus der Gruppe und nicht den wirklich letzten!

Ich habe momentan ca. 60 Einträge, davon sind 30 aus 07 (Juli) und 30 aus 08 (August).

Nun möchte ich eine Ausgabe, Gruppiert nach Monat und aus dieser Gruppierung dann den letzten Eintrag.

Bei mir wäre das Gruppe Juli (07) der 30.07.10 und Gruppe August (0 31.08.10.

Ich bekomm aber IMMER, egal wie ich sortiere irgendeinen Eintrag.

PHP-Code:
<center>
<h3>Jahres &Uuml;bersicht</h3>
<?php
require("dbcon.php");
$abfrage "SELECT * FROM zahlen2 GROUP BY monat ORDER by Datum ASC";
$ergebnis mysql_query($abfrage);
?>
<table border="1">
<tr>
<th><?php echo date("Y"); ?></th><th>AE</th><th>AB</th><th>Umsatz</th>
</tr>
<?php
while($row mysql_fetch_object($ergebnis))
{
$monat $row->monat;
?>
<tr>
<td><?php echo $row->Datum?></td>
<td><?php echo $row->ae?></td>
<td><?php echo $row->ab?></td>
<td><?php echo $row->umsatz?></td>
</tr>
<?php
}
?>
</table>
</center>
Was mach ich den falsch?

Habs auch schon mit max(Datum) as datum versucht, aber da bekomme ich die Fehlermeldung das er das query nicht auflösen kann.

Vielen Dank für Eure Hilfe

Grüße

Micha
Micha72 ist offline   Mit Zitat antworten
Alt 31.08.2010, 13:23  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 3.891
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist ein sehr geschätzer Menschlstegelitz ist ein sehr geschätzer Menschlstegelitz ist ein sehr geschätzer Menschlstegelitz ist ein sehr geschätzer Mensch
Standard

Was heisst "der letzte Eintrag" denn?

Den "ersten" oder "letzten" kannst du nur bestimmen, wenn du eine Sortierung vornimmst.
Der letzte Eintrag bei Sortierung nach Datum muss nicht zwangsläufig auch der letzte Eintrag sein, wenn man nach ID sortiert (oder einem anderen Feld).

Wähle die (für dich) korrekte Sortierung
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 31.08.2010, 13:50  
Benutzer
 
Registriert seit: 15.05.2009
Beiträge: 66
PHP-Kenntnisse:
Anfänger
Micha72 befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

ich versuchs nochmal zu erklären.

Ich habe in der Tabelle zahlen2 ca. 60 Einträge.

30 Einträge haben in der Spalte Monat eine 7 stehen und weitere 30 Einträge haben in der Saplte Monat eine 8 stehen.

Nun würde ich gerne eine kumulierte Ausgabe haben wollen.

Und zwar so, das die 60 Einträge nach Monat Gruppiert werden, und aus dieser Gruppierung möchte ich den jüngsten Eintrag, also das höchste Datum, oder die höchste id.

Wenn ich so
PHP-Code:
SELECT FROM zahlen GROUP BY monat ORDER BY Datum DESC 
sortiere, erhalte ich zwar wie gewünscht 2 Ergebnisse (eins für Monat = 7 und eins für Monat = , aber die beiden Einträge selbst sind dann vom 02.08.10 und 01.07.10.

Ich möchte aber die beiden Einträge 31.08.10 und 30.07.10.

Das ganze ist eine Übersicht der Buchhaltung für Auftragseingänge, Auftragsbestand und Umsatz. Eine tägliche Übersicht mit den letzten 10 Einträgen bekommen die Damen schon, nun ist aber Quasi eine Jahresübersicht gewünscht, wo immer der letzte Eintrag eines Monats angezeigt wird, denn die Zahlen, die dort eingetragen werden, sind eh schon kumuliert, d.H. am letzten Tag des Monats (falls kein Wochenende, sonst Freitags) werden die Zahlen dem Chef übermittelt und ab dem 01.des folgemonats gehts wieder bei 0 los.

Ich hoffe ich konnte nun etwas Licht ins dunkle bringen, ansonsten kann ich nur noch anbieten eine Teamviewer Session, oder Datnbank zippen und uploaden....

Ich bedanke mich schonmal.

Grüße

Micha
Micha72 ist offline   Mit Zitat antworten
Alt 31.08.2010, 14:21  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 3.891
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist ein sehr geschätzer Menschlstegelitz ist ein sehr geschätzer Menschlstegelitz ist ein sehr geschätzer Menschlstegelitz ist ein sehr geschätzer Mensch
Standard

hm verstehe...
Wie wärs mit einem Subselect? Innen sortieren, aussen gruppieren, sowas in der Art:
Code:
SELECT * 
FROM 
  (SELECT 
       monat, datum, ... 
   ORDER BY datum ASC/DESC) AS t0 
GROUP BY monat
Bin nicht der SQL Profi, vielleicht gibts noch elegantere Wege?
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 31.08.2010, 14:49  
Benutzer
 
Registriert seit: 15.05.2009
Beiträge: 66
PHP-Kenntnisse:
Anfänger
Micha72 befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

so ähnlich hatte ich es schon versucht:

PHP-Code:
"select i.* from zahlen2 as i
            where i.Datum = (Select max(ij.Datum) from zahlen2 as ij where ij.id=i.id)
            group by i.monat"

Aber selbst dabei erhalte ich die beiden "falschen" einträge, nämlich wieder 02.08.10 und 01.07.10 anstatt 31.08.10 und 30.07.10.

Ich werd noch wahnsinnig....

Grüße

Micha
Micha72 ist offline   Mit Zitat antworten
Alt 31.08.2010, 15:10  
Benutzer
 
Registriert seit: 15.05.2009
Beiträge: 66
PHP-Kenntnisse:
Anfänger
Micha72 befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

ich habs endlich hin bekommen.

mein Select sieht jetzt so aus

PHP-Code:
select from (select from zahlen2 order by Datum desc) as zahlen2_sub group by monat 
ist zwar nicht viel anders wie der andere vom Sinn her, aber funzt perfekt.

Vielen Dank für die Hilfe

Grüße

Micha
Micha72 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] Primärschlüssel aus letzten eintrag in der DB auslesen Coke121 PHP Tipps 2010 5 16.03.2010 21:16
[Erledigt] Menü ein - und ausklappen abdullah JavaScript, Ajax und mehr 8 27.02.2010 23:54
[Erledigt] Durch einen DB Eintrag alle anderen Einträge bearbeiten Rutor PHP Tipps 2010 8 08.02.2010 13:25
2 <form> überschneiden sich... voda HTML, Usability und Barrierefreiheit 16 06.08.2009 11:35
gelöst: Tabelle auslesen -&amp;amp;amp;gt; Gleiche Einträge nur 1 Mal Datenbanken 3 31.03.2006 01:44
User_ID nach Eintrag auslesen Pimbolie1979 Datenbanken 2 14.03.2006 22:10
Mysql Eintrag über mehrere Zeielne Eintrag funzt nicht PHP Tipps 2006 3 14.03.2006 19:38
neuen eintrag auslesen moose PHP Tipps 2006 7 14.01.2006 21:55
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
PHP klappmenü PHP Tipps 2005-2 1 15.10.2005 00:31
Eintrag wird nicht eingetragen (Kontrollfunktion lügt?) PHP Tipps 2005-2 0 02.10.2005 12:00
Nächsten Eintrag in der mySQL DB auslesen Datenbanken 6 14.09.2005 13:24
Letzten Eintrag einer MySQL Tabelle auslesen PHP Tipps 2005-2 4 12.07.2005 12:23
auslesen und nochmals auslesen?! $$$ ThiKool $$$ PHP Tipps 2005 23 10.03.2005 19:43
Wie kann ich den lezten Eintrag wieder auslesen? Pimbolie1979 Datenbanken 7 19.08.2004 10:49

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
letzten eintrag, php letzter eintrag 1, letzte eintrag des monat mysql, php letzten datensatz einer spalte aislesen, letzter datensatz in db auslesen und nach sortierung id auslesen, mysql letzter eintrag eines monats, \sql daten anhand letzter is auslesen\, datenbank nach monat auslesen, php datenbank eintraege letzten 24 stunden, php sql einträge letzten monat monat, sql select daten liegen in monatssplaten vor, nur letzten datensatz aus dem ergebnis php, select umsatz nach monaten gruppiert php, mysql letzten \eintrag pro\ auslesen, sql monatsspalten, http://www.php.de/datenbanken/71335-erledigt-letzter-eintrag-anhand-monatsspalte-auslesen.html, require(\dbcon.php\);

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