MySQL Daten in Array als Checkbox
wisler
- php
0 Steel0 wisler0 Steel0 Der Martin
0 ChrisB0 Tom
Hallo
Ich komme einfach nicht weiter.
Ich möchte in ein Formular dynamische Checkboxfelder erstellen und diese dann in einer Tabelle speichern.
Ich denke das ich das ganze mit einem array umsetzen kann.
include('connect.php');
$fehlerkategorie=array();
$abfrage9 = "SELECT * FROM auswahlfeld WHERE feldkennung = 'fehlerkategorie'";
$ergebnis9 = mysql_query($abfrage9);
while($row9 = mysql_fetch_object($ergebnis9))
{
$auswahl="<input type=\"checkbox\" name=\"$fehlerkategorie()\" value=\"1\">$row9->bezeichnung<br>";
echo "$auswahl";
//$fehlerkategorie[] = $row['bezeichnung'];
}
Die anzeige funktioniert auch, doch ich denke dass es nicht richtig ausgeführ wird.
Ich wollte auf der nächsten seite (wo später die Daten in die MySQL gespeichert werden) ausgeben.
print_r($fehlerkategorie);
Kann mir jemand sagen welchen fehler ich im array habe?
Danke.
lg.
Hi!
Kann mir jemand sagen welchen fehler ich im array habe?
Kannst Du den generierten HTML Code zeigen?
welchen HTMl-Code? Meinst du den?
<link rel="stylesheet" href="style.css" type="text/css">
<html>
<body>
<?php
include('ueberschrift.php');
?>
<div id="inhalt">
<?php
include('info.php');
echo "<form action=\"benutzer.php\" method=\"GET\">";
//enddatum festlegen
$tag=date("d");
$monat=date("m");
$jahr=date("Y");
echo "<h3>Enddatum:";
echo "<input type=\"text\" name=\"endtag\" value=\"$tag\" size=\"1\">.";
echo "<input type=\"text\" name=\"endmonat\" value=\"$monat\" size=\"1\">.";
echo "<input type=\"text\" name=\"endjahr\" value=\"$jahr\" size=\"2\"></h3>";
//dauerfeld !!! wird nun automatisch im cognos berechnet !!!
//echo "<h3>Dauer in Tagen:<input type=\"text\" name=\"dauer\" value=\"1\" size=\"2\"></h3>";
//Abschluss negativ oder Positiv 1=positiv, 2=negativ
echo "<h3>Abschluss: <input type=\"radio\" name=\"abschluss\" value=\"1\"> Positiv ";
echo " <input type=\"radio\" name=\"abschluss\" value=\"2\"> Negativ</h3>";
//Kostenmäßig erfasst 1=ja, 2=nein
echo "<h3>FM Kostenmäßig erfasst: <input type=\"radio\" name=\"kostenerfasst\" value=\"1\"> Ja ";
echo " <input type=\"radio\" name=\"kostenerfasst\" value=\"2\"> Nein</h3>";
//Eigenfehler oder Fremdfehler 1=eigenfehler, 2=fremdfehler
echo "<h3>Fehler: <input type=\"radio\" name=\"fehler\" value=\"1\"> Eigenfehler ";
echo " <input type=\"radio\" name=\"fehler\" value=\"2\"> Fremdfehler</h3>";
//Produkt 1=alt 2=neu
echo "<h3>Produkt: <input type=\"radio\" name=\"prodaltneu\" value=\"1\"> Alt ";
echo " <input type=\"radio\" name=\"prodaltneu\" value=\"2\"> Neu</h3>";
//FM Workshot 1=ja, 2=nein !!! gibts nimmer!!!
// echo "<h3>FM Workshop: <input type=\"radio\" name=\"workshop\" value=\"1\"> Ja ";
// echo " <input type=\"radio\" name=\"workshop\" value=\"2\"> Nein</h3>";
//fehlerkategorie, wird in eine getrennte tabelle geschrieben!
include('connect.php');
//$fehlerkategorie=array();
$abfrage9 = "SELECT * FROM auswahlfeld WHERE feldkennung = 'fehlerkategorie'";
$ergebnis9 = mysql_query($abfrage9);
while($row9 = mysql_fetch_object($ergebnis9))
{
$auswahl="<input type=\"checkbox\" name=\"$fehlerkategorie()\" value=\"1\">$row9->bezeichnung<br>";
echo "$auswahl";
//$fehlerkategorie[] = $row['bezeichnung'];
}
//print_r($fehlerkategorie);
//Sonderfreigabe 1=ja, 2=nein
echo "<h3>Sonderfreigabe: <input type=\"radio\" name=\"sonderfreigabe\" value=\"1\"> Ja ";
echo " <input type=\"radio\" name=\"sonderfreigabe\" value=\"2\"> Nein</h3>";
echo "<input type=\"hidden\" name=\"benutzer\" value=\"$_GET[benutzer]\">";
echo "<input type=\"hidden\" name=\"aktivitat\" value=\"fallschliesen\">";
echo "<input type=\"hidden\" name=\"fallnr\" value=\"$_GET[fallnr]\">";
echo "<input type=\"submit\" value=\"Fall Schließen\">";
echo "<input type=\"button\" value=\"Übersicht\" onclick=\"location='benutzer.php?benutzer=$_GET[benutzer]'\">";
echo "</form>";
?>
</div>
</body>
</html>
welchen HTMl-Code? Meinst du den?
Aeh. Nein.
Das ist php Code. Ich meine den HTML Code der letztlich an den Browser geschickt wird. Schau Dir den einfach mal an und Wenn Du da auch nichts siehst, was Dir auffaellt, poste den relevanten Teil hier.
Du generierst doch ein Formular, das nicht so funktioniert, wie gedacht. Also schau Dir erstmal das erstellte Formular an.
Merke: Ist der Code erst generiert, debugt es sich ganz ungeniert.
Grundlage für Zitat #1659.
Hallo,
welchen HTMl-Code? Meinst du den?
<link rel="stylesheet" href="style.css" type="text/css">
<html>
<body>
<?php
include('ueberschrift.php');
?><div id="inhalt">
<?php
include('info.php');
echo "<form action="benutzer.php" method="GET">";
//enddatum festlegen
$tag=date("d");
$monat=date("m");
$jahr=date("Y");
...
ist das etwa HTML-Code? Das ist PHP-Code, der HTML erzeugt. Was meinst du, warum [Steel](https://forum.selfhtml.org/?t=196095&m=1313352) nach dem
> generierten HTML Code
fragte, also der Ausgabe des Scripts?
Die HTML-Ausgabe hätte den Fehler nämlich auch gezeigt:
> $auswahl="<input type=\"checkbox\" name=\"$fehlerkategorie()\" value=\"1\">$row9->bezeichnung<br>";
Was steht für diese Zeile \*wirklich\* im HTML-Quelltext?
Es ist weder sinnvoll, an einen Variablennamen (hier $fehlerkategorie) runde Klammern für Funktionsparameter anzuhängen. Ganz abgesehen davon, dass $fehlerkategorie in deinem Beispiel auskommentiert, demzufolge undefiniert ist und PHP an der Stelle eine Notice-Meldung schmeißt.
Darüber hinaus ist die Notation $row9->bezeichnung so in einen String eingebettet nicht möglich. Nutze entweder Stringverkettung, oder setze den Ausdruck in geschweifte Klammern. So wie du es notiert hast, wird der Ausdruck nicht korrekt ausgewertet.
So long,
Martin
--
Paradox ist, wenn jemand eingefleischter Vegetarier ist.
Hi,
print_r($fehlerkategorie);
Kann mir jemand sagen welchen fehler ich im array habe?
Der gravierendste Fehler ist, dass du annimmst, dass POST-Werte automatisch in normalen Variablen vorliegen würden - das ist seid langem nicht mehr der Fall.
Informiere dich, was register_globals=off bedeutet, und wie man stattdessen auf POST-Werte zugreift.
MfG ChrisB
MfG ChrisB
Bist du per Mail erreichbar bzw. schick mir ggf. eine Nachricht an meine Adresse, ich muss dir etwas mitteilen ;)
bin ich!!!
bin ich!!!
Schön, mit anderen Worten du bist nicht ChrisB und hast versucht, seine Identität zu stehlen.
Meine Bitte nach einer E-Mail war ausdrücklich an ChrisB gerichtet.
Schön, mit anderen Worten du bist nicht ChrisB und hast versucht, seine Identität zu stehlen.
Meine Bitte nach einer E-Mail war ausdrücklich an ChrisB gerichtet.
Haettest dafuer auch nen Thread aufmachen koennen. Nen allgemeinen "Laberthread" gibts ja grad nicht.
Haettest dafuer auch nen Thread aufmachen koennen. Nen allgemeinen "Laberthread" gibts ja grad nicht.
Ich hab' einfach den nächstbesten gehighjacked :p
Hi,
Bist du per Mail erreichbar bzw. schick mir ggf. eine Nachricht an meine Adresse, ich muss dir etwas mitteilen ;)
Ich dir auch: 3cc8662fe052a7ebfcd64c1d61326104
;-)
MfG ChrisB
Lieber ChrisB,
Ich dir auch: 3cc8662fe052a7ebfcd64c1d61326104
ist das Dein öffentlicher PGP-Schlüssel?
Liebe Grüße,
Felix Riesterer.
Ich dir auch: 3cc8662fe052a7ebfcd64c1d61326104
ist das Dein öffentlicher PGP-Schlüssel?
Nein - ein MD5-Hash, Scherzkeks[1]
[1] Achtung, Spätzünder.
Ich dir auch: 3cc8662fe052a7ebfcd64c1d61326104
ist das Dein öffentlicher PGP-Schlüssel?
Nein - ein MD5-Hash, Scherzkeks[1]
[1] Achtung, Spätzünder.
Zitat Cheatah:
Hier haben zwar viele - schon von Berufs wegen - einen ziemlich kranken Geist
Ich hab in der Sammlung, glaub ich, dafuer gestimmt...
Hello,
Ich möchte in ein Formular dynamische Checkboxfelder erstellen und diese dann in einer Tabelle speichern.
Was sind dynamische Checkboxfelder?
Meinst Du, dass Du den HTML-Code für Checkboxen aus einer Datenbankabfrage generieren willst?
Hat es einen besonderen Grund, dass Du mysql_fetch_object() benutzt, wenn Du doch nur imperativ programmierst?
Vinzenz würde jetzt wahrscheinlich sowoeso anraten, ohnehin gelich die überarbeiteten mysqli-*-Funktionen zu verwenden. :-)
http://de.php.net/manual/de/book.mysqli.php
Aber auch dort gibt es sowohl eine objektorientierte als auch eine imperative (funktionale) Möglichkeit der Benutztung.
Es ist immer gut, wenn man sein Script in eigene Funktionen (oder Klassen und Methoden) aufteilt und dabei die Steue4rflußkontrolle, Datenbeschaffung, Datenverarbeitung, Ausgabevorbereitung und die eigentliche Ausgabe (Anzeige, HTML-Code senden) trennt.
Da Speicherplatz heute nicht mehr sooo kritisch zu betrachten ist, wie vor 20 Jahren, kann man diese Trennung meistens auch wunderbar einhalten.
Fülle mit der SQL-Abfrage ein Array und übergib dieses Array dann an Deine Darstellungsfunktion, also die Funktion, die aus den Daten einen HTML-String macht, den Du dann zu gegebener Zeit ausgeben lässt von Deiner Ausgabeeinheit.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg