bUTschy.de

Suchen

Zeiterfassung

Mit Vanilla PHP und Legacy Code die SQLite Datenbank befragt und die sagt:

DatumStartEndePauseZeit
23.1008:0017:00608.0
24.1008:0017:00608.0
25.1008:0017:00608.0
26.1008:0017:00608.0
27.1008:0017:00608.0
Insgesamt: 40.0 Stunden.

Ternären Operator

Im Backend lese ich mir mit meinem PHP CRUD Script alle Artikel aus der Datenbank ein und gebe diese in einer Tabelle aus.

Status 1 2 3 Farben

Hier lasse ich mir unter anderem auch den Status der Artikel anzeigen. Je nach Status (1, 2 oder 3) wird die Zahl in einer anderen Farbe angezeigt.

IntlDateFormatter

Das Datum in der Datenbank liegt im Format 2023-03-19 07:18:22 vor.

Ein Code soll das Datum jetzt ohne Verwendung von setlocale so umwandeln, das es komplett in Deutsch zu so einer Ausgabe kommt.

Am Sonntag, den 19. März 2023 um 07:18 Uhr

Lieber Gott

Lieber lieber Gott, ich wünsche mir ein fettes Bankkonto und einen schlanken Körper. Und bitte, bring das nicht wieder durcheinander.

PHP Verbrauch und Kosten berechnen

Bisher speichere ich lediglich die Zählerstände $zaehler_neu und $zaehler_alt in der Datenbank und lasse PHP die Berechnung mit den vordefinierten Zahlen durchführen.

Nicht besonders elegant, aber es funktioniert zumindest schon mal.

$preis_kwh = '0.25';
$gebuehr   = '5.19';
$abschlag  = '85.00';
$verbrauch = $zaehler_neu - $zaehler_alt;
$kosten    = $verbrauch * $preis_kwh + $gebuehr;
$differenz = $abschlag - $kosten;

Das Ergebnis lasse ich in eine Tabelle ausgeben:

SQL IN or NOT IN

Hey Datenbank, zeige mir nur die Daten mit der ID 6, 33 und der 47 an.

SELECT * FROM `daten` WHERE `id` IN (6,33,47)

Ne warte, anders herum...

SQL WHERE AND

Hey Datenbank, zeige mir bitte den Inhalt der ID 6 an, aber nur, wenn der "status" 1 ist.

SELECT * FROM `daten` WHERE `status`=1 AND `id`=6

Datenbank Abfrage mit zwei oder mehr Bedingungen.

NULL Datenbank

Der NULL Werte (nicht das Wort an sich) in einer SQL Datenbank ist ein Zeichen für schlechtes Datenbank-Design. Hier sollte ein adäquater Ersatz oder die leeren Zeichenfolge ' ' verwendet werden.

üöä-ÜÖÄ

ü -- Ü -- ö -- Ö -- ä -- Ä und er hier ß

Warum es mir wieder alle Umlaute in der Datenbank zerhaut ist mir ein Rätzel.

Update:  Mein PSPad war der Übeltäter.

utf8mb4

General error: 1366 Incorrect string value: '\xF0\x9F\x98\x81'

Nach dem ich den charset für meine Datenbankverbindung von utf8 auf utf8mb4 umgestellt habe, kann ich jetzt Unicode in meine Datenbank schreiben, ohne diese Fehlermeldung da oben. ?

Alle IP´s löschen

Jeder Kommentar in einem Artikel auf dieser Homepage beinhaltet auch die IP des Kommentierenden.

Will ich nach einer bestimmten Zeit diese IP´s aus allen bisherigen Kommentaren entfernen, führe ich in phpMyAdmin diesen SQL-Befehl in meiner Datenbank aus:

UPDATE kommentare SET kom_ip = ' ';

PHP Mini PDO CRUD

Diese kleine Datenbank besteht aus nur einer einzigen Datei (index.php) in der wird alles gesteuert und sieht momentan so aus.

Lust zu Basteln ? dann lade dir das Script hier runter und mach es Schick, Schlank, Sicher, nur lass es in einer einzigen Datei, alles andere gibt es schon in Geiler ;)

NOT NULL DEFAULT

Wenn nun in der Datenbank-Tabelle:

`hits` int(11) NOT NULL DEFAULT '0',

Und im Script:

$hits = isset($_POST['hits']) ? trim($_POST['hits']) : 0;

Dann schreibt er auch eine 0 ?

Micro SD Karten Speedtest

Ich habe mal alle meine acht Micro SD-Karten einem Geschwindigkeitstest unterzogen.

