php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.11.2004, 13:19  
Gast
 
Beiträge: n/a
Standard Umfrage-Formular mit Checkboxen und MySQL

Hi.

ich arbeite derzeit an einer Umfrage, wobei ich die angegebenen Informationen in den HTML Formularen per PHP in eine MySQL Datenbank eintrage.

Nun habe ich das Problem, dass eines dieser Formulare eine große Anzahl an Checkboxen beinhaltet (18 Kategorien, mit verschiedener Anzahl an Checkboxen jeweils, insgesamt 116 Checkboxen auf diesem Formular). Da ich nicht eine Tabelle mit 116 Spalten anlegen wollte, habe ich einfach eine Spalte je Kategorie genommen (18 Spalten) und dann die Werte der Checkboxen per Array übergeben, implode benutzt und in die Tabellenspalte mit Kommatrennung eingetragen.
beispiel:
PHP-Code:
<?php
$variable1 
$_POST["variable1"];
if (
$variable1)
{
$vari1 implode(", ",$variable1);}
.... (
variable2-18)

mysql_select_db("umfrage") or die ("Die DB existiert nicht");
$eintrag "INSERT INTO Tabelle1 (Spalte1, Spalte2, ..., Spalte18) VALUES ('$vari1', '$vari2', ..., '$vari18')";
$eintragen mysql_query($eintrag);
$schliessen mysql_close($db);
?>
Nun habe ich 2 Probleme.
Zum einen funktioniert das Ganze immer nur einmal und danach wird weder eine Fehlermeldung ausgegeben, noch wird etwas neues in die Tabelle eingetragen, wenn ich das Formular abschicke.
Warum funktioniert es aber anfangs perfekt?

Das 2. Problem besteht darin, dass ich zu einem späteren Zeitpunkt die Daten dieses Formulares wiederverwenden möchte. Zum einen brauche ich ein Formular, dass alle Checkboxen dynamisch anzeigt, die NICHT angekreuzt wurden und zum anderen brauche ich eins, dass NUR die Checkboxen anzeigt, die angekreuzt wurden. Es würde mir im Grunde schon reichen, wenn das Formular mit allen Checkboxen ausgegeben wird, aber die vorherige Auswahl noch besteht, wobei ich die angekreuzten oder nicht angekreuzten mit javascript aktiviere/deaktiviere.
Ich benutze zusätzlich Sessions, falls das hilft.

Jemand ne Idee wie ich das realisieren kann, ohne allzu großen Aufwand?
Und sieht jemand evtl einen Fehler in der SQL Übergabe?
Hab vor ein paar Tagen erst mit PHP angefangen, also verzeihung wenns n dummer Fehler ist
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.11.2004, 13:52  
Gast
 
Beiträge: n/a
Standard

1) mysql_error() erwenden, dann wirste auch sehen wieso es beim zweiten nicht funktioniert.
2) auslesen und mit explode wieder trennen? dann musste halt irgendwie mit ner schleife
i <= 18 und innerhalb mit i <= 116 oder sowas durch une ne abfrage setzen .. und dann
mit nem selected attribut rangehen.
 
Alt 26.11.2004, 15:02  
Gast
 
Beiträge: n/a
Standard

ah thx...
aus irgendeinem grund war in der tabelle der autoincrement unter ID nicht aktiviert, was ich bisher nicht bemerkt habe...

ok, das 2. musst du mir aber nochmal genauer erklären...
wenn ich die werte explode dann hab ich ein array mit allen werten drin, aber das sind ja im grunde nur wörter. wie krieg ich das denn dann hin, dass nach diesen wörtern die checkboxen wieder aktiviert werden?
 
Alt 26.11.2004, 15:36  
Gast
 
Beiträge: n/a
Standard

naja irgendwie stehen ja die wörter mit den checkboxen in zusammen hang? sei's der
name der checkbox oder deren wert .. und irgendwie musst du ja mal die checkboxen
auf den schirm bringen .. mit ner schleife? schleife in der schleife ... wie auch immer.
und dann musste halt checkboxen halt mit ner abfrage versehen
 
Alt 26.11.2004, 16:05  
Gast
 
Beiträge: n/a
Standard

uuh, ich weiß nich, ob ich das formular mit dem design und allem dynamisch hinkrieg, bisher sind die checkboxen statisch in HTML form, weil auch jede checkbox nen anderen namen als wert hat (brauch die information, also kann ich schlecht durchnummerieren oder so)
also so ungefähr (nur beispielnamen und werte):
PHP-Code:
<input type="checkbox" name="FamMeyer[]" value="Uwe">Uwe

 
<input type="checkbox" name="FamMeyer[]" value="Peter">Peter

 
<input type="checkbox" name="FamMeyer[]" value="Gabi">Gabi

 
<input type="checkbox" name="FamEsser[]" value="Kathrin">Kathrin

<input type="checkbox" name="FamEsser[]" value="Sepp">Sepp

 
<usw.> 
Die Spaltennamen der tabelle sind die checkboxnamen, die angekreuzten werte werden in die jeweiligen spalten eingetragen. mir fiele jetzt keine schleife ein, mit der ich völlig unabhängige wertenamen benutzen kann, um dynamische checkboxen aufzubauen.

gäbe es denn einen weg, das statische HTML Formular so zu laden, dass die vorher angekreuzten felder wieder angekreuzt werden?
weiß nich, n ID nummer evtl noch dazu, dann schleife -> überprüfen, ob wert der checkbox im abgefragten und explodierten array steht und falls ja -> checked?
aber mit welcher funktion könnte ich diese überprüfung machen?
 
Alt 26.11.2004, 16:47  
Gast
 
Beiträge: n/a
Standard Re: Umfrage-Formular mit Checkboxen und MySQL

Umfrage:
Zitat:
Zitat von LilQi
Nun habe ich das Problem, dass eines dieser Formulare eine große Anzahl an Checkboxen beinhaltet (18 Kategorien, mit verschiedener Anzahl an Checkboxen jeweils, insgesamt 116 Checkboxen auf diesem Formular).
Verwende für die Checkboxen den Spaltentyp SET. Dann passen 64 Bitwerte in eine Spalte.
 
Alt 26.11.2004, 16:51  
Gast
 
Beiträge: n/a
Standard

nein nein, die unterteilung hab ich ja schon längst gelöst, die "echten" probleme, bzw das letzte problem was noch übrig ist, stehen weiter unten im post.

ich will ja nicht alle 116 werte in eine spalte quetschen, sondern die kategorien schon behalten, das geht auch nun. aber ich brauch die werte nachher nochmal für schon angewählte checkboxen.
 
Alt 26.11.2004, 17:00  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von LilQi
nein nein, die unterteilung hab ich ja schon längst gelöst, die "echten" probleme, bzw das letzte problem was noch übrig ist, stehen weiter unten im post.
Na klar, daß bei einer solchen 'Lösung' haufenweise Probleme kommen.

Zitat:
ich will ja nicht alle 116 werte in eine spalte quetschen,
Sakra! Lies im MySQL Handbuch nach, was dort zum Thema Spaltentyp SET steht. Für den Krampf (Arrays in Feldern ablegen) brauchst Du sonst nämlich keine Datenbank. Oder wolltest Du die gesammelten Infos nur speichern und nicht auswerten?
 
Alt 26.11.2004, 17:35  
Gast
 
Beiträge: n/a
Standard

es sind nicht "haufenweise" probleme sondern nur ein einziges und das hat nichts mit der datenbank zu tun, sondern nur mit 2 bisher nicht existenten formularen, bei denen ich noch nicht weiß, wie ich sie erstellen soll. hast du meine posts überhaupt gelesen?

atm haben die spalten den typ text und das funktioniert mit implode/explode auch wunderbar. ich will hier keine programmiertechnische meisterleistung vollbringen, sondern nur, dass es funktioniert und da es das nun tut, bin ich dahingehend zufrieden.

kann ich nun zb. mit array_walk() die daten aus einem array an eine funktion übergeben, die dann die statischen HTML checkboxen prüft und jede checkbox, deren wert mit einem wert innerhalb des arrays übereinstimmt, "anklickt"?
kann man eigentlich php code in javascript funktionen verwenden?
 
Alt 26.11.2004, 17:51  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von LilQi
es sind nicht "haufenweise" probleme sondern nur ein einziges und das hat nichts mit der datenbank zu tun, sondern nur mit 2 bisher nicht existenten formularen, bei denen ich noch nicht weiß, wie ich sie erstellen soll.
Die anderen Probleme kommen noch bei der Auswertung. Aber wahrscheinlich planst Du dann SELECT * FROM tabelle und wühlst Dich dann mit wilden PHP-Scripts durch den RAM.
Zitat:
hast du meine posts überhaupt gelesen?
Na klar. Du versuchst Dich in "Tabelle in Tabelle". Da Du weder für mich arbeitest noch von mir unterrichtest wirst, ist es mir genaugenommen auch egal, womit Du Deine Zeit verplemperst.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mysql -> Formular auf neuer Seite brouillard PHP Tipps 2008 7 07.07.2008 10:04
Über Formular mysql daten ändern? incubo PHP Tipps 2008 6 18.03.2008 04:11
MySql - Daten übers Formular einfügen? Toby PHP Tipps 2008 9 07.11.2007 09:51
Mysql Server Einstellunen Optimieren pchero Datenbanken 3 01.05.2007 19:50
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
PHP5 und Checkboxen bei Formular PHP Tipps 2007 14 18.11.2005 12:17
[Erledigt] Formular in Formular HTML, Usability und Barrierefreiheit 4 19.10.2005 12:18
checkboxen wizzardxx PHP Tipps 2005-2 7 16.10.2005 22:58
[Erledigt] HILFE BITTE! PHP Formular in MySQL eintragen... PHP Tipps 2005-2 9 01.10.2005 21:17
[Erledigt] MYSQL EINTRAEGE MIT FORMULAR WERTEN VERGLEICHEN Datenbanken 4 08.08.2005 00:33
Formular und MySQL PHP Tipps 2005-2 6 30.07.2005 11:38
Mit PHP Formular in mysql DB schreiben ?! PHP Tipps 2005 9 06.01.2005 15:15
fragen zu einem Login und Zeit blabla über MySQL PHP Tipps 2004 10 12.09.2004 15:21
Checkboxen value übergeben ?? PHP Tipps 2004 15 15.08.2004 23:17
Formular in Mysql Datenbank speichern Anuschka Datenbanken 1 15.08.2004 02:55

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
umfrageformular php, http://www.php.de/php-tipps-2004-2/12999-umfrage-formular-mit-checkboxen-und-mysql.html, umfrageformular erstellen, umfrageformular beispiel, umfrageformular, umfrageformular html, umfrage formular html, umfrage mit checkboxen, php umfrage checkbox, umfrage mit checkbox, umfrage formular beispiel, mysql php: wie daten radiobutton aus mysql script, umfrage formular, formulare für mysql erstellen, php umfrage, php dynamische checkboxen, html checkbox umfrage, checkbox form php, umfrage checkbox, umfrage formular beispiele

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.