wer kann bei Modulumbau helfen?

Begonnen von Snow2002, 08 März 2005, 16:56:03

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Snow2002

Hi!

Ich habe das Modul DVD-Datenbank so umgebaut (in der index.php + der language-Datei des Modules),
das ich anstelle der DVD-Datenbank eine Skigebiets-Datenbank erstellen kann.
Leider werden nicht alle Eintragungen, die der User oder der Admin machen kann mit übernommen.Die Daten Funpark bis einschl.
Gondeln tauchen nach dem abschicken nirgens mehr auf...

das Ganze Modul habe ich mal hier hinterlegt: http://www.frozenwater.de/ski.zip

Könnte mir dabei jemand helfen?
Danke im Voraus,

Marcus
Gruß, Marcus

--------
pragmaMx 0.1.10 RC1, 1.30.2.12/2008-01-29
PHP-Version:    5.1.2  (PHP-Info)
MySQL-Version: 4.1.18-standard
Server-Version:  Apache/1.3.37 (Unix)
SMF: 1.1.4

Snow2002

Weiß nicht evtl. doch jemand zumindest Rat, wie bzw. wo ich was ändern muß, damit die Eintragungen gespeichert werden? Ich bin damit restlos überfordert :-[ Muß evtl. in der sql was ergänzt werden oder so?

Gruß, Marcus
Gruß, Marcus

--------
pragmaMx 0.1.10 RC1, 1.30.2.12/2008-01-29
PHP-Version:    5.1.2  (PHP-Info)
MySQL-Version: 4.1.18-standard
Server-Version:  Apache/1.3.37 (Unix)
SMF: 1.1.4

jubilee

Hallo !
Die Variablen die Du für die Select-Felder angelegt hast (scorereg, scoresl, scoresch, scorefun) tauchen nur einmal im gesammten Script auf. Das bei dem Eingabeformular als Feldnamen. Die Variablen werden nach dem Absenden des Formulares aber in der
Funktion nicht weiterverarbeitet. Vom Formular wird die Funktion preview_dvd aufgerufen. Als übergabeparameter werden die
Variablen (die sich aus den InputFeldnamen des Formulares ergeben)  übergeben.
Dort tauchen Deine Feldbezeichner aber nicht auf.
MfG
jubilee

Andi

#3
Moin :)

ganz grob musst du bei allen code-Stellen, wo etwas in die Modultabelle geschrieben wird (UPDATE & INSERT) die neuen Felder mit dazunehmen. Ausserdem im jeweiligen Funktionskopf und Funktionsaufruf.

Mal ein kleines Beispiel der Funktion send_review:

Funktionsaufrufcase ""._YES."":
send_review($date, $title, $text, $reviewer, $email, $score, $cover, $url, $url_title, $hits, $id, $rlanguage, $NEUESFELD);
break;


