PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Checkbox in Tabellen einfügen und in DB speichern! (http://www.selfphp.de/forum/showthread.php?t=22498)

computerpap 28.11.2009 00:25:20

Checkbox in Tabellen einfügen und in DB speichern!
 
Hallo PHP-Freunde
Ich bräuchte mal wieder eure Hilfe.
Ich habe ein Formular, indem ich verschiedene Daten eingebe und in eine DB speichere.
Diese Daten kann ich auslesen und laß sie in einer Tabelle anzeigen. Bis hierher hab ich dank des Forums keine Probleme.
Nun möchte ich aber, wenn ich die Tabelle aufrufe, dass ich noch eine Spalte pro Datensatz extra angezeigt bekomme, in der eine Checkbox enthalten ist.
Da ist mein erstes Problem, die Spalte erzeugen ist klar, aber wie bekomme ich für jeden Datensatz der Tabelle eine Checkbox eingefügt.
Das zweite Problem wäre dann, dass der Zustand der Checkbox dauerhaft gespeichert wird, also die die aktiviert sind, sollen beim nächsten Aufruf der Tabelle auch wieder aktiviert sein.
Hoffentlich hab ich es einigermaßen plausibel erklärt. Um es vielleicht besser zu verstehen, noch folgende Erklärung:
Hinter jedem Datensatz verbirgt sich eine Arbeit die ich ausführen muß, und ich möchte für jede erledigte Arbeit ein "Häckchen" in der Checkbox setzen.
Ich bräuchte erstmal einen Lösungsansatz wie sowas zu programmieren ist.
Danke für eure Hilfe.

MfG
computerpap

vt1816 28.11.2009 02:17:18

AW: Checkbox in Tabellen einfügen und in DB speichern!
 
Tabelle bereits vorhanden?

Ja - eine Feld hinzufügen (ALTER TABLE ...) zur Speicherung des Zustandes aus der Checkbox
Nein - Tabellenstruktur so anlegen, dass besagtes Feld gleich mit angelegt wird.

Noch Fragen?

computerpap 28.11.2009 11:39:09

AW: Checkbox in Tabellen einfügen und in DB speichern!
 
Also die Datenbanktabelle ist bereits vorhanden. Da müßte ich ja darin nur noch das Feld für den Wert der Checkbox anlegen (muß das Datentyp Bool sein?).
Was ich nicht verstehe ist, wie die Checkbox dann selber in die HTML-Tabelle kommen soll, sobald ich einen neuen Datensatz in die DB schreibe, wird dieser ja auch automatisch in der HTML-Tabelle ausgegeben.

computerpap 28.11.2009 12:50:21

AW: Checkbox in Tabellen einfügen und in DB speichern!
 
Die Checkboxen hab ich nun in der HTML-Tabelle drin, wie aber speichere ich deren Wert in meiner Datenbank?
Hab mal noch nen Bild angehängt!

PHP-Code:

  <body>
Batterien
<br>

<br>
<?php
error_reporting
(E_ALL);
// Verbindungs-Objekt samt Zugangsdaten festlegen
@$db = new mysqli('localhost''root''''anlagen');

// Verbindung ÃƒÆ’¼berprüfen
if (mysqli_connect_errno()) {
  
printf("Verbindung fehlgeschlagen: %s\n"mysqli_connect_error());
  exit();
}
// Tabellenkopf
echo "
<table>
<thead>
<td>Anlagenname</td>
<td>Kostenstelle</td>
<td>Pufferbatterie</td>
<td>Lagernummer</td>
<td>Wechselmonat</td>
<td>erledigt</td>
</thead>
"
;

// Datensatz-Ausgabe festlegen
$sql_befehl "SELECT * FROM anlage";

if (
$resultat $db->query($sql_befehl)) {  
  
// Durchlaufen der Datenbankabfrage
  
while($datensatz $resultat->fetch_array() ){
    
// Datenfelder ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Å“ Inhalte extrahieren und
    // als Variablen zur Verfügung stellen
    
extract($datensatz);
    
// Tabelleninhalt
    
echo "
    <tr>
    
    <td>$anlagenname</td>
    <td>$kostenstelle</td>
    <td>$pufferbatterie</td>
    <td>$lagernr</td>
    <td>$wechselmonat</td>
    <td><form action='batteriewechsel.php' method=post>
    <input type='checkbox' name='zutat' value=''>
    </form>
    </td>
    </tr>
    "
;
  }
  
// Speicher freigeben
  
$resultat->close();  
} else {
  
// Meldung bei Fehlschlag
  
echo "Zugriff fehlgeschlagen!";
}

// Tabellenende
echo "</table>";


$db->close();    
?>

  
  </body>
</html>


vt1816 28.11.2009 14:13:38

AW: Checkbox in Tabellen einfügen und in DB speichern!
 
Zitat:

Zitat von computerpap (Beitrag 132730)
Also die Datenbanktabelle ist bereits vorhanden. Da müßte ich ja darin nur noch das Feld für den Wert der Checkbox anlegen [...]

Ja - richtig.


Zitat:

Zitat von computerpap (Beitrag 132730)
[...] (muß das Datentyp Bool sein?).

Nein - ist nicht zwingend erfoderlich, es geht auch INT oder CHAR, hängt ganz von Deiner Verarbeitung ab.



Zitat:

Zitat von computerpap (Beitrag 132731)
Die Checkboxen hab ich nun in der HTML-Tabelle drin, wie aber speichere ich deren Wert in meiner Datenbank?

In dem Du aus Deiner jetzigen Ausgabe (in Tabellenform) ein Formular machst.


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:06:55 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.