anpera.net
https://anpera.dyndns.org/phpbb3/

Regeln per Datenbank ^^
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=3949
Seite 1 von 2

Autor:  Heximus [ Mi 29 Aug, 2007 17:43 ]
Betreff des Beitrags:  Regeln per Datenbank ^^

Ja also das mein erstes richtiges Script..Nun ich hoffe euch gefällt es und naja dann mal zur beschreibung ^^...

Das Script macht ne einfache Sqlabfrage und setzt dies in eine Tabelle dar...Man kann dort gesetze reinmachen oder auch andere Sachen...Naja mehr ist dazu eigentlich nicht zu sagen...

Ach ja fals MySql das lesen sollte hab diesmal auch nicht das Copyright vergessen (hoff ich zumindestens)

Mfg,
Heximus

PS: Bitte sagt eure Meinung dazu ^^

Autor:  MySql [ Mi 29 Aug, 2007 17:49 ]
Betreff des Beitrags: 

Das Archiv ist kaputt, es laesst sich nicht oeffnen ;)

Und das mit dem Copyright war "nicht" auf "eigene" Scripte bezoggen, sondern auf die Scripte, die die anderen User / Codder geschrieben habe.

Autor:  Heximus [ Mi 29 Aug, 2007 17:50 ]
Betreff des Beitrags: 

Also ich kann die Datei öffnen...Sehr komisch o.O

Autor:  MySql [ Mi 29 Aug, 2007 17:52 ]
Betreff des Beitrags: 

Naja habe es nun dan doch mit dem Winccomander geschaft :D

Nur verstehe ich nicht ganz, warum man seine Datenbank für sowas nochmehr vollstopfen muss? Daher man es per phpMyAdmin dan immernoch manuell eingeben muss..

Autor:  Heximus [ Mi 29 Aug, 2007 17:55 ]
Betreff des Beitrags: 

Naja ich hab ja auch geschrieben das es mein erstes richtiges Script ist...Naja und da ist mir irgendwie ne Regel dingsbums eingefallen da ich das eh schon machen wollte da Banshee (die den den Befehl für die Db gemacht hat) mir das schon mal gemacht hat und ich es jetzt vervollständigen wollte ^^

Autor:  MySql [ Mi 29 Aug, 2007 18:00 ]
Betreff des Beitrags: 

Okay.....

Evt. kannst du ja auch noch den Verfasser mit ins script bringen !?

wuerd ich dan so machen^^:

[php]suche:

$sql = "SELECT paragraph,inhalt,inhalt1

ersetzte durch

$sql = "SELECT paragraph,inhalt,inhalt1,verfasser

suche weiter:

<td><b>`#Strafe gegen Verstoß</b></td>

fuege dananach ein:

<td><b>`#Verfasser`0</b></td>

suche weiter:

<td>{$row['inhalt1']}</td>

fuege danach ein

<td>{$row['verfasser']}</td>[/php]

SQL

$this->bbcode_second_pass_code('', 'ALTER TABLE gesetz ADD verfasser VARCHAR(55) NOT NULL default 'Unbekannter Verfasser';')

Ansonsten ist es ganz schoen geworden. Btw. kannst dich ja mal an drei zusatz sachen versuchen

Ersetellen der Gesetze
Editieren der Gesetze
Loeschen der Gesetze

Damit man nicht imer in den PHPMyAdmin gehen muss ;)

*Lob von mir*

MySQL

Autor:  Heximus [ Mi 29 Aug, 2007 18:02 ]
Betreff des Beitrags: 

Hmm joa werd ich mal gucken ^^

Das mit dem Verfasser finde ich auch ne gute Idee...
Das mit dem Editieren löschen etc auch...Ich werde ich mal am WE dran setzen und vielleicht wenn ich es geschafft habe neu reinsetzen ;)


*freut sich über das Lob von MySql* :D :D

Mfg,
Heximus

Autor:  Taikun14 [ Mi 29 Aug, 2007 18:17 ]
Betreff des Beitrags: 

Du solltest die Sachen nächstes Mal in .rar oder .zip packen, dann kann man sie auch mit Winrar öffnen.

Dann zum Eigentlichen: natürlich ist das keine schlechte Idee, das über Datenbank zu machen, aber man könnte es natürlich auch über Textfiles machen, aber jedem das Seine. :)

Ich hätte dir das ja mal mit dem Editieren/Löschen ranhängen können, aber versuch du es erstmal alleine.

Was ich dir noch empfehlen würde, wäre, den Regeln noch eine ID zuzuordnen.

Also:
id | auto increment | primary key :)

Autor:  Heximus [ Mi 29 Aug, 2007 18:23 ]
Betreff des Beitrags: 

Ja das mit dem .rar oder .zip ist mir ebend wohl entfallen obwohl mir das schon mal wer gesagt hat ^^ Öhm ja... Also wenn ich es absolut nicht hinbekomme nehm ich deine hilfe gerne an ^^

Aber eins versteh ich jetzt nicht...Das mit der ID..Wies sollte das denn z.b. aussehen??

Autor:  Taikun14 [ Mi 29 Aug, 2007 18:29 ]
Betreff des Beitrags: 

Du müsstest dann einfach ein Feld hinzufügen, das die Eigenschaften auto increment und primary key hat, geht am besten manuell - aber ich sehe grade, du hast ja Paragraph angegeben - die Zahlen vom Paragraph kannst du natürlich auch nehmen um einzelne Regeln zu editieren. Das mit ID ist einfach eine Sache, die man sich angewöhnt hat, um den einzelnen Spalten einfach direkt eine Nummer zuweisen zu können.

Autor:  Heximus [ Mi 29 Aug, 2007 18:31 ]
Betreff des Beitrags: 

Achso na dann ^^ Jetzt hab auch ich es verstanden ;D
Naj wie gesagt ichb werde mich am Wochenedne mal dransetzen und gucken ob ich es hinbekomme ^^

Autor:  MySql [ Mi 29 Aug, 2007 18:32 ]
Betreff des Beitrags: 

$this->bbcode_second_pass_code('', 'ALTER TABLE gesetz ADD id INT(11) NOT NULL auto_increment,
PRIMARY KEY (`id`)')

so^^

damit wenn man etwas loeschen / editieren will auch das richtige editiert o.ô
Und so ist es übersichtlicher^^

Lg

EDIT:

Da war wohl jemand schneller o.o^^
Da geh ich nie wieder auchen wenn ich n post schreibe o.ô

Autor:  Heximus [ Do 30 Aug, 2007 19:23 ]
Betreff des Beitrags: 

@MySql
Also ich hab ma dein Code in die Db eingegebene und bekomme nen Fehler:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PRIMARY KEY (`id`)' at line 2


Ich hab das ebend auch schon so mit dem löschen versucht und er sagt mir immer den selben fehler...

Autor:  Eliwood [ Do 30 Aug, 2007 19:36 ]
Betreff des Beitrags: 

Taikun14 hat geschrieben:
Du solltest die Sachen nächstes Mal in .rar oder .zip packen, dann kann man sie auch mit Winrar öffnen.


bzip2 ist für Textdateien am besten geeignet. IMO. Verdammt gute Kompression und für alle Systeme verfügbar.
rar ist keine gute Idee - es gibt Systeme, die rar nicht entpacken können (oder wollen).
Am einfachsten dürfte allerdings trotzdem zip sein.. Nun ja, jedem das seine.

PS: Auch ich finde Textdateien hier einiges geeigneter. Man spart Queries, sind einfacher zu bearbeiten (file_get_contents(), file_put_contents()), beständiger.

PPS:
$this->bbcode_second_pass_code('', 'ALTER TABLE blah ADD id SERIAL, ADD PRIMARY KEY ( `id` );
ALTER TABLE blah DROP INDEX `id`')

Autor:  Heximus [ Do 30 Aug, 2007 19:49 ]
Betreff des Beitrags: 

Ah ja danke Eliwood ^^ Der hat jetzt geklappt...

Werde mich jetzt vielleicht dran setzen vonwegen Löschen und so ^^


EDIT: Hab mal ne Frage..Wenn ich jetzt was Löschen will muss ich da auch ne Sql Abfrage starten oder so?

Autor:  Taikun14 [ Fr 31 Aug, 2007 07:42 ]
Betreff des Beitrags: 

Eliwood hat geschrieben:

bzip2 ist für Textdateien am besten geeignet. IMO. Verdammt gute Kompression und für alle Systeme verfügbar.
rar ist keine gute Idee - es gibt Systeme, die rar nicht entpacken können (oder wollen).
Am einfachsten dürfte allerdings trotzdem zip sein.. Nun ja, jedem das seine.
[/quote]

Dann sollte man am besten 2 Dateien öffnen - ich hab' eigentlich nich' immer Lust mir neue Proggis zu saugen, nur weil Winrar bzw. Winzip das Format nich' entzippen kann. :P

@Heximus

Wenn du was aus der DB löschen willst, dann musst du einen Query ausführen, ist doch logisch? :)

[php]
delete from bla where bla;
[/php]

usw. ^^

Autor:  MySql [ Fr 31 Aug, 2007 11:56 ]
Betreff des Beitrags: 

Taikun bevor er loeschen kann, muss er doch erstmal die ID übermitteln :? :?

sonst loescht wer alle o.ô oder die kleinste ID die vorhanden ist ;)