Funktionskopffunction send_review($date, $title, $text, $reviewer, $email, $score, $cover, $url, $url_title, $hits, $id, $rlanguage, $NEUESFELD) {

Innerhalb der Funktion:    if ((is_admin($admin)) && ($id == 0)) {
        sql_query("INSERT INTO ".$prefix."_4ndvddb VALUES (NULL, '$date', '$title', '$text', '$reviewer', '$email', '$score', '$cover', '$url', '$url_title', '1', '$rlanguage', '$NEUESFELD')", $dbi);
        echo ""._ISAVAILABLE."";
    } else if ((is_admin($admin)) && ($id != 0)) {
        sql_query("UPDATE ".$prefix."_4ndvddb SET date='$date', title='$title', text='$text', reviewer='$reviewer', email='$email', score='$score', cover='$cover', url='$url', url_title='$url_title', hits='$hits', rlanguage='$rlanguage', NEUESFELD='$NEUESFELD' where id = $id", $dbi);
        echo ""._ISAVAILABLE."";
    } else {
        sql_query("INSERT INTO ".$prefix."_4ndvddb_add VALUES (NULL, '$date', '$title', '$text', '$reviewer', '$email', '$score', '$url', '$url_title', '$rlanguage, '$NEUESFELD)", $dbi);
        echo ""._EDITORWILLLOOK."";
    }


"NEUESFELD" entspricht dann einem neuen Formularfeld, welches den Namen NEUESFELD hat und gleichzeitig dem zusätzlichen Tabellenfeld NEUESFELD.


ps:
gleich den ersten Bug im Modul gefunden,
die Variable $rlanguage wird im Funktionskopf nicht übergeben, im Beispiel ist es gleich ergänzt.


Was ist bei dem Teil eigentlich anders im Vergleich zum Reviews-Modul, worauf es basiert?


EDIT:
uuups, Jubilee war schneller...  :'(
schön´s Grüssle, Andi

Snow2002

ah...hm, also erstmal vielen Dank euch beiden, da ich mein Feierabend ja schonmal gerettet. Werde mich heute Nachmittag mal dran begeben. Was da nun groß anders im Vergleich zum reviews Modul ist weiß ich nicht... Wenn ich irgendwo nicht weiter komme (davon gehe ich schon mal feste aus), werde ich euch hier nochmal belästigen ::)

Danke und Gruß,

Marcus
Gruß, Marcus

--------
pragmaMx 0.1.10 RC1, 1.30.2.12/2008-01-29
PHP-Version:    5.1.2  (PHP-Info)
MySQL-Version: 4.1.18-standard
Server-Version:  Apache/1.3.37 (Unix)
SMF: 1.1.4

jubilee

Zitatuuups, Jubilee war schneller... 
Hab ja auch nicht soviel geschrieben ;)

Snow2002

#6
So ich habe das mal mit scoreg (für gondeln) ausprobviert.
Fehler bekomme ich zwar nicht angezeigt, allerdings habe ich wohl noch irgendwo was vergessen, denn meine Gondeln tauchen weder in der Vorschau noch nach dem Absenden auf :-\ Wo fehlt denn noch was?

Gruß, Marcus
Gruß, Marcus

--------
pragmaMx 0.1.10 RC1, 1.30.2.12/2008-01-29
PHP-Version:    5.1.2  (PHP-Info)
MySQL-Version: 4.1.18-standard
Server-Version:  Apache/1.3.37 (Unix)
SMF: 1.1.4

jubilee

#7
Hallo !
1. Du hast zwar im case Block den Funktionsaufruf (preview_dvd) angepasst und dort die Variable dazugeschrieben.
   Allerdings im eigentliche Funktionskopf (mitten im Script) fehlt die Variable dann wieder.

2. Dann muss es unten in der Funktion preview_dvd in dem Formular unten auch hinzugefügt werden damit es an die
Funktion send_review weitergegeben wird

3. Dann muss es im Funktionskopf von send_review hinzugefügt werden.
4. dann muss auch die SQL-Abfrage(n) INSERT INTO/UPDATE  dementsprechend angepasst werden.

Was meint Ihr, warum das Umbauen eines Modules so lange dauert ;)
MfG
jubilee

Snow2002

Zitat von: jubilee am 10 März 2005, 12:41:42
Was meint Ihr, warum das Umbauen eines Modules so lange dauert ;)
MfG
jubilee

Naja, man sollte echt geduldiger sein...lol. Das alles etwas länger dauert, als man sich als Fast-Laie vosrstellt, kann ich nachvollziehen..seufz.
- Wenn dann noch so ne Birne wie ich da dran geht...lol... Naja, werde trotzdem dran bleiben!

Danke mal wieder,

Marcus
Gruß, Marcus

--------
pragmaMx 0.1.10 RC1, 1.30.2.12/2008-01-29
PHP-Version:    5.1.2  (PHP-Info)
MySQL-Version: 4.1.18-standard
Server-Version:  Apache/1.3.37 (Unix)
SMF: 1.1.4