Für den Speedtest habe ich auf das alt bewerte Programm H2testw (v1.4) von Heise zurückgegriffen und hier nun die Ergebnisse.

  • 32GB (10) Transcend - Schlüsselbund
  • Schreibrate: 18,2 MByte/s
  • Leserate: 18,4 MByte/s

4CMS Passwörter

Wo wir gerade bei Sicherheit sind, ich habe hier im 4CMS eben mein Passwort in "demo" geändert und in der Datenbank sieht das Passwort "natürlich verschlüsselt (nicht mit md5 / sha1)" so aus:

$2y$10$JJbolR9cjToadUN87Mop0eEhjdq.Hm4/xzwG.4e7KnzVezYsW5.kG

Jetzt ändere ich das Passwort erneut und nenne es wieder einfach nur "demo" und speichere es ab und jetzt achtet mal auf den Hash:

COUNT und GROUP BY

Für eine Top 5 Liste brauche ich nur ein COUNT(*) und GROUP BY() an die Datenbank senden.

SELECT `buser`, COUNT(*) AS `zahl` FROM `box` GROUP BY `buser` ORDER BY `zahl` DESC LIMIT 5

Und schon habe ich die Top 5 Einträge und die Summe deren Einträge in einer Liste.

Hab ich in der Form schon für einige Blöck gebraucht.

Ein Forum

Ein einfaches kleines PHP Forum Modul wollte gebaut werden.

So schnappe ich mir eines meiner Content-Module, bediene mich an den Kommentar-Funktionalitäten des Artikel-Moduls und Clone die Datenbank-Tabelle vom Box-Modul (die besteht ja auch nur aus einer Tabelle) Tätäää... das kleinste und sicherste PDO Forum der Welt ist fertig.

SpyCam Power-Bank

Hier nun ein Testvideo meiner Spy Power Bank.

So eine Motion-Control Aufnahme ist immer 3 Minuten lang und hat dabei eine Grösse von etwa 175 MB im *.avi Format.

Spy Power Bank

Der Uwe hat mir mal wieder was zum Spielen hier gelassen, eine 3000mAh Power Bank mit versteckter HD 720p Kamera.

Power Bank DVR Kamera

Im Standby können mit aktivierter Bewegungserkennung bis zu 48 Stunden aufgenommen und in kleine 3 Minuten AVI´s (H.264) auf eine bis zu 32 GB große Micro SD-Karte gespeichert werden.

Ich berichte in den Kommentaren.

Ein Box-Block

Die neusten bzw. letzten Einträge aus einer SQL Datenbank.

SELECT * FROM `daten` ORDER BY `id` DESC LIMIT 3

Zufall aus der Datenbank

Einen zufälligen Eintrag aus der Datenbank auslesen.

SELECT `titel` FROM `tabelle` ORDER BY RAND() LIMIT 1

Schon schlimm wenn man das nur mit einer Funktion RAND() erledigen kann.

DELETE mit PDO

Einen Eintrag aus der SQL Datenbank löschen, die kürzest mögliche Schreibweise:

$stmt = $db->prepare('DELETE FROM `tabelle` WHERE `id` = :id');
$stmt->execute(array(':id' => $_GET['id']));

So verwende ich es hier im 4CMS.

config.php Nr. 2

Wir wollen eine Datenbank Verbindung mit einer MySQL-Datenbank herstellen.

Unsere Daten tragen wir hier ein:

define('DBTYPE','mysql');
define('DBHOST','localhost');
define('DBNAME','dein_datenbankname');
define('DBCHAR','utf8mb4');
define('DBUSER','dein_db_username');
define('DBPASS','dein_db_passwort');

Diese übergeben wir dann an unsere Verbindung:

Umlaute ÄÖÜäöü

Ich schreibe Umlaute mit TinyMCE und Tiny schreibt diese auch so in die Datenbank.

SQL RAND()

Einen zufälligen Datensatz mit RAND() aus der Datenbank holen.

SELECT `titel` FROM `daten` ORDER BY RAND() LIMIT 1

mySQL SUM

Klickt man hier auf einen der Artikel, wird dieser Klick in die Zelle aklicks in die Datenbank geschrieben und der Wert dort um einen erhöht.

if rowCount 0 else

Was ist, wenn es noch keinen Daten in der Datenbank gibt, muss man es Petzen ? Und wenn ja, wie ?

Tabelle kategorie

In phpMyAdmin die Datenbank auswählen in dem unsere Tabelle kategorie hinzugefügt werden soll

SQL -> SQL-Befehl(e) in Datenbank DEINEDATENBANK ausführen.