php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.02.2010, 12:06  
Neuer Benutzer
 
Registriert seit: 26.02.2010
Beiträge: 7
PHP-Kenntnisse:
Anfänger
-tryphp- befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Datumsvergleich mit Anzahl ermittelter Datensätze

Hallo,

folgendes Problem:

In der Datenbank werden die Datensätze (ca. 1500) von einer CSV-Datei eingelesen. Das eingelesene Datum liegt in der CSV-Datei als Format TT.MM.JJJJ vor und wird in der Datenbank als Datenfeldtyp Text abgelegt.

Ich wandel das Datenbankdatum über explode und mktime in ein Timestamp um, genau wie das heutige Datum. Das Datenbankdatum liegt dann in einem Array. Dann soll ein Vergleich gemacht werden, wenn das Datenbankdatum größer oder gleich heutiges Datum ist, dann Datensätze anzeigen.

Das klappt auch soweit, nur möchte ich noch, dass die so ermittelte Anzahl der zutreffenden Datensätze angegeben wird – das klappt leider nicht.

PHP-Code:

PHP-Code:
<?PHP

*/

/* IP-Adresse oder Domain des Webservers */
$web_adr "xxxxxxx";

/* Definition für Kopf der HTML-Seite */
$cont_1 ="<html>
<head>
<title>Titel</title>
</head>
<body bgcolor='#FFF1C1'>
<font face='arial'>
<div align='center'><h2><font color='#00C000'>Insolvenzverfahren</font></h2>
<b><h3><font color='#FF0000'>Hinweis:</font> Die aktuellen Insolvenzf&auml;lle werden in absteigender Reihenfolge aufgelistet!</h3></b></div>"
;

/* Startzeit für Seitengenerierung festhalten */
$start_seite explode(" "microtime());
$start_seite $start_seite[0]+$start_seite[1];

/* Definition für die Tabelle und Tabellenkopf */
$cont_2 "<P></P>
<table width=100% border=2 bordercolor=#0000FF frame='box' rules='none' bgcolor=#FFF1C1>
<tbody>
"
;

/* Hinweistext Datenbestand für die letzte Tabellenzeile */
$cont_3 "<font color=#ff0000><b>Hinweis: </font>Der Datenbestand entspricht jeweils immer dem aktuellen Stand</b>";

/* Definition Tabellenende */
$cont_4 "</tbody>
</table>
"
;

/* Definition für eine neue Suchanfrage */
$cont_5 "<div align='center'><br><b><a href='Pfad zur Datei' Target='Mainpage'><font color='#0000FF'>Zur Insolvenz-Suchmaske</font></a> &nbsp; &nbsp; &nbsp; <a href='Pfad zur Datei' Target='Mainpage'><font color='#0000FF'>Auf aktuelle Insolvenzeinträge prüfen</font></a></b></div>";

/* Definition für Body- und Seitenende */
$cont_6 "</font></body>
</html>
"
;

/* Datenbank-Informationen */
$DBhost "ip";
$DBuser "username";
$DBpass "hier könnte ihr password stehen";
$DBname "Datenbankname";
$table "Tabelenname";

/* Verbindungsaufbau zur Datenbank und Test */
mysql_connect($DBhost,$DBuser,$DBpass) or die("Keine Verbindung zur Datenbank möglich!");
@
mysql_select_db($DBname) or die("Auswahl der Datenbank $DBname nicht möglich!");

/* Verbindungstest deaktiviert
$verbindungstest = connection_status();
echo "$verbindungstest <br>";

if($verbindungstest==0) {
echo "Verbindungstest OK!<br>";
}
else{
echo "Verbindungstest nicht OK!<br>";
}

*/

/* PHP-Info deaktiviert
phpinfo();
*/

echo $cont_1;

/* Datum vom Anmeldetermin in der Datenbank suchen */
$result mysql("$DBname","SELECT * FROM $table WHERE anmeldetermin
order by vorlage_jahr DESC, vorlage_monat DESC, vorlage_tag DESC"
);

/* Datum heute nach Timestamp */
$timestamp_heute time ();

/* Anzeige der gefundenen Datensätze */
echo "<b><div align='center'><font color='#FF0000'><font size='5'>";
echo 
"Aktuelle Insolvenzfälle: $num";
$num mysql_num_rows($result);
echo 
"</b></font></font></div>";

$i 0;

/* Datum der Datenbank für Berechnung und Vergleich in ein Timestamp zerlegen  */