Snow2002

#9
So, habe die sql geändert...
Ich bekomme diese Fehlermeldung:
ZitatFehler

SQL-Befehl : 

CREATE TABLE nuke_4ndvddb(

id int( 10 ) NOT NULL AUTO_INCREMENT ,
date date NOT NULL default '0000-00-00',
title varchar( 150 ) NOT NULL default '',
text text NOT NULL ,
reviewer varchar( 20 ) default NULL ,
email varchar( 60 ) default NULL ,
score int( 10 ) NOT NULL default '0',
scoreg int( 10 ) NOT NULL default '0',
cover varchar( 100 ) NOT NULL default '',
url varchar( 100 ) NOT NULL default '',
url_title varchar( 50 ) NOT NULL default '',
hits int( 10 ) NOT NULL default '0',
rlanguage varchar( 30 ) NOT NULL default '',
PRIMARY KEY ( id ) ,
KEY id( id )
) TYPE = MYISAM

MySQL meldet:


#1050 - Table 'nuke_4ndvddb' already exists


Was habe ich denn diesmal vergessen?
Gruß, Marcus

--------
pragmaMx 0.1.10 RC1, 1.30.2.12/2008-01-29
PHP-Version:    5.1.2  (PHP-Info)
MySQL-Version: 4.1.18-standard
Server-Version:  Apache/1.3.37 (Unix)
SMF: 1.1.4

jogi24

hi

das was du einspielen möchtest ist doch schon da  ;D ;D

#1050 - Table 'nuke_4ndvddb' already exists

Snow2002

#11
jau, sorry, hatte was falsches kopiert..DAS hier ist meine Fehlermeldung:
Fehler

SQL-Befehl : 

INSERT INTO mx_4ndvddb( id, date, title, text, reviewer, email, score, scoreg, cover, url, url_title, hits, rlanguage )
VALUES ( 1, '1975-12-10', '4thDimension NetworkingŽ History-Deutsch', '<b>4thDimension Networking</b>Ž DvD - 1<br>Never drive faster like your angel can fly!', '2003', 'DTS 7.1', 10, 'jason.gif', 'http://www.4thDimension.de', '4thDimension NetworkingŽ', 1, 'german' )

MySQL meldet:


#1136 - Column count doesn't match value count at row 1


Hier meine sql:
#/************************************************************************/
#/* 4n DvD-Database Version 0.91 (german & english)                      */
#/* for phpNUKE Version 6.0 - 6.8 (http://phpnuke.org)                   */
#/* Also for 4nNukeWare (www.nukeware.net) all 0.9er Versions            */
#/* ==================================================================== */
#/* By WarpSpeed (Marco Wiesler) (warpspeed@4thDimension.de) @ Aug/2oo3  */
#/* http://www.warp-speed.de @ 4thDimension.de Networking                */
#/* ==================================================================== */
#/* Based on:                                                            */
#/* phpNUKE Reviews Module                                               */
#/* ======================                                               */
#/* Author: Francisco Burzi                                              */
#/* Website: http://www.phpnuke.org                                      */
#/* ==================================================================== */
#/* This program is free software. You can redistribute it and/or modify */
#/* it under the terms of the GNU General Public License as published by */
#/* the Free Software Foundation; either version 2 of the License.       */
#/************************************************************************/

# NOTE: It is better/saver you use the 4ndvddb-mysql-setup.php file
# for creating the mySQL Tables !!!

# If you have another mySQL prefix like nuke, then just replace all nuke_
# strings in this file with the one matching to your mySQL prefix, before
# you execute/use it. Note: CASE SENSITIVE and don't forget the ending _

