Thread Author: Catzenjaeger
Thread ID: 4331
Thread Info
Es gibt 15 Beiträge zu diesem Thema, und es wurde 19745 mal angesehen.  Es gibt auch Dateianhänge.
Wer ist hier? 1 Gäste
 Thema drucken
Neues Feld im Forum - benötige Hilfe bei Speicherung in DB
Catzenjaeger
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 

if (isset($_POST['save_cat'])) {

   $cat_name = trim(stripinput($_POST['cat_name']));

   if ($cat_name != "") {

      if ((isset($_GET['action']) && $_GET['action'] == "edit") && (isset($_GET['forum_id']) && isnum($_GET['forum_id'])) && (isset($_GET['t']) && $_GET['t'] == "cat")) {

         $result = dbquery("UPDATE ".DB_FORUMS." SET forum_name='$cat_name' WHERE forum_id='".$_GET['forum_id']."'");

         redirect(FUSION_SELF.$aidlink."&status=savecu");

      } else {

         $cat_order = isnum($_POST['cat_order']) ? $_POST['cat_order'] : "";

         if(!$cat_order) $cat_order=dbresult(dbquery("SELECT MAX(forum_order) FROM ".DB_FORUMS." WHERE forum_cat='0'"),0)+1;

         $result = dbquery("UPDATE ".DB_FORUMS." SET forum_order=forum_order+1 WHERE forum_cat='0' AND forum_order>='$cat_order'");

         $result = dbquery("INSERT INTO ".DB_FORUMS." (forum_cat, forum_name, 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', '','$cat_order', '', '', '0', '0', '0', '0', '0', '0', '0', '0')");

         redirect(FUSION_SELF.$aidlink."&status=savecn");

      }

   } else {

      redirect(FUSION_SELF.$aidlink."&status=savect");

   }

} elseif (isset($_POST['save_forum'])) {

   $forum_name = trim(stripinput($_POST['forum_name']));

   $forum_description = trim(stripinput($_POST['forum_description']));

   $forum_cat = isnum($_POST['forum_cat']) ? $_POST['forum_cat'] : 0;

   if ($forum_name != "") {

      if ((isset($_GET['action']) && $_GET['action'] == "edit") && (isset($_GET['forum_id']) && isnum($_GET['forum_id'])) && (isset($_GET['t']) && $_GET['t'] == "forum")) {

         $forum_mods = $_POST['forum_mods'];

         $forum_access = isnum($_POST['forum_access']) ? $_POST['forum_access'] : 0;

         $forum_post = isnum($_POST['forum_post']) ? $_POST['forum_post'] : 0;

         $forum_reply = isnum($_POST['forum_reply']) ? $_POST['forum_reply'] : 0;

         $forum_attach = isnum($_POST['forum_attach']) ? $_POST['forum_attach'] : 0;

         $forum_attach_download = isnum($_POST['forum_attach_download']) ? $_POST['forum_attach_download'] : 0;

         $forum_poll = isnum($_POST['forum_poll']) ? $_POST['forum_poll'] : 0;

         $forum_vote = isnum($_POST['forum_vote']) ? $_POST['forum_vote'] : 0;

         $forum_merge = (isset($_POST['forum_merge']) && isnum($_POST['forum_merge']) ? $_POST['forum_merge'] : 0);

         $result = dbquery("UPDATE ".DB_FORUMS." SET forum_name='".$forum_name."', forum_cat='".$forum_cat."', forum_description='".$forum_description."', forum_moderators='".$forum_mods."', forum_access='".$forum_access."', forum_post='".$forum_post."', forum_reply='".$forum_reply."', forum_attach='".$forum_attach."', forum_attach_download='".$forum_attach_download."', forum_poll='".$forum_poll."', forum_vote='".$forum_vote."', forum_merge='".$forum_merge."' WHERE forum_id='".$_GET['forum_id']."'");

         redirect(FUSION_SELF.$aidlink."&status=savefu");

      } else {

         $uniqueCheck = dbcount("(forum_id)", DB_FORUMS, "forum_cat='".$forum_cat."' AND forum_name='".$forum_name."'");

         if ($uniqueCheck != 0) { redirect(FUSION_SELF.$aidlink."&status=saveft"); }

         $forum_order = isnum($_POST['forum_order']) ? $_POST['forum_order'] : "";

         if(!$forum_order) $forum_order=dbresult(dbquery("SELECT MAX(forum_order) FROM ".DB_FORUMS." WHERE forum_cat='$forum_cat'"),0)+1;

         $result = dbquery("UPDATE ".DB_FORUMS." SET forum_order=forum_order+1 WHERE forum_cat='$forum_cat' AND forum_order>='$forum_order'");

         $result = dbquery("INSERT INTO ".DB_FORUMS." (forum_cat, forum_name, preferred, forum_order, forum_description, forum_moderators, forum_access, forum_post, forum_reply, forum_attach, forum_attach_download, forum_poll, forum_vote, forum_lastpost, forum_lastuser, forum_merge) VALUES ('".$forum_cat."', '".$forum_name."', '0','".$forum_order."', '".$forum_description."', '103', '101', '101', '101', '0', '0', '0', '0', '0', '0', '0')");

         redirect(FUSION_SELF.$aidlink."&status=savefn");


Catzenjaeger hat folgende Datei angehängt:

forums.zip [1.32kB / 203 mal Heruntergeladen]


Downloaded by:
 
SC-Ad-Bot
 
emblinux
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.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
Catzenjaeger
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
Catzenjaeger hat folgende Datei angehängt:

forums_1.zip [32.56kB / 207 mal Heruntergeladen]


Downloaded by:

Bearbeitet von Catzenjaeger am 21.10.2015 um 14:03
 
emblinux
Was mir gerade noch auffält.

Zitat Was ich geändert habe

Code 

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:

Code 

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')");...



Den Datentypen legst du als TINYINT fest, speicherst aber einen Character-Wert. Richtig sollte es so lauten:

Code 

1.) ...... (forum_cat, forum_name, preferred, forum_order, forum_description, forum_moderators,......
2.) ...VALUES ('0', '$cat_name', 0,'$cat_order', '', '', '0', '0', '0', '0', '0', '0', '0', '0')"); ...



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).
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
Catzenjaeger
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 

echo "<select name='preferred' class='textbox' style='width:300px'>
                  <option value='0' <?php echo ($wahl == 0) ? 'selected='selected'' : ''; ?>Nein</option>
                  <option value='1' <?php echo ($wahl == 1) ? 'selected='selected'' : ''; ?>Ja</option></select></td>";




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 

if (isset($_POST['save_cat'])) {
   $cat_name = trim(stripinput($_POST['cat_name']));
   if ($cat_name != "") {
      if ((isset($_GET['action']) && $_GET['action'] == "edit") && (isset($_GET['forum_id']) && isnum($_GET['forum_id'])) && (isset($_GET['t']) && $_GET['t'] == "cat")) {
         $result = dbquery("UPDATE ".DB_FORUMS." SET forum_name='$cat_name' WHERE forum_id='".$_GET['forum_id']."'");
         redirect(FUSION_SELF.$aidlink."&status=savecu");
      } else {
         $cat_order = isnum($_POST['cat_order']) ? $_POST['cat_order'] : "";
         if(!$cat_order) $cat_order=dbresult(dbquery("SELECT MAX(forum_order) FROM ".DB_FORUMS." WHERE forum_cat='0'"),0)+1;
         $result = dbquery("UPDATE ".DB_FORUMS." SET forum_order=forum_order+1 WHERE forum_cat='0' AND forum_order>='$cat_order'");
         $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')");
         redirect(FUSION_SELF.$aidlink."&status=savecn");
      }
   } else {
      redirect(FUSION_SELF.$aidlink."&status=savect");
   }
} elseif (isset($_POST['save_forum'])) {
   $forum_name = trim(stripinput($_POST['forum_name']));
   $forum_description = trim(stripinput($_POST['forum_description']));
   $forum_cat = isnum($_POST['forum_cat']) ? $_POST['forum_cat'] : 0;
   if ($forum_name != "") {
      if ((isset($_GET['action']) && $_GET['action'] == "edit") && (isset($_GET['forum_id']) && isnum($_GET['forum_id'])) && (isset($_GET['t']) && $_GET['t'] == "forum")) {
         $forum_mods = $_POST['forum_mods'];
         $forum_access = isnum($_POST['forum_access']) ? $_POST['forum_access'] : 0;
         $forum_post = isnum($_POST['forum_post']) ? $_POST['forum_post'] : 0;
         $forum_reply = isnum($_POST['forum_reply']) ? $_POST['forum_reply'] : 0;
         $forum_attach = isnum($_POST['forum_attach']) ? $_POST['forum_attach'] : 0;
         $forum_attach_download = isnum($_POST['forum_attach_download']) ? $_POST['forum_attach_download'] : 0;
         $forum_poll = isnum($_POST['forum_poll']) ? $_POST['forum_poll'] : 0;
         $forum_vote = isnum($_POST['forum_vote']) ? $_POST['forum_vote'] : 0;
         $forum_merge = (isset($_POST['forum_merge']) && isnum($_POST['forum_merge']) ? $_POST['forum_merge'] : 0);
         $result = dbquery("UPDATE ".DB_FORUMS." SET forum_name='".$forum_name."', forum_cat='".$forum_cat."', forum_preferred='".$forum_preferred."', forum_description='".$forum_description."', forum_moderators='".$forum_mods."', forum_access='".$forum_access."', forum_post='".$forum_post."', forum_reply='".$forum_reply."', forum_attach='".$forum_attach."', forum_attach_download='".$forum_attach_download."', forum_poll='".$forum_poll."', forum_vote='".$forum_vote."', forum_merge='".$forum_merge."' WHERE forum_id='".$_GET['forum_id']."'");
         redirect(FUSION_SELF.$aidlink."&status=savefu");
      } else {
         $uniqueCheck = dbcount("(forum_id)", DB_FORUMS, "forum_cat='".$forum_cat."' AND forum_name='".$forum_name."'");
         if ($uniqueCheck != 0) { redirect(FUSION_SELF.$aidlink."&status=saveft"); }
         $forum_order = isnum($_POST['forum_order']) ? $_POST['forum_order'] : "";
         if(!$forum_order) $forum_order=dbresult(dbquery("SELECT MAX(forum_order) FROM ".DB_FORUMS." WHERE forum_cat='$forum_cat'"),0)+1;
         $result = dbquery("UPDATE ".DB_FORUMS." SET forum_order=forum_order+1 WHERE forum_cat='$forum_cat' AND forum_order>='$forum_order'");
         $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_attach, forum_attach_download, forum_poll, forum_vote, forum_lastpost, forum_lastuser, forum_merge) VALUES ('".$forum_cat."', '".$forum_preferred."','".$forum_name."', '0','".$forum_order."', '".$forum_description."', '103', '101', '101', '101', '0', '0', '0', '0', '0', '0', '0')");
         redirect(FUSION_SELF.$aidlink."&status=savefn");
      }
   } else {
      redirect(FUSION_SELF.$aidlink."&status=saveft");
   }
} elseif ((isset($_GET['action']) && $_GET['action'] == "mu") && (isset($_GET['forum_id']) && isnum($_GET['forum_id'])) && (isset($_GET['order']) && isnum($_GET['order']))) {
   if (isset($_GET['t']) && $_GET['t'] == "cat") {
      $data = dbarray(dbquery("SELECT forum_id FROM ".DB_FORUMS." WHERE forum_cat='0' AND forum_order='".$_GET['order']."'"));
      $result = dbquery("UPDATE ".DB_FORUMS." SET forum_order=forum_order+1 WHERE forum_id='".$data['forum_id']."'");
      $result = dbquery("UPDATE ".DB_FORUMS." SET forum_order=forum_order-1 WHERE forum_id='".$_GET['forum_id']."'");
   } elseif ((isset($_GET['t']) && $_GET['t'] == "forum") && (isset($_GET['cat']) && isnum($_GET['cat']))) {
      $data = dbarray(dbquery("SELECT forum_id FROM ".DB_FORUMS." WHERE forum_cat='".$_GET['cat']."' AND forum_order='".$_GET['order']."'"));
      $result = dbquery("UPDATE ".DB_FORUMS." SET forum_order=forum_order+1 WHERE forum_id='".$data['forum_id']."'");
      $result = dbquery("UPDATE ".DB_FORUMS." SET forum_order=forum_order-1 WHERE forum_id='".$_GET['forum_id']."'");
   }
   redirect(FUSION_SELF.$aidlink);
} elseif ((isset($_GET['action']) && $_GET['action'] == "md") && (isset($_GET['forum_id']) && isnum($_GET['forum_id'])) && (isset($_GET['order']) && isnum($_GET['order']))) {
   if (isset($_GET['t']) && $_GET['t'] == "cat") {
      $data = dbarray(dbquery("SELECT forum_id FROM ".DB_FORUMS." WHERE forum_cat='0' AND forum_order='".$_GET['order']."'"));
      $result = dbquery("UPDATE ".DB_FORUMS." SET forum_order=forum_order-1 WHERE forum_id='".$data['forum_id']."'");
      $result = dbquery("UPDATE ".DB_FORUMS." SET forum_order=forum_order+1 WHERE forum_id='".$_GET['forum_id']."'");
   } elseif ((isset($_GET['t']) && $_GET['t'] == "forum") && (isset($_GET['cat']) && isnum($_GET['cat']))) {
      $data = dbarray(dbquery("SELECT forum_id FROM ".DB_FORUMS." WHERE forum_cat='".$_GET['cat']."' AND forum_order='".$_GET['order']."'"));
      $result = dbquery("UPDATE ".DB_FORUMS." SET forum_order=forum_order-1 WHERE forum_id='".$data['forum_id']."'");
      $result = dbquery("UPDATE ".DB_FORUMS." SET forum_order=forum_order+1 WHERE forum_id='".$_GET['forum_id']."'");
   }
   redirect(FUSION_SELF.$aidlink);
} elseif ((isset($_GET['action']) && $_GET['action'] == "delete") && (isset($_GET['forum_id']) && isnum($_GET['forum_id'])) && (isset($_GET['t']) && $_GET['t'] == "cat")) {
   if (!dbcount("(forum_id)", DB_FORUMS, "forum_cat='".$_GET['forum_id']."'")) {
      $data = dbarray(dbquery("SELECT forum_order FROM ".DB_FORUMS." WHERE forum_id='".$_GET['forum_id']."'"));
      $result = dbquery("UPDATE ".DB_FORUMS." SET forum_order=forum_order-1 WHERE forum_cat='0' AND forum_order>'".$data['forum_order']."'");
      $result = dbquery("DELETE FROM ".DB_FORUMS." WHERE forum_id='".$_GET['forum_id']."'");
      redirect(FUSION_SELF.$aidlink."&status=delcy");
   } else {
      redirect(FUSION_SELF.$aidlink."&status=delcn");
   }
} elseif ((isset($_GET['action']) && $_GET['action'] == "delete") && (isset($_GET['forum_id']) && isnum($_GET['forum_id'])) && (isset($_GET['t']) && $_GET['t'] == "forum")) {
   if (!dbcount("(thread_id)", DB_THREADS, "forum_id='".$_GET['forum_id']."'")) {
      $data = dbarray(dbquery("SELECT forum_cat, forum_order FROM ".DB_FORUMS." WHERE forum_id='".$_GET['forum_id']."'"));
      $result = dbquery("UPDATE ".DB_FORUMS." SET forum_order=forum_order-1 WHERE forum_cat='".$data['forum_cat']."' AND forum_order>'".$data['forum_order']."'");
      $result = dbquery("DELETE FROM ".DB_FORUMS." WHERE forum_id='".$_GET['forum_id']."'");
      redirect(FUSION_SELF.$aidlink."&status=delfy");
   } else {
      redirect(FUSION_SELF.$aidlink."&status=delfn");
   }
} else {
   if ((isset($_GET['action']) && $_GET['action'] == "edit") && (isset($_GET['forum_id']) && isnum($_GET['forum_id']))) {
      if (isset($_GET['t']) && $_GET['t'] == "cat") {
         $result = dbquery("SELECT forum_id, forum_name FROM ".DB_FORUMS." WHERE forum_id='".$_GET['forum_id']."' LIMIT 1");
         if (dbrows($result)) {
            $data = dbarray($result);
            $cat_name = $data['forum_name'];
            $cat_title = $locale['401'];
            $cat_action = FUSION_SELF.$aidlink."&amp;action=edit&amp;forum_id=".$data['forum_id']."&amp;t=cat";
            $forum_title = $locale['500'];
            $forum_action = FUSION_SELF.$aidlink;
         } else {
            redirect(FUSION_SELF.$aidlink);
         }
      } elseif (isset($_GET['t']) && $_GET['t'] == "forum") {
         $result = dbquery(
            "SELECT
               forum_name, forum_description, forum_cat, forum_moderators,
               forum_access, 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."&amp;action=edit&amp;forum_id=".$_GET['forum_id']."&amp;t=forum";
            $cat_title = $locale['400'];
            $cat_action = FUSION_SELF.$aidlink;
         } else {
            redirect(FUSION_SELF.$aidlink);
         }


Bearbeitet von Catzenjaeger am 21.10.2015 um 14:33
 
emblinux
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 

$cat_name = trim(stripinput($_POST['cat_name']));



folgendes ein:

Code 

$preferred = stripinput($_POST['preferred']);



Dann änderst du das 1. Insert-Statement wie folgt ab:

Code 

$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', ".$preferred.",'$cat_order', '', '', '0', '0', '0', '0', '0', '0', '0', '0')");



Dann fügst du hinter:

Code 

$forum_cat = isnum($_POST['forum_cat']) ? $_POST['forum_cat'] : 0;



nochmal folgendes ein:

Code 

$preferred = stripinput($_POST['preferred']);



Und änderst dann das 2. Insert-Statement wie folgt ab:

Code 

$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_attach, forum_attach_download, forum_poll, forum_vote, forum_lastpost, forum_lastuser, forum_merge) 
                                      VALUES ('".$forum_cat."', '".$forum_name."', ".$preferred.",'".$forum_order."', '".$forum_description."', '103', '101', '101', '101', '0', '0', '0', '0', '0', '0', '0')");



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 

$sql = "Select * from ".DB_FORUMS." ";
echo $sql."<br />";
$result = dbquery($sql);



So kann man sich das fertige SQL nochmal anschauen. Wenn alles IO, dann entfernt man einfach die Ausgabe von $sql.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
Catzenjaeger
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 

$result = dbquery("UPDATE ".DB_FORUMS." SET forum_name='".$forum_name."', forum_cat='".$forum_cat."', forum_preferred='".$preferred."', forum_description='".$forum_description."', forum_moderators='".$forum_mods."', forum_access='".$forum_access."', forum_post='".$forum_post."', forum_reply='".$forum_reply."', forum_attach='".$forum_attach."', forum_attach_download='".$forum_attach_download."', forum_poll='".$forum_poll."', forum_vote='".$forum_vote."', forum_merge='".$forum_merge."' WHERE forum_id='".$_GET['forum_id']."'");


Catzenjaeger hat folgende Datei angehängt:

forums_2.zip [5.09kB / 196 mal Heruntergeladen]


Downloaded by:

Bearbeitet von Catzenjaeger am 21.10.2015 um 14:51
 
emblinux
eher so:

Code 

$result = dbquery("UPDATE ".DB_FORUMS." SET forum_name='".$forum_name."', forum_cat='".$forum_cat."', forum_preferred=".$preferred.", forum_description='".$forum_description."', forum_moderators='".$forum_mods."', forum_access='".$forum_access."', forum_post='".$forum_post."', forum_reply='".$forum_reply."', forum_attach='".$forum_attach."', forum_attach_download='".$forum_attach_download."', forum_poll='".$forum_poll."', forum_vote='".$forum_vote."', forum_merge='".$forum_merge."' WHERE forum_id='".$_GET['forum_id']."'");



Vorraussetzung ist aber, dass die Variable $preferred auch korrekt gesetzt wird. Also der Wert aus der entsprechenden POST-Variable gelesen wird.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
Catzenjaeger
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 

} else {
      $cat_name = "";
      $cat_order = "";
      $cat_title = $locale['400'];
      $cat_action = FUSION_SELF.$aidlink;
      $forum_name = "";
      $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;


Bearbeitet von Catzenjaeger am 21.10.2015 um 14:57
 
emblinux
Schau dir deinen Code nochmal genauer an.
Hier der entsprechende Auszug, wo noch was fehlt.

Code 

if ($forum_name != "") {
      if ((isset($_GET['action']) && $_GET['action'] == "edit") && (isset($_GET['forum_id']) && isnum($_GET['forum_id'])) && (isset($_GET['t']) && $_GET['t'] == "forum")) {
         $forum_mods = $_POST['forum_mods'];
         $forum_access = isnum($_POST['forum_access']) ? $_POST['forum_access'] : 0;
         $forum_post = isnum($_POST['forum_post']) ? $_POST['forum_post'] : 0;
         $forum_reply = isnum($_POST['forum_reply']) ? $_POST['forum_reply'] : 0;
         $forum_attach = isnum($_POST['forum_attach']) ? $_POST['forum_attach'] : 0;
         $forum_attach_download = isnum($_POST['forum_attach_download']) ? $_POST['forum_attach_download'] : 0;
         $forum_poll = isnum($_POST['forum_poll']) ? $_POST['forum_poll'] : 0;
         $forum_vote = isnum($_POST['forum_vote']) ? $_POST['forum_vote'] : 0;
         $forum_merge = (isset($_POST['forum_merge']) && isnum($_POST['forum_merge']) ? $_POST['forum_merge'] : 0);
         $result = dbquery("UPDATE ".DB_FORUMS." SET forum_name='".$forum_name."', forum_cat='".$forum_cat."', forum_preferred='".$forum_preferred."', forum_description='".$forum_description."', forum_moderators='".$forum_mods."', forum_access='".$forum_access."', forum_post='".$forum_post."', forum_reply='".$forum_reply."', forum_attach='".$forum_attach."', forum_attach_download='".$forum_attach_download."', forum_poll='".$forum_poll."', forum_vote='".$forum_vote."', forum_merge='".$forum_merge."' WHERE forum_id='".$_GET['forum_id']."'");
         redirect(FUSION_SELF.$aidlink."&status=savefu");
      } else {
         $uniqueCheck = dbcount("(forum_id)", DB_FORUMS, "forum_cat='".$forum_cat."' AND forum_name='".$forum_name."'");
         if ($uniqueCheck != 0) { redirect(FUSION_SELF.$aidlink."&status=saveft"); }
         $forum_order = isnum($_POST['forum_order']) ? $_POST['forum_order'] : "";
         if(!$forum_order) $forum_order=dbresult(dbquery("SELECT MAX(forum_order) FROM ".DB_FORUMS." WHERE forum_cat='$forum_cat'"),0)+1;
         $result = dbquery("UPDATE ".DB_FORUMS." SET forum_order=forum_order+1 WHERE forum_cat='$forum_cat' AND forum_order>='$forum_order'");
         $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_attach, forum_attach_download, forum_poll, forum_vote, forum_lastpost, forum_lastuser, forum_merge) VALUES ('".$forum_cat."', '".$forum_preferred."','".$forum_name."', '0','".$forum_order."', '".$forum_description."', '103', '101', '101', '101', '0', '0', '0', '0', '0', '0', '0')");
         redirect(FUSION_SELF.$aidlink."&status=savefn");
      }
   } else {
      redirect(FUSION_SELF.$aidlink."&status=saveft");
   }



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 

$forum_merge = (isset($_POST['forum_merge']) && isnum($_POST['forum_merge']) ? $_POST['forum_merge'] : 0);



noch folgendes ein:

Code 

$forum_preferred = (isset($_POST['preferred']) && isnum($_POST['preferred']) ? $_POST['preferred'] : 0);



Und dann noch das Update-Statement anpassen:

Code 

$result = dbquery("UPDATE ".DB_FORUMS." SET forum_name='".$forum_name."', forum_cat='".$forum_cat."', forum_preferred=".$forum_preferred.", forum_description='".$forum_description."', forum_moderators='".$forum_mods."', forum_access='".$forum_access."', forum_post='".$forum_post."', forum_reply='".$forum_reply."', forum_attach='".$forum_attach."', forum_attach_download='".$forum_attach_download."', forum_poll='".$forum_poll."', forum_vote='".$forum_vote."', forum_merge='".$forum_merge."' WHERE forum_id='".$_GET['forum_id']."'");



Schau mal ob du noch irgendwo solche Stellen hast. Die musst du noch anpassen.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
Catzenjaeger
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
Catzenjaeger hat folgende Datei angehängt:

forums_3.zip [5.11kB / 194 mal Heruntergeladen]


Downloaded by:

Bearbeitet von Catzenjaeger am 21.10.2015 um 15:57
 
emblinux
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.
emblinux hat folgende Datei angehängt:

forums_4.zip [4.99kB / 201 mal Heruntergeladen]


Downloaded by:

Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
Catzenjaeger
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
Das darüberliegende Select-Statement muss natürlich noch um das neue Feld erweitert werden.

Code 

$result = dbquery(
            "SELECT
               forum_name, forum_description, forum_cat, forum_moderators,
               forum_access, forum_post, forum_reply, forum_attach, forum_attach_download, forum_poll,
               forum_vote, forum_merge, forum_preferred
            FROM ".DB_FORUMS."
            WHERE forum_id='".$_GET['forum_id']."'
            LIMIT 1"
         );


Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
Catzenjaeger
ich habe es gleuabe ich gefunden-da fehlte einen Abfrage Smile
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"Wink {
$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."&amp;action=edit&amp;forum_id=".$_GET['forum_id']."&amp;t=forum";
$cat_title = $locale['400'];
$cat_action = FUSION_SELF.$aidlink;
} else {
redirect(FUSION_SELF.$aidlink);
 
Springe ins Forum:

 Ähnliche Themen 

TEST
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 3 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
PHPFusion DE NSS