Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

PHP, CSS und JavaScript lernen. Anwendungen für Webseiten
Sky-Kay
Mitglied (Level 3)
Mitglied (Level 3)
Beiträge: 28
Registriert: Mi 3. Aug 2022, 12:02

Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

Ungelesener Beitrag von Sky-Kay »

Hallo zusammen ^^

ich habe mir ausm Download-Archiv folgende Datei zum Testen heruntergeladen..
21 2017-11-21-mysql_datenbank.zip

Datenbank ist angelegt, habe das ganze ein bisschen um gebastelt ^^

Daten.- Eintragen, Suchen und bearbeiten funktioniert :tu:

Beim aufrufen der Nachrichten [auslesen.php] bekomme ich eine Fehlermeldung :confused:

Code: Alles auswählen

Deprecated: ctype_digit(): Argument of type int will be interpreted as string in the future in /..link/auslesen.php on line 52
hier noch der code

Code: Alles auswählen

<!DOCTYPE html>
<html lang="de">
 <head>
  <meta charset="UTF-8">
  <title>Nachrichten</title>

  <style>
  body {
   font-family: Verdana, Arial, Sans-Serif;
   background-color: Whitesmoke;
  }

  a:link, a:visited {
   color: Royalblue;
   text-decoration: None;
  }
  </style>

 </head>
<body>

<nav>
 <u>Nachrichten</u> |
 <span onClick="window.location.href='eintragen.php';"
style="cursor:pointer">Eintragen</span> |
 <span onClick="window.location.href='bearbeiten.php';"
style="cursor:pointer">Bearbeiten</span> |
 <span onClick="window.location.href='suchen.php';"
style="cursor:pointer">Suchen</span> |
</nav><br>
<hr>
<?php
// Verbindung zur Datenbank aufbauen
include "verbinden.php";

// Anzahl der Datensätze (Nachrichten) pro Seite
$DatensaetzeSeite = 13;

// Anzahl der Datensätze ermitteln
$AnzahlDatensaetze = $db->query("SELECT COUNT(*) FROM `nachrichtdb` WHERE `anzeige` = '1'")->fetchColumn(0);