CREATE TABLE mx_4ndvddb (
  id int(10) NOT NULL auto_increment,
  date date NOT NULL default '0000-00-00',
  title varchar(150) NOT NULL default '',
  text text NOT NULL,
  reviewer varchar(20) default NULL,
  email varchar(60) default NULL,
  score int(10) NOT NULL default '0',
  scoreg int(10) NOT NULL default '0',
  cover varchar(100) NOT NULL default '',
  url varchar(100) NOT NULL default '',
  url_title varchar(50) NOT NULL default '',
  hits int(10) NOT NULL default '0',
  rlanguage varchar(30) NOT NULL default '',
  PRIMARY KEY  (id),
  KEY id (id)
) TYPE=MyISAM;

INSERT INTO mx_4ndvddb (id, date, title, text, reviewer, email, score, scoreg, cover, url, url_title, hits, rlanguage) VALUES (1, '1975-12-10', '4thDimension NetworkingŽ History-Deutsch', '<b>4thDimension Networking</b>Ž DvD - 1<br>Never drive faster like your angel can fly!', '2003', 'DTS 7.1', 10, 'jason.gif', 'http://www.4thDimension.de', '4thDimension NetworkingŽ', 1, 'german');
INSERT INTO mx_4ndvddb (id, date, title, text, reviewer, email, score, scoreg, cover, url, url_title, hits, rlanguage) VALUES (2, '1975-12-10', '4thDimension NetworkingŽ History-English', '<b>4thDimension Networking</b>Ž DvD - 1<br>Never drive faster like your angel can fly!', '2003', 'DTS 7.1', 10, 'jason.gif', 'http://www.4thDimension.de', '4thDimension NetworkingŽ', 1, 'english');

CREATE TABLE mx_4ndvddb_add (
  id int(10) NOT NULL auto_increment,
  date date default NULL,
  title varchar(150) NOT NULL default '',
  text text NOT NULL,
  reviewer varchar(20) NOT NULL default '',
  email varchar(60) default NULL,
  score int(10) NOT NULL default '0',
  scoreg int(10) NOT NULL default '0',
  url varchar(100) NOT NULL default '',
  url_title varchar(50) NOT NULL default '',
  rlanguage varchar(30) NOT NULL default '',
  PRIMARY KEY  (id),
  KEY id (id)
) TYPE=MyISAM;

CREATE TABLE mx_4ndvddb_comments (
  cid int(10) NOT NULL auto_increment,
  rid int(10) NOT NULL default '0',
  userid varchar(25) NOT NULL default '',
  date datetime default NULL,
  comments text,
  score int(10) NOT NULL default '0',
  PRIMARY KEY  (cid),
  KEY cid (cid),
  KEY rid (rid),
  KEY userid (userid)
) TYPE=MyISAM;

CREATE TABLE mx_4ndvddb_main (
  title varchar(100) default NULL,
  description text
) TYPE=MyISAM;

INSERT INTO mx_4ndvddb_main (title, description) VALUES ('DvD-Datenbank Titel<br>DvD-Database Title', 'DvD-Datenbank Beschreibung hier eingeben.<br>Enter here the DvD-Database Description.');
Gruß, Marcus

--------
pragmaMx 0.1.10 RC1, 1.30.2.12/2008-01-29
PHP-Version:    5.1.2  (PHP-Info)
MySQL-Version: 4.1.18-standard
Server-Version:  Apache/1.3.37 (Unix)
SMF: 1.1.4

jubilee

Hmmm


ZitatINSERT INTO mx_4ndvddb( id, date, title, text, reviewer, email, score, scoreg, cover, url, url_title, hits, rlanguage )
13 Tabellenspalten
ZitatVALUES ( 1, '1975-12-10', '4thDimension NetworkingŽ History-Deutsch', '<b>4thDimension Networking</b>Ž DvD - 1<br>Never drive faster like your angel can fly!', '2003', 'DTS 7.1', 10, 'jason.gif', 'http://www.4thdimension.de', '4thDimension NetworkingŽ', 1, 'german' )
Aber nur 12 Werte die in die Tabelle eingefügt werden .....
Das ergibt die Fehlermeldung
Zitat#1136 - Column count doesn't match value count at row 1
= Spaltenzählung ungleich Wertezählung.
Im INSERT hat Du ja die neue Spalte angegeben. Hast du deren Gegenpart (die Variable) denn bei VALUES auch angegeben ???
BTW: ID ist ein Autoincrement-Wert. Da ist es bei Insert (nicht bei UPDATE) shon besser, keinen Wert zu übergeben.
Lässt also bei INSERT die id weg und bei VALUES den Wert dafür.

Mfg
jubilee


Snow2002

Zitat von: jubilee am 10 März 2005, 19:33:30
Hmmm
Im INSERT hat Du ja die neue Spalte angegeben. Hast du deren Gegenpart (die Variable) denn bei VALUES auch angegeben ???
BTW: ID ist ein Autoincrement-Wert. Da ist es bei Insert (nicht bei UPDATE) shon besser, keinen Wert zu übergeben.
Lässt also bei INSERT die id weg und bei VALUES den Wert dafür.
Puh...tut mir leid, aber da blicke ich jetzt nicht mehr durch...
Was ist denn der Gegenpart? Und was meinst du damit bei ISERT die ID wegzulassen und bei VALUES dafür den Wert? :-[
Gruß, Marcus

--------
pragmaMx 0.1.10 RC1, 1.30.2.12/2008-01-29
PHP-Version:    5.1.2  (PHP-Info)
MySQL-Version: 4.1.18-standard
Server-Version:  Apache/1.3.37 (Unix)
SMF: 1.1.4

jubilee

Hallo !
ZitatWas ist denn der Gegenpart? Und was meinst du damit bei INSERT die ID wegzulassen und bei VALUES dafür den Wert?
Vergiss es, wenn es vom Reviews-Modul abstammt brauchst du dir darum keinen Kopf machen.
Sorry, ich bin davon ausgegangen, das hier eine Abfrage mit INSERT/VALUE kombination vorliegt.
Das braucht natürlich nicht so sein. Ich kann den Quelltext nicht sehen, daher war es eine Vermutung das es so ist.
Du musst in der INSERT-Abfrage noch die Variable für scoreg dazuschreiben und zwar logisch in der richtigen Reihenfoge plaziert wie auch die Tabellenspalte in der Tabelle liegt.


Snow2002

#15
Gut, hatte da wirklich was vergessen. Nun be
Gruß, Marcus

--------
pragmaMx 0.1.10 RC1, 1.30.2.12/2008-01-29
PHP-Version:    5.1.2  (PHP-Info)
MySQL-Version: 4.1.18-standard
Server-Version:  Apache/1.3.37 (Unix)
SMF: 1.1.4

jubilee

Hallo !
Hatte ich dir schon heut Nachmittag geschrieben :
Zitatfunction preview_dvd($date, $title, $text, $reviewer, $email, $score, $cover, $url, $url_title, $hits, $id, $rlanguage)
In diesem Funktionskopf fehlt noch die Variable. Die hattest Du im Case teil unten im Script schon in den Funktionsaufruf eingetragen.
Der Funktionskopf muss dieselben Variablen übernehmen, sonst gehen informationen verloren.

MfG
jubilee

Snow2002

Huhu!
So, ich habe es nun unglaublicher Weise doch noch geschaft! Mein Umbau funktioniert!
Ich möchte mich nochmal ganz herzlich bei Jubilee und Tora für die geduldige Hilfe bedanken.
Ohne die Hilfe wäre der Umbau meine Lebensaufgabe geworden. Wenigstens weiß ich jetzt ein klein
wenig mehr und blicke etwas mehr durch bei dem Modul. Thanx!

Gruß, Marcus
Gruß, Marcus

--------
pragmaMx 0.1.10 RC1, 1.30.2.12/2008-01-29
PHP-Version:    5.1.2  (PHP-Info)
MySQL-Version: 4.1.18-standard
Server-Version:  Apache/1.3.37 (Unix)
SMF: 1.1.4