Thread Info
Wer ist hier? 1 Gäste
Neues Feld im Forum - benötige Hilfe bei Speicherung in DB
|
|
Catzenjaeger |
Geschrieben am 21.10.2015 um 09:05
|
![]() Jung Mitglied ![]() Beiträge: 10 Registriert am: 28.11.12 Fusioneer: 9 years 8 months 1 weeks 11 days 4 hours 21 minutes 23 seconds |
ich benötige ein neues Feld im Forum beim anlegen einer Forum-Kategorie. Das habe ich bereits umgesetzt und das Feld ist auch genau da wo ich es haben will. (administration/forums.php) In der Datenbank habe ich auch eine entsprechenden Spalte hinzugefügt (heisst "preferred" sieheh Bild) mein problem ist, das die Datenbank nicht mit dem Wert den ich dort angebe (ja / nein) befüllt wird. Ich habe die entprechenden Stellen im Code dort wo in die DB geschreiben wird bereits abgeändert aber da muss ein Fehler sein. Was ich geändert habe 1.) ...... (forum_cat, forum_name, preferred, forum_order, forum_description, forum_moderators,...... 2.) ...VALUES ('0', '$cat_name', '','$cat_order', '', '', '0', '0', '0', '0', '0', '0', '0', '0')"); ... ziehmlich am Ebde vom Code habe ich daas geändert: 1.) ....(forum_cat, forum_name, preferred, forum_order, forum_description, forum_moderators, ... 2.) ....VALUES ('".$forum_cat."', '".$forum_name."', '0','".$forum_order."', '".$forum_description."', '103', '101', '101', '101', '0', '0', '0', '0', '0', '0', '0')");... im Anhang meine komplette administration/forums.php Kann jemand helfen? hier der Auszug aus dem Code: Code
|
|
|
SC-Ad-Bot | Advertisement |
| |
emblinux |
Geschrieben am 21.10.2015 um 13:46
|
![]() Seiten Administrator ![]() Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 13 years 10 months 0 weeks 5 days 4 hours 20 minutes 5 seconds |
Welches Bild ??? Was für ein Datentyp hat denn das Feld in der Datenbank? Im Anhang findet man lediglich die Language-Datei für die Forum-Administration. Die wird hier kaum helfen. Außerdem: Für eine saubere Programmierung sollte man das Feld auch analog den anderen Feldern benennen. Also nicht preferred sondern forum_preferred. Aber das nur nebenbei. Empfehlung: Den Datentyp unsigned int wählen mit einer Länge von 1 (ein Zeichen). Dann schreibst du für NEIN eine 0 rein und für JA eine 1. Das brauchst du dann im PHP-Code nur entsprechend umsetzen. Das spart Speicher in der Datenbank. Denn Texte verbrauchen mehr Speicher als kleine Integer-Werte. |
|
|
Catzenjaeger |
Geschrieben am 21.10.2015 um 13:59
|
![]() Jung Mitglied ![]() Beiträge: 10 Registriert am: 28.11.12 Fusioneer: 9 years 8 months 1 weeks 11 days 4 hours 21 minutes 23 seconds |
Meine DB Typ: TINYINT Lange/Wert: 1 Standard: wie definiert / 0 Kollation: - Attribute: - Null: - im Anhang habe ich alles zusammengepackt Sorry der neue upload wird immer übersxchreiben deshalb war nur das letzte dran Bearbeitet von Catzenjaeger am 21.10.2015 um 14:03 |
|
|
emblinux |
Geschrieben am 21.10.2015 um 14:07
|
![]() Seiten Administrator ![]() Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 13 years 10 months 0 weeks 5 days 4 hours 20 minutes 5 seconds |
Was mir gerade noch auffält. Zitat Was ich geändert habe Code
ziehmlich am Ebde vom Code habe ich daas geändert: Code
Den Datentypen legst du als TINYINT fest, speicherst aber einen Character-Wert. Richtig sollte es so lauten: Code
oder halt eine 1 für ja. Wenn du keinen Wert für dieses Feld speichern möchtest, dann lass es einfach weg. Sowohl bei der Selection (1) als auch bei den Values (2). |
|
|
Catzenjaeger |
Geschrieben am 21.10.2015 um 14:19
|
![]() Jung Mitglied ![]() Beiträge: 10 Registriert am: 28.11.12 Fusioneer: 9 years 8 months 1 weeks 11 days 4 hours 21 minutes 23 seconds |
ok habs versucht aber es schreibt bnichts rein habe nach deinen anraten auch die spalte umbenannt :) das hier ist das Feld was ich mitgeben will: Code
das hier wo die Daten in DB geschreiben werden ..aber es geht leider noch nicht Zitat $result = dbquery("INSERT INTO ".DB_FORUMS." (forum_cat, forum_name, forum_preferred, forum_order, forum_description, forum_moderators, forum_access, forum_post, forum_reply, forum_poll, forum_vote, forum_attach, forum_lastpost, forum_lastuser) VALUES ('0', '$cat_name', '$forum_preferred','$cat_order', '', '', '0', '0', '0', '0', '0', '0', '0', '0')"); das habe ich add: $forum_preferred = $data['forum_preferred']; Hier der Auszug aus der forums.php Code
Bearbeitet von Catzenjaeger am 21.10.2015 um 14:33 |
|
|
emblinux |
Geschrieben am 21.10.2015 um 14:39
|
![]() Seiten Administrator ![]() Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 13 years 10 months 0 weeks 5 days 4 hours 20 minutes 5 seconds |
Also erst einmal speicherst du nicht den übergebenen Wert deiner Auswahlbox (preferred). Weiterhin hast du bei deinem 2. Statement mehr Values zum einfügen als angegebene Felder. füge hinter: Code
folgendes ein: Code
Dann änderst du das 1. Insert-Statement wie folgt ab: Code
Dann fügst du hinter: Code
nochmal folgendes ein: Code
Und änderst dann das 2. Insert-Statement wie folgt ab: Code
Prüfe aber bitte nochmal alles auf Syntax, da ich das einfach nur so im Editor angepasst habe. Manchmal hilft es, wenn man sich das SQL-Statement erst ineine Variable schreibt. Dann kann man sich das einfach nochmal ausgeben lassen. Beispiel: Code
So kann man sich das fertige SQL nochmal anschauen. Wenn alles IO, dann entfernt man einfach die Ausgabe von $sql. |
|
|
Catzenjaeger |
Geschrieben am 21.10.2015 um 14:47
|
![]() Jung Mitglied ![]() Beiträge: 10 Registriert am: 28.11.12 Fusioneer: 9 years 8 months 1 weeks 11 days 4 hours 21 minutes 23 seconds |
super die DB wird schon einmal befüllt ... du bist der held des Tages :) allerdings fehlt noch Wert der zrückgegeben wird wenn die Kategorie noch einmal bearbeite im Adminbereich. Da kommt jetzt ein Nein zurück obwohl einen 1 in der DB (also ein JA) steht. .. irgednwas habe ich noch übersehen ist doch eigentlich richtig: Code
Bearbeitet von Catzenjaeger am 21.10.2015 um 14:51 |
|
|
emblinux |
Geschrieben am 21.10.2015 um 14:51
|
![]() Seiten Administrator ![]() Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 13 years 10 months 0 weeks 5 days 4 hours 20 minutes 5 seconds |
eher so:Code
Vorraussetzung ist aber, dass die Variable $preferred auch korrekt gesetzt wird. Also der Wert aus der entsprechenden POST-Variable gelesen wird. |
|
|
Catzenjaeger |
Geschrieben am 21.10.2015 um 14:55
|
![]() Jung Mitglied ![]() Beiträge: 10 Registriert am: 28.11.12 Fusioneer: 9 years 8 months 1 weeks 11 days 4 hours 21 minutes 23 seconds |
ne das war sleider nicht ... bleibt auf nein stehen $forum_preferred = $data['forum_preferred']; ich habe so das gefühl hier muss noch was rein: Code
Bearbeitet von Catzenjaeger am 21.10.2015 um 14:57 |
|
|
emblinux |
Geschrieben am 21.10.2015 um 15:03
|
![]() Seiten Administrator ![]() Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 13 years 10 months 0 weeks 5 days 4 hours 20 minutes 5 seconds |
Schau dir deinen Code nochmal genauer an. Hier der entsprechende Auszug, wo noch was fehlt. Code
Du hast dort ein Update-Statement, wo du auch das Feld forum_preferred mit $forum_preferred setzen möchtest. Aber diese Variable ist an dieser Stelle noch nicht gefüllt. Füge da mal nach Code
noch folgendes ein: Code
Und dann noch das Update-Statement anpassen: Code
Schau mal ob du noch irgendwo solche Stellen hast. Die musst du noch anpassen. |
|
|
Catzenjaeger |
Geschrieben am 21.10.2015 um 15:13
|
![]() Jung Mitglied ![]() Beiträge: 10 Registriert am: 28.11.12 Fusioneer: 9 years 8 months 1 weeks 11 days 4 hours 21 minutes 23 seconds |
Danke .. das ist ganz schön kompliziert. geht leider immer noch nicht. Steht immer noch NEIN da obwohl JA Ich habe jetzt nichts gefunden wo noch was fehlt das einzigste wo ich vermute hier: (Update - brachte auch nichts ) } else { $cat_name = ""; $cat_order = ""; $cat_title = $locale['400']; $cat_action = FUSION_SELF.$aidlink; $forum_name = ""; $forum_preferred = ""; $forum_description = ""; $forum_cat = 0; $forum_order = ""; $forum_access = 0; $forum_post = 0; $forum_reply = 0; $forum_attach = 0; $forum_attach_download = 0; $forum_poll = 0; $forum_vote = 0; $forum_merge = 0; $forum_title = $locale['500']; $forum_action = FUSION_SELF.$aidlink; } Ich hänge die komplette Datei noch einmal an stand 16:55 es geht nicht -- blkeibt immer nein stehen damn Bearbeitet von Catzenjaeger am 21.10.2015 um 15:57 |
|
|
emblinux |
Geschrieben am 22.10.2015 um 08:17
|
![]() Seiten Administrator ![]() Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 13 years 10 months 0 weeks 5 days 4 hours 20 minutes 5 seconds |
Ich habs mir mal angesehen und etwas überarbeitet. Komisch war schon, das dur die Variable $wahl verwendest aber nie setzt. Ergo kann die Variable $wahl nie 0 oder 1 sein und er zeigt in der Auswahlbox immer den ersten Wert aus der Liste an. Im Anhang findest dun die überarbeitete Version. Bitte nochmal prüfen, da ich lediglich mit einem einfachen Editor die Anpassungen vorgenommen habe. |
|
|
Catzenjaeger |
Geschrieben am 22.10.2015 um 08:28
|
![]() Jung Mitglied ![]() Beiträge: 10 Registriert am: 28.11.12 Fusioneer: 9 years 8 months 1 weeks 11 days 4 hours 21 minutes 23 seconds |
Vielen Dank .. leider steht immer noch da NEIN. Sowohl wenn ich einen Kategorie anlege (also direkt nach klick in der Administration auf FORUM) als auch beim bearbeiten einer Kategorie wenn ich auf BEARBEITEN klicke. Das mit "wahl" hatte ich auch gesehn und gefixt aber daran lags nicht Ein Fehler wird mir noch angezeigt Fehler: Undefined index: forum_preferred Zeile: 190 Datei: adb/administration/forums.php 185 if (dbrows($result)) { 186 $data = dbarray($result); 187 $forum_name = $data['forum_name']; 188 $forum_description = $data['forum_description']; 189 $forum_cat = $data['forum_cat']; 190 $forum_preferred = $data['forum_preferred']; 191 $forum_access = $data['forum_access']; 192 $forum_post = $data['forum_post']; 193 $forum_reply = $data['forum_reply']; 194 $forum_attach = $data['forum_attach']; 195 $forum_attach_download = $data['forum_attach_download']; 196 $forum_poll = $data['forum_poll']; 197 $forum_vote = $data['forum_vote']; 198 $forum_merge = $data['forum_merge']; 199 $forum_title = $locale['501']; |
|
|
emblinux |
Geschrieben am 22.10.2015 um 09:00
|
![]() Seiten Administrator ![]() Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 13 years 10 months 0 weeks 5 days 4 hours 20 minutes 5 seconds |
Das darüberliegende Select-Statement muss natürlich noch um das neue Feld erweitert werden.Code
|
|
|
Catzenjaeger |
Geschrieben am 22.10.2015 um 09:00
|
![]() Jung Mitglied ![]() Beiträge: 10 Registriert am: 28.11.12 Fusioneer: 9 years 8 months 1 weeks 11 days 4 hours 21 minutes 23 seconds |
ich habe es gleuabe ich gefunden-da fehlte einen Abfrage ![]() DXanke für deine Hilfe ... kann man eigentlich bei einer JA/NEIN Option auch ein Feld "--Bitte auswählen -- standartmässig anzeigen? welchen wert müßte man dan nehmen? -1? weil jetzt wird immer NEIN als Standart angezeigt .. ist im prinzip richtig da ich das als Stanard eintragen alssen will falls man ncihts wählt weil somnst müsste ich eine Fehlerkorrektut einbauenen was im Moment schwierig wäre .. denn sonst kommt das script durcheinander } elseif (isset($_GET['t']) && $_GET['t'] == "forum" ![]() $result = dbquery( "SELECT forum_name, forum_description, forum_cat, forum_moderators, forum_access, forum_preferred, forum_post, forum_reply, forum_attach, forum_attach_download, forum_poll, forum_vote, forum_merge FROM ".DB_FORUMS." WHERE forum_id='".$_GET['forum_id']."' LIMIT 1" ); if (dbrows($result)) { $data = dbarray($result); $forum_name = $data['forum_name']; $forum_description = $data['forum_description']; $forum_cat = $data['forum_cat']; $forum_preferred = $data['forum_preferred']; $forum_access = $data['forum_access']; $forum_post = $data['forum_post']; $forum_reply = $data['forum_reply']; $forum_attach = $data['forum_attach']; $forum_attach_download = $data['forum_attach_download']; $forum_poll = $data['forum_poll']; $forum_vote = $data['forum_vote']; $forum_merge = $data['forum_merge']; $forum_title = $locale['501']; $forum_action = FUSION_SELF.$aidlink."&action=edit&forum_id=".$_GET['forum_id']."&t=forum"; $cat_title = $locale['400']; $cat_action = FUSION_SELF.$aidlink; } else { redirect(FUSION_SELF.$aidlink); |
|
Springe ins Forum: |
Ähnliche Themen
Thema | Forum | Antworten | Letzter Beitrag |
---|---|---|---|
Bitte um Hilfe. | Allgemeine Support Fragen | 5 | 12.04.2018 um 19:57 |
Erbitte Hilfe | Allgemeine Support Fragen | 27 | 09.04.2017 um 10:10 |
Hilfe MWN Geschenke System fehler | Infusionen | 2 | 27.12.2016 um 21:11 |
Breuchte ma eure hilfe bei der suche einer seite | Games, Spiele & Co. | 2 | 18.09.2016 um 17:23 |
Forum | Allgemeine Diskussionen | 1 | 12.01.2014 um 16:35 |