Datenbank – die neusten Beiträge

Php array Werte zuordnen?

Hallo ich hätte noch eine kurze Frage:

Ich habe eine JSON Ausgabe (siehe Bild1), in der jedem Tag gemessene Werte zum Schlaf angelegt sind. Jetzt möchte ich jedem Tag (["date"], in gelb markiert, die drei jeweiligen Messwerte ["wakeupcount"], ["total_timeinbed"] und ["total_sleep_time"] (in rot markiert) zuordnen. Das "date" habe ich als array angelegt. Die drei Messwerte sind jedoch "objects". Nachdem ich die Messwerte ausgelesen habe, möchte ich diese in meiner Datenbank entsprechend anlegen (letzter Teil meines Codes).

Bild 1:

Dazu verwende ich folgenden Code (Zur besseren Übersicht habe ich dieses mal nur den [wakeupcount] Messwert in den Code gepackt):

{
    $sleepanalyzer_sum_result = array();


    foreach ($sleepanalyzer_sum_data->body->series as $serie) {
        $sleepanalyzer_sum_result[$serie->date] = $measure;
        $sleepanalyzer_sum_result[$serie->data->wakeupcount] = $wakeupcount;


    }


    echo "<pre>";
    print_r($sleepanalyzer_sum_result);
    echo "</pre>";


    foreach ($sleepanalyzer_sum_result as $date => $measures) {


        $sleepanalyzer_sum_query .= "INSERT INTO sleepanalyzer_sum_measures SET
                wakeupcount ='" . $wakeupcount . "',
                measure_timestamp =  '" . $date . "'
                                ;";
    }
    echo "<pre>";
    echo $sleepanalyzer_sum_query;
    echo "</pre>";
}

Meine Ausgabe sieht folgendermaßen aus:

Dabei habe ich das Problem, dass die einzelnen Messwerte nun auch als array angelegt sind. Wie schaffe ich es, dass diese jedoch dem einzelnen Datum als object zugeordnet werden? Dadurch passiert auch beim Einlesen der Datenbank der Fehler, dass ich die richtigen Werte nicht den richtigen Begriffen in meiner Tabelle zuordnen kann.

Vielen Dank!

Bild zum Beitrag
Computer, Array, Datenbank, PHP

JSON Ausgabe in Datenbank übertragen?

Hallo, ich habe folgendes Anliegen:

Ich bekomme bestimmte Messwerte im JSON-Format über meinen Webserver ausgegeben (siehe Link: https://ibb.co/NrJHnR5). Aus der Kategorie "measures" möchte ich beispielsweise die Werte "value" und "unit" in meine Datenbank (HeidiSQL) übertragen und anzeigen lassen.

Meine Datenbank sieht folgendermaßen aus: https://ibb.co/zFh0GjM

Mein Quellcode:

$connect = new mysqli("db", "root", "example", "mydb"); //Connect PHP to MySQL Database
$query = '';
$table_data = '';
if (!$connect){
        echo "Fail: ", mysqli_connect_error();
    }else{
        echo"Verbindung steht!";
    }
$data = file_get_contents('https://f30d57b2dh91.ngrok.io/weight.php'); 
foreach ($data as $row) { //Extract the Array Values by using Foreach Loop
    $query .= "INSERT INTO User(value, unit) VALUES ('" . $row["value"] . "', '" . $row["unit"] . "'); "; // Make Multiple Insert Query
    $table_data .= '
            <tr>
       <td>' . $row["value"] . '</td>
       <td>' . $row["unit"] . '</td>
    
      </tr>
           '; //Data for display on Web page
}
if (mysqli_multi_query($connect, $query)) { //Run Mutliple Insert Query
    echo '<h3>Imported JSON Data</h3><br />';
}

Die Verbindung zur Datenbank habe ich bereits hergestellt und erfolgreich getestet (siehe nächster Link). Ich kriege jedoch eine Fehlermeldung bei dem "foreach" Befehl ausgegeben (siehe Link: https://ibb.co/NrdJFyz).

Hat jemand eine Idee woran das liegen könnte?

Vielen Dank!

Computer, Datenbank, JSON-Datei

PHP Login-System: Verschiedene User auf jeweiliges Skript?

Hey.

Ich hab auf meinem XAMPP Server eine Datenbank mit drei festen Usern. Diesen sind ein Nutzername/ID (z.B. 4644786744) und ein Passwort (z.B. 4vv41ge6w) zugewiesen.
In einer weiteren Datenbank stehen Datensätze mit Lizenzschlüsseln.

Nehmen wir an, es die Nutzer-IDs der User sind folgende:

ID von User-01: 64154186756
ID von User-02: 56416816489
ID von User-03: 47485694587

Angenommen, die Datenbank mit den Schlüsseln ist folgende:

LIZENZSCHLÜSSEL ID

v64v6d04s1vgb68rv 64154186756
b41aswgvb0n041nd4 64154186756
gbv145nj1r410ndss 64154186756
gvsagvb104gv84410 56416816489
w41fdw01scd485sw1 56416816489
gedavge68v1408041 47485694587

User-01 hat 3 Schlüssel. User-02 hat 2 Stück, und User-03 hat einen Lizenzschlüssel.

Meine Frage nun:

Ich möchte jetzt ein Login Formular haben, mit dem sich z.B. User-02 mit seiner ID als Nutzername und seinem Passwort als Passwort anmelden kann und so dann die zu ihm gehörigen Lizenzen einsehen kann.

Zu den drei Nutzern habe ich jeweils eine php-Datei. Führt man die Datei für User-03 aus, werden die dem User-03 zugewiesenen Lizenzen ausgegeben.

Wie schaffe ich es, dass wenn sich ein User anmeldet, dass das Skript dann auch auf "seine Datei" zugreift?

Ein bisschen Code wäre z.B. auch sehr hilfreich :)

Eine etwas längere Frage...
Aber vielen Dank für jede Antwort und Hilfe.

Computer, Technik, SQL, HTML, programmieren, Login, Datenbank, MySQL, PHP, Technologie, xampp

phpMyAdmin: Fehler bei der Konfiguration?

Moin zusammen,

nachdem ich XAMPP auf meinem Rechner neu eingerichtet habe, bekomme ich jetzt Fehlermeldungen bei phpMyAdmin:

Fehler: mysqli::query(): (HY000/1018): Verzeichnis von '.' nicht lesbar (Fehler: 13 &quot;Permission denied&quot;)

Logisch, der Fehler ist "offensichtlich", er kann ein Verzeichnis nicht lesen. Lese+Schreib-Rechte geben hab ich schon versucht.

Wenn ich auf den Link "Finden Sie heraus warum" gehe, gibt er mir die Möglichkeit, eine Datenbank anzulegen und die Konfigurationsspeicher-Tabellen einzurichten.

Wenn ich auf "anlegen" klicke, kommt eine weitere Fehlermeldung:

Die config.inc.php spuckt das hier aus:

$cfg['blowfish_secret'] = 'xampp'; /* YOU SHOULD CHANGE THIS FOR A MORE SECURE COOKIE AUTH! */

/**
 * Servers configuration
 */
$i = 0;

/**
 * First server
 */
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
/* Server parameters */
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = true;

/**
 * phpMyAdmin configuration storage settings.
 */

/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $cfg['Servers'][$i]['controlport'] = '';
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = '';

/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';

/**
 * End of servers configuration
 */

Heute Mittag hat alles noch wunderbar funktioniert. Ich hatte dann versucht, mit compose phpmailer zu installieren. Da bekam ich dann Probleme mit den Rechten bei den Ordnern (innerhalb von lampp) und hab da womöglich irgendwas kaputt gemacht und jetzt alles neu installiert mit dem Ergebnis, dass MySQL Probleme macht.

Weiß jemand Rat? ^^

Bild zum Beitrag
PC, Computer, Linux, Datenbank, MySQL, PHP, phpMyAdmin

C# Kann nicht auf MySql DB (phpMyAdmin) zugreifen?

Ich wollte ein C# Programm schreiben um meine MySql Datenbank zu testen.
Das Programm soll sich mit der DB verbinden und die Datenbank Einträge in eine DataGridView eintragen. Den Code habe ich von hier: https://www.youtube.com/watch?v=SZqIjaizkTM&ab_channel=mhluc%23 (habe ihn aber ein bisschen verändert)
Ich komme jedoch nicht in die Datenbank rein.

Es gibt Probleme bei dem Connection.OpenAsync()

Hier die Exception:

MySql.Data.MySqlClient.MySqlException
 HResult=0x80004005
 Nachricht = Unable to connect to any of the specified MySQL hosts.
 Quelle = MySql.Data
 Stapelüberwachung:
  at MySql.Data.MySqlClient.NativeDriver.Open()
  at MySql.Data.MySqlClient.Driver.Open()
  at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
  at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
  at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
  at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
  at MySql.Data.MySqlClient.MySqlPool.GetConnection()
  at MySql.Data.MySqlClient.MySqlConnection.Open()
  at System.Data.Common.DbConnection.OpenAsync(CancellationToken cancellationToken)
--- End of stack trace from previous location ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
  at VoidRaiderDB_Browser.MainWindow.<MenuStripItemClicked>d__3.MoveNext() in D:\Projects\VoidRaiderDB Browser\VoidRaiderDB Browser\MainWindow.cs:line 31

 Diese Ausnahme wurde ursprünglich von dieser Aufrufliste ausgelöst:
  [Externer Code]

Innere Ausnahme 1:
AggregateException: One or more errors occurred. (Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.)

Innere Ausnahme 2:
SocketException: Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.

glaube ich habe beim Connection String verkackt aber habe keine Ahnung was ich falsch gemacht habe..

Das Passwort/User-Name ist richtig da ich mit den auch in die phpMyAdmin Seite reinkomme

Bild zum Beitrag
Computer, Internet, Software, Technik, programmieren, C Sharp, Datenbank, Informatik, MySQL, Technologie, phpMyAdmin

HTML Formular Input in SQLite Datenbank speichern, (mit NodeJS) wie?

Hallo. Ich möchte den Input eines HTML-Formulars mit Hilfe von Node in eine SQLite Datenbank einfügen.

Mein index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hello world!</title>
    <script src="sqlite.js"></script>
</head>
<body>

    <form action="/team_name_url/" method="post">
        <label for="team_name">Enter name: </label>
        <input id="team_name" type="text" name="name_field" value="Default name for team.">
        <input type="submit" value="OK">
    </form>

</body>
</html>

Mein sqlite.js:

const sqlite3 = require('sqlite3');
const db = new sqlite3.Database('./sqlite.db');

let express = require('express');
let app = express();
const bodyParser= require('body-parser');


app.use(bodyParser.urlencoded({extended:true}));

app.post('/',(req,res)=>{
let placeName = req.body.PlaceName; 
});


db.run(`INSERT INTO places (id, name, coords) VALUES(4, ${placeName}, '1234, 5678');`, function(err) {
    if (err) {
        return console.log(err.message);
    }

    console.log(`A row has been inserted with rowid ${this.lastID}`);


});

db.close();
SQL, HTML, programmieren, JavaScript, Datenbank, SQLite, node.js, node

CSV Datei in Php als Tabelle ausgeben?

Hallo, bin ziemlich neu in Php und will ein Programm erstellen, wo man eine Tablle mit Produktgruppe, Datum und Umsatz einliest und das Programm das automatisch als Graphische Tabelle ausgibt, zudem soll das Datum in 4 Quartale sortiert werden.

Ist keine Hausaufgabe!!

Bin noch nicht so weit gekommen:

CSV-Datei:

produktgruppe,datum,umsatz
Tee,01.01.2020,0.76
Kosmetik,01.01.2020,21.65
Tee,02.01.2020,10.10
Gewürze,02.01.2020,18.53
Gewürze,02.01.2020,40.71
Gewürze,02.01.2020,39.06
Kosmetik,02.01.2020,1.65
Tee,03.01.2020,38.03
Kerzen,03.01.2020,41.99
Geschenkkörbe,04.01.2020,13.92
Gewürze,05.01.2020,28.27
Gewürze,05.01.2020,19.84
Kerzen,05.01.2020,19.81
Kerzen,05.01.2020,19.57
Kerzen,05.01.2020,49.97
Kerzen,05.01.2020,14.06
Tee,06.01.2020,42.28
Gewürze,06.01.2020,20.44
Kosmetik,06.01.2020,4.62
Gewürze,07.01.2020,1.28
Kosmetik,07.01.2020,12.46
Gewürze,08.01.2020,9.20
Tee,09.01.2020,32.47
Tee,09.01.2020,4.23
Gewürze,09.01.2020,0.79
Kerzen,09.01.2020,2.97
Kosmetik,09.01.2020,43.68
Kosmetik,10.01.2020,21.67
Kosmetik,10.01.2020,6.44
Tee,12.01.2020,15.09

Vorhandener Programmcode:

print "<table border = 3 cellpadding = 5>";


        foreach($rows as $artikel){
            foreach($artikel as $index=>$wert){
                /* if($zahl % 3){ */
                    /* print "<tr>"; */
                    /* print "$wert<br>"; */
                    print "<th width = 100 align = right bgcolor = green>$wert</th>";
                    /* print "</tr>"; */
                /* }else{
                    print "<br>";
                } */
            }        
        }


    print "</table>";   

Wie es in ca. ausschauen soll:

Da bei mir das ganze leider nicht wie geplant funkt, bin ich nun auf eure Hilfe angewiesen, vielleicht, hat jemand eine Idee?

Lg

Bild zum Beitrag
Computer, Microsoft Excel, programmieren, Java, Datenbank, Informatik, PHP, Tabelle, CSV-Datei

3. Normalform Datenbank?

Guten Morgen,

ich habe eine Frage zu einer Datenbank-Übung, die ich gerade mache. Es geht darum, die Daten bis zur 3. NF zu untersuchen.

"Die Betriebsleitung beauftragt dich, die Verwaltung des Personals zu digitalisieren. Folgende Daten der Mitarbeiter werden erhoben: Vorname, Nachname, Geburtsdatum, Geschlecht, Wohnadresse, Anstellungsdatum, Gehaltsstufe, Abteilung, alle Gehälter mit Angabe des Datums der Auszahlungender Gehälter mit Gehaltsbetrag. Es soll möglich sein, die Karriere des Mitarbeiters in den Abteilungen, in denen er gearbeitet hat, zu verfolgen (mit Beginn des Abteilungswechsels)."

Mitarbeiter

Mitarbeiter_ID - PRIMARY KEY
Vorname
Nachname
Geburtsdatum
Geschlecht
PLZ
ORT
Straße
Hausnummer
Abteilung
Gehaltsstufe - FOREIGN KEY (Gehaltsstufe)
Datum_Auszahlung

Gehalt

Gehaltsstufe - PRIMARY KEY
Gehalt

Ist es richtig, dass es sich hierbei um eine 1 zu n Beziehung handelt?
1 Mitarbeiter hat 1 Gehalt.
1 Gehalt wird an n Mitarbeitern vergeben.

Ich glaube, dass ich die Normalisierung soweit richtig habe, bis auf das Attribut "Datum_Auszahlung".
Wäre es hier richtig, einen neuen Entitätstypen zu erstellen und Mitarbeiter_ID und Gehaltsstufe als Fremdschlüssel hinzuzufügen oder sollte man das Attribut entweder bei "Gehalt" oder "Mitarbeiter" hinzufügen?

Falls es noch andere Fehler in der Normalisierung gibt, wäre ich froh, wenn ich darüber informiert werde :).

Danke im Vorraus
Gruß Leyonad

Computer, Schule, Mathematik, Datenbank, Informatik, Entity-Relationship Model, normalisierung, Relation

Meistgelesene Beiträge zum Thema Datenbank