while ($row mysql_fetch_assoc($result))
{
$datum_inso $row['anmeldetermin'];
$exp_insodatum explode ('.'$datum_inso);
$timestamp_inso mktime(0,0,0$exp_insodatum[1], $exp_insodatum[0], $exp_insodatum[2]);
if (
$timestamp_inso >= $timestamp_heute)
{
$i++;

/* Anzeigemaske für die einzelnen Datensätze */
echo $cont_2;
echo 
"<tr>";
echo 
"<td colspan=3 bgcolor='#FFFFCC' valign='top' align='center' style='font-weight:bold; color:#0000FF'><span>Aktenzeichen Amt für Finanzen:&nbsp;20/21/InsO-</span>";
echo 
$row['insolvenz_nr'];
echo 
"</td>";
echo 
"</tr>";

echo 
"<tr>";
echo 
"<td width=49% bgcolor='#FFCCCC' align='center'  style='font-weight:bold'><span>Insolvenzschuldner</span></td>";
echo 
"<td width=2%><span>&nbsp;</span></td>";
echo 
"<td width=49% align='center' bgcolor='#FFFFCC' style='font-weight:bold'><span>Insolvenzverwalter</span></td>";
echo 
"</tr>";

echo 
"<tr>";
echo 
"<td bgcolor='#FFCCCC' valign='top'><span>&nbsp;</span>";
echo 
$row['firma_schuldner'];
echo 
"</td>";
echo 
"<td><span>&nbsp;</span></td>";
echo 
"<td bgcolor='#FFFFCC' valign='top'><span>&nbsp;</span>";
echo 
$row['bezeichnung_verwalter'];
echo 
"</td>";
echo 
"</tr>";

echo 
"<tr>";
echo 
"<td bgcolor='#FFCCCC' valign='top'><span>&nbsp;</span>";
echo 
$row['vorname_schuldner'];
echo 
"&nbsp;";
echo 
$row['name_schuldner'];
echo 
"</td>";
echo 
"<td><span>&nbsp;</span></td>";
echo 
"<td bgcolor='#FFFFCC' valign='top'><span>&nbsp;</span>";
echo 
$row['vorname_verwalter'];
echo 
"&nbsp;";
echo 
$row['name_verwalter'];
echo 
"</td>";
echo 
"</tr>";

echo 
"<tr>";
echo 
"<td bgcolor='#FFCCCC' valign='top'><span>&nbsp;</span>";
echo 
$row['strasse_schuldner'];
echo 
"</td>";
echo 
"<td><span>&nbsp;</span></td>";
echo 
"<td bgcolor='#FFFFCC' valign='top'><span>&nbsp;</span>";
echo 
$row['strasse_verwalter'];
echo 
"</td>";
echo 
"</tr>";

echo 
"<tr>";
echo 
"<td bgcolor='#FFCCCC' valign='top'><span>&nbsp;</span>";
echo 
$row['plz_schuldner'];
echo 
"&nbsp;";
echo 
$row['ort_schuldner'];
echo 
"</td>";
echo 
"<td><span>&nbsp;</span></td>";
echo 
"<td bgcolor='#FFFFCC' valign='top'><span>&nbsp;</span>";
echo 
$row['plz_verwalter'];
echo 
"&nbsp;";
echo 
$row['ort_verwalter'];
echo 
"</td>";
echo 
"</tr>";

echo 
"<tr>";
echo 
"<td bgcolor='#FFCCCC' valign='top'><span>&nbsp;Geburtsname/-jahr:&nbsp;</span>";
echo 
$row['geburtsname_schuldner'];
echo 
"<br>";
echo 
"<span>&nbsp;Geburtsdatum:&nbsp;</span>";
echo 
$row['geburtsdatum_schuldner'];
echo 
"&nbsp;";
echo 
"<span style='font-size:7pt'>(Nur bei natürl. Personen)</span></td>";
echo 
"<td><span>&nbsp;</span></td>";
echo 
"<td bgcolor='#FFFFCC'><span>&nbsp;</span></td>";
echo 
"</tr>";

echo 
"<tr>";
echo 
"<td colspan=3><span>&nbsp;</span></td>";
echo 
"</tr>";

echo 
"<tr>";
echo 
"<td bgcolor='#CCFFCC' align='center' style='font-weight:bold'><span>Insolvenzgericht</span></td>";
echo 
"<td><span>&nbsp;</span></td>";
echo 
"<td bgcolor='#CCFFFF' align='center' style='font-weight:bold'><span>Vorlagetermin Kreiskasse</span></td>";
echo 
"</tr>";

echo 
"<tr>";
echo 
"<td bgcolor='#CCFFCC' valign='top'><span>&nbsp;</span>";
echo 
$row['insolvenzgericht'];
echo 
", Az.: ";
echo 
$row['akz_nr'];
echo 
"</td>";
echo 
"<td><span>&nbsp;</span></td>";
echo 
"<td bgcolor='#CCFFFF' valign='top' align='center'><span>&nbsp;</span></td>";
echo 
"</tr>";

echo 
"<tr>";
echo 
"<td bgcolor='#CCFFCC' valign='top'><span>&nbsp;Insolvenzeröffnung:&nbsp;</span>";
echo 
$row['insolvenzeroeffnung'];
echo 
"</td>";
echo 
"<td><span>&nbsp;</span></td>";
echo 
"<td bgcolor='#CCFFFF' valign='top' align='center' style='font-weight:bold; color:#FF0000'><span>&nbsp;</span>";
echo 
$row['vorlage_tag'];
echo 
".";
echo 
$row['vorlage_monat'];
echo 
".";
echo 
$row['vorlage_jahr'];
echo 
"</td>";
echo 
"</tr>";

echo 
"<tr>";
echo 
"<td bgcolor='#CCFFCC' valign='top'><span>&nbsp;Anmeldetermin:&nbsp;</span>";
echo 
$datum_inso;
echo 
"</td>";
echo 
"<td><span>&nbsp;</span></td>";
echo 
"<td bgcolor='#CCFFFF' valign='top'><span>&nbsp;</span></td>";
echo 
"</tr>";
}
}

echo 
"<tr><td colspan='3' bgcolor='#FFFFE0'>";
echo 
"<font color='#0000FF'><HR COLOR='#0000FF' size='3'></td></tr>";
echo 
"<tr><td colspan='3' bgcolor='#FFFFE0'>";
echo 
$cont_3;
echo 
"<font color='#0000FF'></td></tr>";

echo 
$cont_4;

echo 
$cont_5;

/* Seitengenerierung und Ausgabe */

$ende_seite explode(" "microtime());
$ende_seite $ende_seite[0]+$ende_seite[1];
$zeit_4 round($ende_seite-$start_seite,5);
echo 
"<b>";
echo 
"<br><br>Diese Seite wurde in <font color='#FF0000'>$zeit_4</font> Sekunden generiert.";

/* Datenbank schließen */
mysql_close();

if(
mysql_close)
  echo 
'<br><br>Die Verbindung zur Datenbank wurde wieder geschlossen!';
else
  echo 
'Konnte Verbindung zur Datenbank nicht schliessen! Bitte den Administrator benachrichtigen!';

echo 
"</b>";

/* Anzeige der gefundenen Datensätze */
echo "<b><div align='center'><font color='#FF0000'><font size='5'>";
echo 
"Aktuelle Insolvenzfälle: ".$i;
$num mysql_num_rows($result);
echo 
"</b></font></font></div>";

echo 
$cont_6;

?>
Danke für Hinweise und Denkanstöße

-tryphp-

Geändert von -tryphp- (26.02.2010 um 15:26 Uhr).
-tryphp- ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 26.02.2010, 12:22  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

Zitat:
Zitat von -tryphp- Beitrag anzeigen
TT.MM.JJJJ vor und wird in der Datenbank als Datenfeldtyp Text abgelegt.
IMHO solltest Du das schon mal ändern. Lege das Datum im Datumsformat ab und Du wirst es einfacher haben.
HPR1974 ist offline  
Alt 26.02.2010, 12:37  
Neuer Benutzer
 
Registriert seit: 26.02.2010
Beiträge: 7
PHP-Kenntnisse:
Anfänger
-tryphp- befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von HPR1974 Beitrag anzeigen
IMHO solltest Du das schon mal ändern. Lege das Datum im Datumsformat ab und Du wirst es einfacher haben.
Ich weiss, aber ich bekomme die CSV-Datei mit den aktualisierten Datensätzen sehr häufig. Und die, die diese Datei pflegen müssten das Datum konform eingeben bzw. umwandeln. Das ist aber ein Schritt der später kommen wird. Vorläufig muss es auf diese Methode funktionieren.
-tryphp- ist offline  
Alt 26.02.2010, 12:53  
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

Zitat:
Das klappt auch soweit, nur möchte ich noch, dass die so ermittelte Anzahl der zutreffenden Datensätze angegeben wird
Mitzählen und ausgeben?
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline  
Alt 26.02.2010, 13:00  
Benutzer
 
Registriert seit: 28.10.2008
Beiträge: 94
MCee Donald befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von lstegelitz Beitrag anzeigen
Mitzählen und ausgeben?

jap, genau!

PHP-Code:
while(DATEN AUS DB LESEN)
{
  if (
$DatenbankDatum >= $Heute)
  {
  
$i++
  .....
  }
}

echo 
"Anzahl: ".$i
MCee Donald ist offline  
Alt 26.02.2010, 13:05  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