// Sind Datensätze vorhanden?
if ($AnzahlDatensaetze > 0) {

 // Die Anzahl der Seiten ermitteln
 $AnzahlSeiten = ceil($AnzahlDatensaetze / $DatensaetzeSeite);

 // Die aktuelle Seite ermitteln
 $AktuelleSeite = isset($_GET["seite"]) ? $_GET["seite"] : 1;

 // Den Wert überprüfen und ggf. ändern
 $AktuelleSeite = ctype_digit($AktuelleSeite) ? $AktuelleSeite : 1;
 $AktuelleSeite = $AktuelleSeite < 1 || $AktuelleSeite > $AnzahlSeiten ? 1 : $AktuelleSeite;

 // Den Versatz ermitteln
 $Versatz = $AktuelleSeite * $DatensaetzeSeite - $DatensaetzeSeite;
 
 // Alle Datensätze auslesen die in der DB-Spalte `anzeige` den Wert 1 haben.
 // Mit LIMIT die Ausgabe der Datensätze begrenzen (Versatz und Datensätze pro Seite).
 $select = $db->prepare("SELECT `id`, `datum`, `titel`, `autor`, `gang`, `regal`, `fach`, `nachricht`
                         FROM `nachrichtdb`
                         WHERE `anzeige` = '1'
                         ORDER BY `datum` DESC
                         LIMIT :versatz, :DatensaetzeSeite");
 $select->bindParam(':versatz', $Versatz, PDO::PARAM_INT);
 $select->bindParam(':DatensaetzeSeite', $DatensaetzeSeite, PDO::PARAM_INT);
 $select->execute();
 $nachrichten = $select->fetchAll();

 // Formular.- und Blätterfunktion (Wer sich da auskennt bekommt einen Preis verliehen ;)
 echo '<form action="auslesen.php" method="GET" autocomplete="off">' . 
  (($AktuelleSeite - 1) > 0 ?
    '<a href="?seite=' . ($AktuelleSeite - 1) . '">&#9668;</a>' :
    ' &#9668;') .
 ' <label>Seite <input type="text" value="' . $AktuelleSeite . '" name="seite" size="3"' .
 ' title="Seitenzahl eingeben und die Eingabetaste drücken."> von ' . $AnzahlSeiten . '</label>' .
  (($AktuelleSeite + 1) <= $AnzahlSeiten ?
    ' <a href="?seite=' . ($AktuelleSeite + 1) . '">&#9658;</a>' :
    ' &#9658;') .
 '</form>';

 // Ausgabe über eine Foreach-Schleife
 foreach ($nachrichten as $nachricht) {
  // Mit sscanf() wird das Format des Datums in die Variablen $jahr, $monat und $tag extrahiert.
  sscanf($nachricht['datum'], "%4s-%2s-%2s", $jahr, $monat, $tag);

  echo '<p><small>' . $tag . '.' . $monat . '.' . $jahr .
   '</small> - <b><em>' . $nachricht['titel'] . '</em></b>' .
   ' Autor: ' . $nachricht['autor'] . '<br>' .
   ' Gang: ' . $nachricht['gang'] . '<br>' .
   ' Regal: ' . $nachricht['regal'] . '<br>' .
   ' Fach: ' . $nachricht['fach'] . '<br>' .
   ' Nachricht: ' . $nachricht['nachricht'] . '</p>';
 }

}
else {
 echo '<p>Keine Nachrichten vorhanden!</p>';
}
?>

</body>
</html>
Ich sehe den Fehler nicht :confused:
Grüssle
Kay

Wenn ich wüsste wie es Funktioniert, dann könnte ich auch Besser helfen
Klaus
Supporter
Supporter
Beiträge: 439
Registriert: Mi 21. Jul 2021, 00:43

Re: Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

Ungelesener Beitrag von Klaus »

Sieh aus als ob Du schon PHP 8.1+ verwendest, dafür wären aber künftig Anpassungen am Skript notwendig.
(Die Warnung kann man ggf. aber abschalten.)

https://www.php.net/manual/de/function.ctype-digit.php
Sky-Kay
Mitglied (Level 3)
Mitglied (Level 3)
Beiträge: 28
Registriert: Mi 3. Aug 2022, 12:02

Re: Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

Ungelesener Beitrag von Sky-Kay »

Danke Klaus :tu:

der Test-Link war schon auf PHP 8.1.9 :/ hab mal zum Test ohne was im Code zu ändern auf 8.0.22 umgestellt ^^
Dann hab ich keine Fehlermeldung mehr.

Aber...

irgendwann ist ja auch php 8.0.. veraltet :(

Muss dann der komplette Code umgeschrieben werden? oder reicht hier die Änderung?
und wie würde die Änderung dann ausschauen? *LiebSchau*

Code: Alles auswählen

 // Den Wert überprüfen und ggf. ändern
 $AktuelleSeite = ctype_digit($AktuelleSeite) ? $AktuelleSeite : 1;
 $AktuelleSeite = $AktuelleSeite < 1 || $AktuelleSeite > $AnzahlSeiten ? 1 : $AktuelleSeite;
Grüssle
Kay

Wenn ich wüsste wie es Funktioniert, dann könnte ich auch Besser helfen
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

Ungelesener Beitrag von Tommy Herrmann »

Ja klar,

Werner hat ja immer und immer wieder alle seine Skripte den neueren PHP-Versionen angepasst. Das muss man leider, denn manche Befehle werden entfernt und andere kommen hinzu.

Wir können nur hoffen, dass Werner doch wieder die Lust packt und er noch eine Zeit weiter macht. Das ist natürlich auch sehr nervig all die Hunderten von Anwendungen immer auf dem neuesten Stand zu halten.

Erst vor 2 Tagen hatte mir Werner 32 angepasste Anwendungen geschickt, leider ist diese nicht dabei gewesen.

Vielleicht liest Werner das ja hier und wahrscheinlich hat er bereits eine angepasste Version, denn meine Version aus dem "Download-Archiv" meiner Seite, ist noch aus dem Jahr 2017. Selbst verwendet habe ich in meiner alten Software "NOF" ("NetObjects Fusion") sogar eine Version aus dem Jahr 2014, bei der der PHP-Code noch ganz anders geschrieben ist. Ich habe jetzt auch nicht ständig alle Versionen neu herunter geladen und eingebaut, denn der direkte Einbau in eine Anwendung wie "NOF" oder "Mobirise" macht ja auch einen Haufen Arbeit.

Grundsätzlich sollte man aber, gerade bei PHP, nun nicht immer sofort und gleich die allerneueste Version verwenden, sondern eher ein paar Jahre warten.

Viele Software-Firmen sind genau daran schon gescheitert, wie z.B. "NOF". Da geht fast keine PHP Komponente heute mehr.

... und genau deshalb verwendet Mobirise überhaupt kein PHP. Das ist sehr arbeitsintensiv und muss ständig gepflegt werden und das kostet dann richtig viel Geld.
Klaus
Supporter
Supporter
Beiträge: 439
Registriert: Mi 21. Jul 2021, 00:43

Re: Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

Ungelesener Beitrag von Klaus »

Im einfachsten Fall (bei einer Seitennummer die über GET "reinkommt") reicht ein Cast auf String, hab aber jetzt nicht das komplette Skript durchgesehen.

Code: Alles auswählen

$AktuelleSeite = ctype_digit((string)$AktuelleSeite) ? $AktuelleSeite : 1;
Sky-Kay
Mitglied (Level 3)
Mitglied (Level 3)
Beiträge: 28
Registriert: Mi 3. Aug 2022, 12:02

Re: Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

Ungelesener Beitrag von Sky-Kay »

Klaus hat geschrieben: Do 11. Aug 2022, 19:57 Im einfachsten Fall (bei einer Seitennummer die über GET "reinkommt") reicht ein Cast auf String, hab aber jetzt nicht das komplette Skript durchgesehen.

Code: Alles auswählen

$AktuelleSeite = ctype_digit((string)$AktuelleSeite) ? $AktuelleSeite : 1;
Danke erstmal Klaus, werde es mal in Ruhe testen :tu:

Was anderes, was aber mit diesem Skript zusammen hängt.

Ich will die suchen.php mit der ausgabe (Anzeigen) etwas anpassen, aber ich hänge da sehr fest :'(
Jetzt meine frage, kann es hier behandelt werden oder soll ich ein Neues Thema erstellen?
Grüssle
Kay

Wenn ich wüsste wie es Funktioniert, dann könnte ich auch Besser helfen
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

Ungelesener Beitrag von Tommy Herrmann »

ja klar, schreibe hier weiter.
Sky-Kay
Mitglied (Level 3)
Mitglied (Level 3)
Beiträge: 28
Registriert: Mi 3. Aug 2022, 12:02

Re: Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

Ungelesener Beitrag von Sky-Kay »

okay :)


In der anlegen.php sind ja folgende Punkte die Angelegt werden (abgeändert)...

Code: Alles auswählen

            `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
            `titel` VARCHAR(80) NOT NULL,
            `autor` varchar(30) NOT NULL,
            `gang` INT(3) NOT NULL,
            `regal` INT(2) NOT NULL, 
            `fach` INT(2) NOT NULL,         
            `nachricht` TEXT NOT NULL,
            `anzeige` TINYINT(1) NOT NULL,
            `datum` DATE NOT NULL
Dies würde ich nun um einen Punkt erweitern

Code: Alles auswählen

`table1` TINYINT(1) NOT NULL,
Ist das die Richtige Formatierung?

Um eine <table> Tabelleninhalt </table> einer `id` zuzuordnen.
Ist das so eigentlich umsetzbar?

2. Punkt
suchen.php

hier sollen über echo teile der Datenbank in verschiedenen Bereiche der Seite (Grids) ausgegeben werden
FertigNachUmbau1.jpg
Da wenn ich jetzt auf suchen klicke, bekomme ich ja diese Ausgabe..
12_Eintäge.jpg
Danke schonmal, wenn ich was Nachreichen soll bitte melden.
Grüssle
Kay

Wenn ich wüsste wie es Funktioniert, dann könnte ich auch Besser helfen
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

Ungelesener Beitrag von Werner-Zenk.de »

Hallo Sky-Kay,
zu Punkt 1, was soll in dieser Spalte `table1` gespeichert werden und wird es auch eine Spalte mit `table2` und `table3` geben, das wäre dann definitiv falsch.
Eine Spalte würde ich nie den Namen `table` geben, wenn dann mal mehrere DB-Tabellen in MySQL ausgelesen werden sollen, ergibt das nur ein Chaos bei der Programmierung.

Zu Punkt 2 hast du ja das richtige Stichwort bereits genannt (Grids), du musst deine Ausgabe mit CSS als Grid formatieren: https://developer.mozilla.org/de/docs/Web/CSS/grid bzw. https://www.w3schools.com/css/css_grid.asp
oder meinst du eine HTML-Tabelle damit?
Sky-Kay
Mitglied (Level 3)
Mitglied (Level 3)
Beiträge: 28
Registriert: Mi 3. Aug 2022, 12:02

Re: Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

Ungelesener Beitrag von Sky-Kay »

Hallo Werner :)

wegen Punkt 1
Mein Gedanke ist das jeweils eine Tabelle (siehe Punkt 2) der 'id' zugeordnet wird.

Zu Punkt 2
Hier mal die Seite die ich da gebastelt habe..
Wenn Werner gesucht wird hat Werner seine Tabelle, wenn Tommy gesucht wird hat er seine Tabebelle usw.

Code: Alles auswählen

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Nachrichten</title>
<script src="js/jquery-1.5.2.min.js"></script>
<script src="js/script.js"></script>

<style>
.grid-container {
	display: grid;
	grid-template-rows: 100px 100px 100px;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	grid-gap: 1px;
	grid-template-areas:
	"area1 area1 area1 area1 area1"
	"area2 area2 area3 area3 area3"
	"area4 area4 area3 area3 area3"
	"area4 area4 area3 area3 area3"
	"area4 area4 area5 area5 area5"
	"area4 area4 area5 area5 area5"
	"area4 area4 area5 area5 area5";
}
.grid-item1 {
	background: Whitesmoke;
	text-align: center;
	border: black 0.5px solid;
	grid-area: area1;
}
.grid-item2 {
	background: Whitesmoke;
	text-align: center;
	border: black 1px solid;
	grid-area: area2;
}
.grid-item3 {
	background: Whitesmoke;
	text-align: center;
	border: black 1px solid;
	grid-area: area3;
}

.grid-item4 {
	background: Whitesmoke;
	text-align: center;
	border: black 1px solid;
	grid-area: area4;
}
.grid-item5 {
	background: Whitesmoke;
	text-align: center;
	border: black 1px solid;
	grid-area: area5;
}
body {
   font-family: Verdana, Arial, Sans-Serif;
   background-color: Whitesmoke;
  }

td {
   border-collapse: collapse;
   background: Whitesmoke; 
   cursor: pointer;
   border: black 0.5px solid; 
   padding: 0px 
  }

</style>

</head>

<body>


<div class="grid-container">
  <div class="grid-item1">
  <nav>
 			<u>Suchen</u> |
 			<span onClick="window.location.href='eintragen.php';"
			style="cursor:pointer">Eintragen</span> |
 			<span onClick="window.location.href='bearbeiten.php';"
			style="cursor:pointer">Bearbeiten</span> |
 			<span onClick="window.location.href='auslesen.php';"
			style="cursor:pointer">Nachrichten</span> |
	</nav>
</div>

  <div class="grid-item2"></div>
  
  <div class="grid-item3">Leihen/Rückgabe<br>
<table border="1">
        <tr>
            <th id="A"> Titel/Tag </th>
            <th id="B"> Montag </th>
            <th id="C"> Dienstag </th>
            <th id="D"> Mittwoch </th>
        </tr>
        <tr id="aa" onMouseOver="hor_ein('aa');" onMouseOut="hor_aus('aa');">
            <th onMouseOver="ver_ein('A');" onMouseOut="ver_aus('A');"> Werner </th>
            <td onMouseOver="ver_ein('B');" onMouseOut="ver_aus('B');"> </td>
            <td onMouseOver="ver_ein('C');" onMouseOut="ver_aus('C');"> </td>
            <td onMouseOver="ver_ein('D');" onMouseOut="ver_aus('D');"> </td>
        </tr>
        <tr id="bb" onMouseOver="hor_ein('bb');" onMouseOut="hor_aus('bb');">
            <th onMouseOver="ver_ein('A');" onMouseOut="ver_aus('A');"> Kay </th>
            <td onMouseOver="ver_ein('B');" onMouseOut="ver_aus('B');"> </td>
            <td onMouseOver="ver_ein('C');" onMouseOut="ver_aus('C');"> </td>
            <td onMouseOver="ver_ein('D');" onMouseOut="ver_aus('D');"> </td>
        </tr>
        <tr id="cc" onMouseOver="hor_ein('cc');" onMouseOut="hor_aus('cc');">
            <th onMouseOver="ver_ein('A');" onMouseOut="ver_aus('A');"> Tommy </th>
            <td onMouseOver="ver_ein('B');" onMouseOut="ver_aus('B');"> </td>
            <td onMouseOver="ver_ein('C');" onMouseOut="ver_aus('C');"> </td>
            <td onMouseOver="ver_ein('D');" onMouseOut="ver_aus('D');"> </td>
        </tr>
    </table>
<br>
<form method="post">
    <input name="Submit2" type="submit" value="Speichern" /></form>
    
	</div>
	
  		<div class="grid-item4"></div>
  		
  		<div class="grid-item5">Nachrichten<br>
  		  <form method="post">
			  <input name="Text1" type="text" />
		  </form>
			  <input name="Submit1" type="submit" value="Speichern" /><br>
	</div>
  

</div>
</body>
</html>
Wenn damit gemeint ist ob es eine HTML-Tabelle ist, dann ja.
Grüssle
Kay

Wenn ich wüsste wie es Funktioniert, dann könnte ich auch Besser helfen
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

Ungelesener Beitrag von Tommy Herrmann »

Moin Kay,

ich befürchte, dass ich Dir bei Deinen Datenbank-Dingen mit SQL und auch mit PHP nicht ausreichend helfen kann.

Ich habe mir aber dennoch Deine HTML-Tabelle mal angeguckt:

https://www.mobirise-tutorials.com/Test ... /grid.html

(wird wieder gelöscht)

... und verstehe eigentlich jetzt noch gar nicht, was wir dazu beitragen könnten oder sollen. Es ist ja immer schön und interessant, wenn Dinge selbst entwickelt werden - aber um was geht es Dir eigentlich?

Eine solche Tabelle ist meist schwierig einzusetzen, da diese nicht ausreichend responsive ist - Deine schon gar nicht.

Deswegen erwähnte Werner sicher auch den Einsatz von CSS-Grid, das ich mal vor langer Zeit hier ausprobiert hatte:

https://www.mobirise-tutorials.com/Test ... lumns.html

... aber auch das ist recht "schwierig" was die responsiven Eigenschaften angeht :crying:

Suchen kannst Du doch z.B. total simple auch schon in der Standard-Tabelle von Mobirise, die ich z.B. hier einsetze um einige meiner Tutorials zu suchen und zu finden:

https://www.mobirise-tutorials.com/Tutorial-Links/
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

Ungelesener Beitrag von Tommy Herrmann »

Wäre nicht für Deine Zwecke überhaupt die Anwendung "MySQL Nachrichten" vom Werner viel richtiger?

Hier stelle ich diese vor:

https://www.mobirise-tutorials.com/News/

... ich hätte da auch noch eine neuere Version vom November 2021 im Archiv, die ich aber erst hochladen müsste und selbst nicht getestet habe.

Da kannst Du von vornherein nach Kategorien sortieren und auch suchen.
Sky-Kay
Mitglied (Level 3)
Mitglied (Level 3)
Beiträge: 28
Registriert: Mi 3. Aug 2022, 12:02

Re: Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

Ungelesener Beitrag von Sky-Kay »

Tommy Herrmann hat geschrieben: Sa 13. Aug 2022, 08:01 Moin Kay,

Ich habe mir aber dennoch Deine HTML-Tabelle mal angeguckt:

https://www.mobirise-tutorials.com/Test ... /grid.html

(wird wieder gelöscht)

... und verstehe eigentlich jetzt noch gar nicht, was wir dazu beitragen könnten oder sollen. Es ist ja immer schön und interessant, wenn Dinge selbst entwickelt werden - aber um was geht es Dir eigentlich?
hatte das JavaScript vergessen zu posten, sonst Funktioniert die Tabelle ja nicht ;) js/script.js

Code: Alles auswählen

// JavaScript Document

//Tabelle
$(function() {
	$('td').toggle(function() {
		$(this).css('background', 'red');
	}, function() {
		$(this).css('background', 'green');
	}, function() {
		$(this).css('background', 'yellow');
	}, function() {
		$(this).css('background', 'Whitesmoke');
	});
});

function hor_ein(x) {
 document.getElementById(x).style.backgroundColor="#FFFF8C";
}

function hor_aus(x) {
 document.getElementById(x).style.backgroundColor="transparent";
}

function ver_ein(x) {
 document.getElementById(x).style.backgroundColor="#FFFF8C";
}

function ver_aus(x) {
 document.getElementById(x).style.backgroundColor="transparent";
}
Bei den Feldern der Tabelle kann man die Farbe ändern 1. click grün, 2. click rot und 3. click gelb.

Wenn ich nun php-coder suche und in der tabele bei werner alles auf grün klicke und speichern drücke, dann soll diese geklickte einstellung der 'id' php-coder zugeordnert/gespeichert werden.

wenn ich nun einen anderen titel suche, dann ist die Tabelle natürlich wieder leer ^^ da wurde ja noch nichts geklickt.
Grüssle
Kay

Wenn ich wüsste wie es Funktioniert, dann könnte ich auch Besser helfen
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

Ungelesener Beitrag von Werner-Zenk.de »

Hallo,
deine jQuery-Version stammt noch aus 2011, weg damit, es geht auch ohne!

Code: Alles auswählen

<!DOCTYPE html>
<html lang="de">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Nachrichten</title>

  <style>
    .grid-container {
      display: grid;
      grid-template-rows: 100px 100px 100px;
      grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
      grid-gap: 1px;
      grid-template-areas:
        "area1 area1 area1 area1 area1"
        "area2 area2 area3 area3 area3"
        "area4 area4 area3 area3 area3"
        "area4 area4 area3 area3 area3"
        "area4 area4 area5 area5 area5"
        "area4 area4 area5 area5 area5"
        "area4 area4 area5 area5 area5";
    }

    .grid-item1 {
      background: Whitesmoke;
      text-align: center;
      border: black 0.5px solid;
      grid-area: area1;
    }

    .grid-item2 {
      background: Whitesmoke;
      text-align: center;
      border: black 1px solid;
      grid-area: area2;
    }

    .grid-item3 {
      background: Whitesmoke;
      text-align: center;
      border: black 1px solid;
      grid-area: area3;
    }

    .grid-item4 {
      background: Whitesmoke;
      text-align: center;
      border: black 1px solid;
      grid-area: area4;
    }

    .grid-item5 {
      background: Whitesmoke;
      text-align: center;
      border: black 1px solid;
      grid-area: area5;
    }

    body {
      font-family: Verdana, Arial, Sans-Serif;
      background-color: Whitesmoke;
    }

    td {
      border-collapse: collapse;
      background: Whitesmoke;
      border: black 0.5px solid;
      padding: 0px
    }

    input[type=number] {
      width: 25px;
    }
  </style>

</head>

<body>


  <div class="grid-container">
    <div class="grid-item1">
      <nav>
        <u>Suchen</u> |
        <span onClick="window.location.href='eintragen.php';" style="cursor:pointer">Eintragen</span> |
        <span onClick="window.location.href='bearbeiten.php';" style="cursor:pointer">Bearbeiten</span> |
        <span onClick="window.location.href='auslesen.php';" style="cursor:pointer">Nachrichten</span> |
      </nav>
    </div>

    <div class="grid-item2"></div>

    <div class="grid-item3">Leihen/Rückgabe<br>

      <form method="post">

        <table border="1">
          <tr>
            <th> Titel/Tag </th>
            <th> Montag </th>
            <th> Dienstag </th>
            <th> Mittwoch </th>
          </tr>
          <tr>
            <th> Werner </th>
            <td> <input type="number" name="Werner|Montag" min="0" value="0" class="tag"> </td>
            <td> <input type="number" name="Werner|Dienstag" min="0" value="0" class="tag"> </td>
            <td> <input type="number" name="Werner|Mittwoch" min="0" value="0" class="tag"> </td>
          </tr>
          <tr>
            <th> Kay </th>
            <td> <input type="number" name="Kay|Montag" min="0" value="0" class="tag"> </td>
            <td> <input type="number" name="Kay|Dienstag" min="0" value="0" class="tag"> </td>
            <td> <input type="number" name="Kay|Mittwoch" min="0" value="0" class="tag"> </td>
          </tr>
          <tr>
            <th> Tommy </th>
            <td> <input type="number" name="Tommy|Montag" min="0" value="0" class="tag"> </td>
            <td> <input type="number" name="Tommy|Dienstag" min="0" value="0" class="tag"> </td>
            <td> <input type="number" name="Tommy|Mittwoch" min="0" value="0" class="tag"> </td>
          </tr>
        </table>

        <button type="submit" name="submit">Speichern</button>

      </form>

      <script>
        let tage = document.querySelectorAll(".tag");
        tage.forEach((tag) => {
          tag.addEventListener("click", (e) => {
            let wert = e.target.value;
            if (wert > 3) {
              wert = 0;
              e.target.value = wert;
            }
            farben = ["transparent", "red", "green", "yellow"];
            e.target.parentNode.style.backgroundColor = farben[wert];
          });
        });
      </script>

    </div>

    <?php
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
      if (isset($_POST["submit"])) {

        // Die Werte von Kay auslesen (bzw. in die DB schreiben)
        echo $_POST["Kay|Montag"] . '<br>' .
          $_POST["Kay|Dienstag"] . '<br>' .
          $_POST["Kay|Mittwoch"];
      }
    }
    ?>

</body>

</html>
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

Ungelesener Beitrag von Werner-Zenk.de »

grid-werner.php wäre besser geeignet :D
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

Ungelesener Beitrag von Tommy Herrmann »

oops :D

... sorry (habe es geändert) :verlegen:

Test-Anzeige nur für Kay:

Code: Alles auswählen

   <?php
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
      if (isset($_POST["submit"])) {

        // Die Werte von Kay auslesen (bzw. in die DB schreiben)
        echo $_POST["Kay|Montag"] . '<br>' .
          $_POST["Kay|Dienstag"] . '<br>' .
          $_POST["Kay|Mittwoch"];
      }
    }
    ?>
Sky-Kay
Mitglied (Level 3)
Mitglied (Level 3)
Beiträge: 28
Registriert: Mi 3. Aug 2022, 12:02

Re: Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

Ungelesener Beitrag von Sky-Kay »

Danke erstmal euch beiden :)

aber das mit dieser Auswahl 1,2,3,4 klick und Farbwechsel sieht nicht schön aus :/
kann man das ausblenden und nur durch klick ins Feld die Farbe wechseln, so wie ich es am Anfang hatte?
Grüssle
Kay

Wenn ich wüsste wie es Funktioniert, dann könnte ich auch Besser helfen
Sky-Kay
Mitglied (Level 3)
Mitglied (Level 3)
Beiträge: 28
Registriert: Mi 3. Aug 2022, 12:02

Re: Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

Ungelesener Beitrag von Sky-Kay »

Der neue code verzehrt es ein wenig, und grid-item4 und 5 fehlen?
Bild_2022-08-13_160419157.png
Grüssle
Kay

Wenn ich wüsste wie es Funktioniert, dann könnte ich auch Besser helfen
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Fehlermeldung beim Eintragen MySQL Datenbank vom 21.11.2017

Ungelesener Beitrag von Werner-Zenk.de »

Sky-Kay hat geschrieben: Sa 13. Aug 2022, 15:37 Danke erstmal euch beiden :)

aber das mit dieser Auswahl 1,2,3,4 klick und Farbwechsel sieht nicht schön aus :/
kann man das ausblenden und nur durch klick ins Feld die Farbe wechseln, so wie ich es am Anfang hatte?
Ich habe keine Ahnung, was du möchtest, sollen die angeklickten Werte denn nicht in der DB gespeichert werden? Das geht halt nur über einem Formular.

Mit ein wenig Änderung am CSS, sieht das jetzt so aus:
Screenshot 2022-08-13 173032.png
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste