Content Management System - CMS : eXV2 
Home
News
Forum
Downloads
Download Module
Sitemap
Partnerseiten
RSS News
Kontakt/Info
Sprache
EnglishFrench
Suchen
Login
Nickname
Passwort

Registrieren?
Passwort?
Navigation
 Home News  Forum Neueste Beiträge  Downloads Download Module eXV² Themes  Weblinks Tutorial Changelog 2.3.1 Jobcenter Gebrauchtmarkt OSMap  Sponsor Kalendersystem Sitemap Partnerseiten RSS News Kontakt/Info Webseiten Wetter
Willkommen im Free Web CMS : eXV² Forum!
  Forenarchiv
     eXV2 Module
  SQL-Statements für neue Module

Forum : eXV2 Module

Titel : SQL-Statements für neue Module

© 2004-2012 www.exv2.de
http://www.exv2.de

URL dieser Diskussion
http://www.exv2.de/modules/newbb_plus/viewtopic.php?topic_id=264&forum=7


 FrankP :

06.04.2003 13:48
 Hallo,

welchen Trick muss man als SQL-Newbie eigentlich beachten, wenn man für ein eigenes Modul seine erforderlichen Tabellen und Änderungen anlegen möchte.

Das erstellen über CREATE TABLE funktioniert einwandfrei, was absolut nicht geht ist das ereitern vorhandener Tabellen über z. B.:

ALTER TABLE e_xoops_glossaire ADD submitter TINYINT( 8 ) NOT NULL default '0';

Die Installationsroutine im Adminbereich meldet jedesmal einen ungültigen SQL-Befehl.
Die gleiche Zeile in myphpAdmin funktioniert aber super.

Any hints ???

Danke und bye
Frank

 Nobse :

06.04.2003 14:39
 Du must schon eine kleine update.php schreiben.
Ich nehme an du hast das in die sql.php des moduls gesetzt dort ergibt es keinen Sinn.

Update.php

<?php
include("../../mainfile.php");
include(XOOPS_ROOT_PATH."/header.php");
global $db;
$result = $db->queryF("ALTER TABLE ".$db->prefix("glossaire")." ADD submitter TINYINT(8) NOT NULL DEFAULT '0'");
include (XOOPS_ROOT_PATH."/footer.php");
?>

Sollte so klappen.

 FrankP :

06.04.2003 17:06
 Ahhhh. I see.....

Wo bindet man denn diese update.php dann am besten ein, so dass sie ausgeführt wird, wenn der Admin über die Modulseite das Modul installieren möchte?

Danke für die extrem schnelle Antwort !!!
bye
Frank

 Nobse :

06.04.2003 17:25
 Die Update.php ist für den fall das das Module installiert ist und schon Daten in der DB sind, dann kann über die update ein feld zugefügt werden.
Wenn du beim installieren des Modules das zusätzliche Feld haben willst dann über die SQL.PHP des Modules.


CREATE TABLE glossaire (
id int(10) DEFAULT '0' NOT NULL auto_increment,
lettre varchar(8) NOT NULL,
nom longtext NOT NULL,
definition longtext NOT NULL,
affiche varchar(5) NOT NULL,
lien varchar(255) NOT NULL,
submitter TINYINT(8) NOT NULL DEFAULT '0',
PRIMARY KEY (id),
UNIQUE id (id)
);

so wird beim installieren des Modules auch dein Feld angelegt.

 FrankP :

06.04.2003 18:44
 Das ist ja genau mein Problem.

Die neuen Tabellen zu erstellen klappt super. Aber kann man das notwendige erweitern bereits vorhandener Tabellen auch über dieses SQL-Script forcieren, da diese neuen Felder ja ebenfalls benötigt werden?
Wenn nein ist es also erforderlich:
- Verzeichnisse erstellen
- Moduladministration --> Installieren
- Über Browser URL die Update.php aufrufen.

Korrekt?

Vielen Dank und ciao,
Frank

 Nobse :

06.04.2003 22:38
 Das geht nur über eine Update.php.
Wenn du die admin/index.php auch modifizierst kannst du es darüber abfangen
- abfrage ob tabellenfeld vorhanden
- wenn nicht anlegen

 FrankP :

07.04.2003 16:05
 Alles klar.

Leider erschwert dass ein Weitergeben des Moduls.

Dann ist es halt ein Thema für 'ne readme Smile

Nochmal Danke,

bis demnächst,
Frank
Partnerseiten
http://demo.exv2.de

Vote für eXV2
php
Kontakt/Info
  Kontakt
  Impressum
  Link zu uns
  AGB
  Datenschutzhinweis
Downloads
  eXV² Core
  Core Sprachfiles
eXV² Filecenter
  Downloads
  Download Module
  eXV² Themes
  Multilanguage Module
  Sprachfiles eXV² Module
eXV² Support
  France