Zitat:
Zitat von -tryphp- Beitrag anzeigen
Ich weiss, aber ich bekomme die CSV-Datei mit den aktualisierten Datensätzen sehr häufig. Und die, die diese Datei pflegen müssten das Datum konform eingeben bzw. umwandeln. Das ist aber ein Schritt der später kommen wird. Vorläufig muss es auf diese Methode funktionieren.
du kannst die Konvertierung doch im Importprozess vornehmen. Oder Du importierst eben als text fügst der tabelle eine extraspalte zu und wandelst das Datum dort rein und verwendest das dann
HPR1974 ist offline  
Alt 26.02.2010, 13:12  
Neuer Benutzer
 
Registriert seit: 26.02.2010
Beiträge: 7
PHP-Kenntnisse:
Anfänger
-tryphp- befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von HPR1974 Beitrag anzeigen
du kannst die Konvertierung doch im Importprozess vornehmen. Oder Du importierst eben als text fügst der tabelle eine extraspalte zu und wandelst das Datum dort rein und verwendest das dann
Aha, gut zu Wissen - danke. Aber das ist dann für Fortgeschrittene
-tryphp- ist offline  
Alt 26.02.2010, 13:19  
Neuer Benutzer
 
Registriert seit: 26.02.2010
Beiträge: 7
PHP-Kenntnisse:
Anfänger
-tryphp- befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MCee Donald Beitrag anzeigen
jap, genau!

PHP-Code:
while(DATEN AUS DB LESEN)
{
  if (
$DatenbankDatum >= $Heute)
  {
  
$i++
  .....
  }
}

echo 
"Anzahl: ".$i

Hatte ich schon probiert, aber es klappt irgendwie nicht. Es werden dann zwar die Datensätze ausgegeben die Fällig sind, aber die Anzahl erscheint nicht. Irgendwo ist von mir ein falscher Denkansatz drin - nur wo
-tryphp- ist offline  
Alt 26.02.2010, 13:24  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Hatte ich schon probiert, aber es klappt irgendwie nicht.
Also ich sehe oben nur nen Zähler. Ohne echo wird natürlich nichts ausgegeben. Ansonsten zeig uns bitte den Code Deines Versuchs.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 26.02.2010, 13:26  
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

"Es klappt nicht" ist keine ausreichende Fehlerbeschreibung.

Der Beispielcode dort oben ist 100% richtig. Poste deinen Code - den echten bitte, kein nachgetipptes Beispiel...
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz 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
ID der geänderten datensätze herrausfinden? DarkPrisma Datenbanken 4 08.09.2009 18:49
Datensätze mit bestimmten Wert in Datenbank zählen und ausgeben ?!?! kreativepassion PHP Tipps 2009 10 24.06.2009 21:17
Datensätze aus Datenbank in Flash auflisten beta02 JavaScript, Ajax und mehr 5 23.06.2009 16:03
[Erledigt] Fehlende Datensätze bei Ausgabe... Ramona86 Datenbanken 8 04.07.2008 12:12
[Erledigt] Falsche Anzahl der Datensätze wird ausgegeben noOx PHP Tipps 2008 10 30.06.2008 16:54
[Erledigt] Max Anzahl Checkboxen Hu5eL JavaScript, Ajax und mehr 2 25.06.2008 15:37
anzahl von datensätze anzeigen? PHP Tipps 2006 10 02.10.2006 14:52
Anzahl der Datensätze je Seite begrenzen Loenne PHP Tipps 2006 14 04.01.2006 16:02
[Erledigt] Anzahl der Datensätze bei abfrage Datenbanken 2 13.09.2005 16:16
Anzahl der Datensätze nach Selectabfrage PHP Tipps 2005 5 14.04.2005 21:04
Anzahl Datensätze in einer Tabelle PHP Tipps 2004 12 24.11.2004 11:45
[Erledigt] Anzahl der Datensätze nach der Abfrage bestimmen Datenbanken 7 10.11.2004 15:27
Anzahl der Datensätze aus mysql in PHP anzeigen. PHP Tipps 2004 6 20.10.2004 16:10
Anzahl der Datensätze mit gleicher ID ermitteln? PHP Tipps 2004 3 18.10.2004 20:08
[Erledigt] Anzahl Datensätze ausgeben mit Grafik Counter ?? PHP Tipps 2004 3 29.08.2004 22:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php datumsvergleich, mysql abfrage where datumsvergleich, php anzahl datensätze von heute, mysql datumsvergleich array, php datumsvergleich array, datumsvergleich php, php mysql selectabfrage mktime timestamp größer als, php while anzahl datensätze beschränken, insolvenzeinträge, php heutiges datum als timestamp

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