Beispiel:

[php]output("<td><a href='Your Scriptname.php?op=delete&gesetz={$row['id']}'>Löschen</a></td>");[/php]

und im case / if muss dan bei der loesch abfrage noch

[php]WHERE id='$_GET[gesetz]'";[/php]

mit rein ..

Autor:  Heximus [ Fr 31 Aug, 2007 13:21 ]
Betreff des Beitrags: 

Hm also hab jetzt mal ne Sql eingebaut und naja irgendwie funzt das nich ^^
Bekomme folgenden Fehler:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /www/htdocs/logddr/dbwrapper.php on line 81

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/logddr/dbwrapper.php:81) in /www/htdocs/logddr/common.php on line 146
‹xÍ\[Û¸±¶?ÂmC»±uµ›Äµõ5Ù®÷rb'iö¡Yˆ„$Ö©‚ çtÏWíË~†}Ú‡ó€¤(‰ºDq)ùÙ¤ æ>ƒÂÛ­Gç?œÝ¼ûñ‚½¼ùîŠýøúôê›3fíW«o›gÕêù͹ypP©ÕÙ

Autor:  MySql [ Fr 31 Aug, 2007 13:30 ]
Betreff des Beitrags: 

suche

[php]$sql = "SELECT paragraph,inhalt,inhalt,loeschen FROM gesetz ";
$sow = db_query($sql);
output("Eintrag löschen:
<table border=0 cellpadding=2 cellspacing=1
bgcolor='#FFFFFF'>
<tr class='trhead'>
<td><b>`$ Paragraph</b></td>
<td><b>`9Beschreibung der Regel</b></td>
<td><b>`#Strafe gegen Verstoß</b></td>
<td><b>`9Löschen</b></td>",true);
while ($row = db_fetch_assoc($sow))
{
output("<tr class='".($i%2?"trdark":"trlight")."'>
<td>{$row['paragraph']}</td>
<td>{$row['inhalt']}</td>
<td>{$row['inhalt1']}</td>
<td>{$row['loeschen']}</td>
<td><a href='Regeln.php?op=delete&gesetz={$row['paragraph']}'>Löschen</a></td>",true);

$sql = "DELETE FROM gesetz WHERE paragraph='$_GET[gesetz]'";
$sow = db_query($sql);[/php]

und ersetzte durch:

[php] output('`c`b`&Eintrag löschen!`c`b`0
Eintrag gelöscht.');
addnav('Zurück','Regeln.php');
$delete = "DELETE FROM gesetz WHERE paragraph='$_GET[gesetz]'";
db_query($delete);[/php]

und ich moechte dir noch etwas nahe legen o.ô

Paragraphen werden meist §5.1 geschrieben eine ID aber wird 1 oder 2 oder 3 etc. pp geschrieben . Daher wuerde ich es dir raten es so zu machen

SQL :

$this->bbcode_second_pass_code('', 'ALTER TABLE gesetz
ADD id INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY;')

und dan dein <a href='bla bla &gesetz={$row['id']}'> + addnav("","ba bla &gesetz={$row['id']}");
zu machen ;)

dan wuerde mein geposteter code so lauten :

[php] output('`c`b`&Eintrag löschen!`c`b`0
Eintrag gelöscht.');
addnav('Zurück','Regeln.php');
$delete = "DELETE FROM gesetz WHERE id='$_GET[gesetz]'";
db_query($delete);[/php]

Autor:  Heximus [ Fr 31 Aug, 2007 13:49 ]
Betreff des Beitrags: 

Hmm also hab es jetzt mal alles so ersetz mit dem Paragraphen aber wenn ich dann auf Löschen klicke dann kommt einfach nur eine ganz normale Seite wo dann drüber steht:
Eintrag Löschen

Eintrag gelöscht



Heximus

Seite 1 von 2 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/