anpera.net https://anpera.dyndns.org/phpbb3/ |
|
Titel Editor fuer "Titel in der Datenbank " by " Meteora " https://anpera.dyndns.org/phpbb3/viewtopic.php?f=43&t=3916 |
Seite 1 von 1 |
Autor: | MySql [ Sa 18 Aug, 2007 13:53 ] | ||
Betreff des Beitrags: | Titel Editor fuer "Titel in der Datenbank " by " Meteora " | ||
Tach, Name : Titel Editor Autor : MySql Fuer : *KLICK* Einbau : Leicht. Feedback : Erwuenscht. Einbau : oeffne superuser.php und suche: [php]addnav("User-Editor","user.php");[/php] fuegge DANNACH ein: [php]addnav('Titel-Editor','titles.php');[/php] [OT] Woll des alles mit ' machen , aber so ging bei meinem PHP4 Server gar nichts, aber dafuer auf meinem PHP5. Also alles nochmal in " geschrieben ![]() [/OT] Lg MySql
|
Autor: | halfen [ Sa 18 Aug, 2007 22:43 ] |
Betreff des Beitrags: | |
was hat es für vorteile, wenn die titel in der db sind? |
Autor: | Harthas [ Sa 18 Aug, 2007 22:48 ] |
Betreff des Beitrags: | |
Man kann sie über einen Editor bearbeiten, und muss die Datei selbst nicht verändern. Der Nachteil ist die zusätzliche Tabelle. |
Autor: | Auric [ Mo 20 Aug, 2007 00:33 ] |
Betreff des Beitrags: | |
Also warum die Titel nun in die DB müssen verstehe ich auch nicht recht... es wäre da wesentlich interessanter, sie in eine Textdatei zu speichern und für die Verwaltung dieser einen Editor zu erstellen |
Autor: | Rishiêll [ Mo 20 Aug, 2007 00:43 ] |
Betreff des Beitrags: | Re: Titel Editor fuer "Titel in der Datenbank " by " Meteora " |
MySql hat geschrieben: [OT]
Woll des alles mit ' machen , aber so ging bei meinem PHP4 Server gar nichts, aber dafuer auf meinem PHP5. Also alles nochmal in " geschrieben ![]() [/OT] xD Meinst du das ernst? Es macht nicht den geringstens Unterschied von der funktionalität her ob man " oder ' benutzt und das hat nichts mit der PHP Version zu tun ![]() |
Autor: | Rikkarda [ Mo 20 Aug, 2007 08:50 ] |
Betreff des Beitrags: | |
Auric hat geschrieben: Also warum die Titel nun in die DB müssen verstehe ich auch nicht recht... es wäre da wesentlich interessanter, sie in eine Textdatei zu speichern und für die Verwaltung dieser einen Editor zu erstellen
mich früh am morgen ohne Denkfähigkeit nun äusser^^ wie soll das gehen? Du kannst schliesslich nicht einen Editor dazu bringen, eine Textdatei zu ändern oder? ![]() |
Autor: | Taikun14 [ Mo 20 Aug, 2007 09:13 ] |
Betreff des Beitrags: | |
Sollte an sich mit fwrite usw. möglich sein. ![]() |
Autor: | MySql [ Mo 20 Aug, 2007 09:30 ] |
Betreff des Beitrags: | Re: Titel Editor fuer "Titel in der Datenbank " by " Meteora |
Rishiêll hat geschrieben: MySql hat geschrieben: [OT] Woll des alles mit ' machen , aber so ging bei meinem PHP4 Server gar nichts, aber dafuer auf meinem PHP5. Also alles nochmal in " geschrieben ![]() [/OT] xD Meinst du das ernst? Es macht nicht den geringstens Unterschied von der funktionalität her ob man " oder ' benutzt und das hat nichts mit der PHP Version zu tun ![]() [php]output('<td>$row[blabla]</td>',true);[/php] oder [php]output('<td>{$row[blabla]}</td>',true);[/php] gibt er mit ' nicht aus ging bei mir nur wenn ich [php]output("<td>$row[blabla]</td>",true);[/php] oder [php]output("<td>{$row[blabla]}</td>",true);[/php] geschrieben habe ![]() |
Autor: | Harthas [ Mo 20 Aug, 2007 09:47 ] |
Betreff des Beitrags: | |
[php]output('<td>$row[blabla]</td>',true); output('<td>{$row[blabla]}</td>',true); [/php] Sind auch absoluter Humbug. Zum zweiten Beispiel: Das markieren von Variabeln mit geschweiften Klammern ist zwar möglich, allerdings eine denkbar schlechte Lösung. ".." sind um einiges besser. Und zum ersten Beispiel: Logisch, dass da nichts funktioniert. Wenn du etwas verwendest, wäre es auch ganz gut zu wissen, wieso man das macht. Single-Quote's suchen einen String nicht nach Variablen oder Funktionen ab, sondern geben ihn so aus, wie er da steht. $row[blabla] ist dann halt auch wirklich $row[blabla]. Die müssen, analog zu den Double-Quotes, von '..' eingeschlossen werden. Und dir ist ja wohl klar, dass Array's IMMER quotiert sein wollen, hm? :-P Und noch etwas. Wie man inzwischen an diesen PHP-Benchmarks erkennt, sind Double-Quote's im Schnitt schneller als alles andere. Falls Variabeln vorkommen, sollten diesen mit ".." markiert werden. |
Autor: | MySql [ Mo 20 Aug, 2007 09:49 ] |
Betreff des Beitrags: | |
Okay, soweit verstanden (man lernt auch immer wieder mehr ![]() *freu* noch mehr zum lesen , thx ![]() |
Autor: | Auric [ Mo 20 Aug, 2007 15:50 ] |
Betreff des Beitrags: | |
Rikkarda hat geschrieben: Auric hat geschrieben: Also warum die Titel nun in die DB müssen verstehe ich auch nicht recht... es wäre da wesentlich interessanter, sie in eine Textdatei zu speichern und für die Verwaltung dieser einen Editor zu erstellen mich früh am morgen ohne Denkfähigkeit nun äusser^^ wie soll das gehen? Du kannst schliesslich nicht einen Editor dazu bringen, eine Textdatei zu ändern oder? ![]() ^^ Ich korrigiere dich ja nur ungern, aber natürlich kann man mit php Textdateien modifizieren (hast du hier noch ein addon zum auslagern von Outputs in Textdateien gespeichert?) Dafrü müsste man dann eben nur einen entsprechenden Speicher- und Lesealgorhytmus schreiben, was aber auch nicht das problem sein sollte... beispielsweise einfach nach CSV-Art Speichern und dann explode/implode benutzen... mal schauen, ob ich dass vllt demnächst mal mache - aber erstmal dürft ihr euch demnächst über ein anderes Projekt von mir Freuen ;-) |
Autor: | Eliwood [ Mo 20 Aug, 2007 17:01 ] |
Betreff des Beitrags: | |
Harthas hat geschrieben: Und dir ist ja wohl klar, dass Array's IMMER quotiert sein wollen, hm? :-P Stimmt nicht ganz: Sefardius on basiNET-Forum hat geschrieben: Achtung!
Bei Arrays in Strings verhaltet es sich etwas anders. Will man die vorherige, korrekte Schreibweise in einem String gebrauchen, dann wird keine Notiz geworfen, sondern ein Fataler Fehler: $this->bbcode_second_pass_code('', 'print "Der Apfel ist $Apfel['Farbe']";') Schreibt man Arrays so in Strings, dann kann man das auf 2 korrekte Art und Weise tun. Entweder so, wie wir es vorher gelernt haben, wie man es eigentlich nicht tut: $this->bbcode_second_pass_code('', 'print "Der Apfel ist $Apfel[Farbe]";') Oder so, mit geschweiften Klammern: $this->bbcode_second_pass_code('', 'print "Der Apfel ist {$Apfel['Farbe']}";') Ersteres ist keineswegs falsch, der PHP-Interpreter sucht hier nicht nach ner Konstante. Trotzdem sollte zweite Möglichkeit genommen werden, da der PHP-Interpreter nur eindimensionale Arrays in Strings findet, nicht aber mehrdimensionale. Mit den Klammern findet er auch mehrdimensionale: $this->bbcode_second_pass_code('', 'print "Der $Frucht[Apfel][Name] ist $Frucht[Apfel][Farbe]"; print "Der {$Frucht['Apfel']['Name']} ist {$Frucht['Apfel']['Farbe']}";') Die erste Zeile wird folgendes Ausgeben, wider Erwarten: Zitat: Der Array[Name] ist Array[Farbe] Und die Zweite, erwartungsgemäss: Zitat: Der Apfel ist gelb Quelle |
Autor: | Rikkarda [ Mo 20 Aug, 2007 18:45 ] |
Betreff des Beitrags: | |
Auric hat geschrieben: Rikkarda hat geschrieben: Auric hat geschrieben: Also warum die Titel nun in die DB müssen verstehe ich auch nicht recht... es wäre da wesentlich interessanter, sie in eine Textdatei zu speichern und für die Verwaltung dieser einen Editor zu erstellen mich früh am morgen ohne Denkfähigkeit nun äusser^^ wie soll das gehen? Du kannst schliesslich nicht einen Editor dazu bringen, eine Textdatei zu ändern oder? ![]() ^^ Ich korrigiere dich ja nur ungern, aber natürlich kann man mit php Textdateien modifizieren (hast du hier noch ein addon zum auslagern von Outputs in Textdateien gespeichert?) Dafrü müsste man dann eben nur einen entsprechenden Speicher- und Lesealgorhytmus schreiben, was aber auch nicht das problem sein sollte... beispielsweise einfach nach CSV-Art Speichern und dann explode/implode benutzen... mal schauen, ob ich dass vllt demnächst mal mache - aber erstmal dürft ihr euch demnächst über ein anderes Projekt von mir Freuen ;-) ja schon.. aber ob ich da eine datei dazu bringe, mir die titel zu ändern ist doch für mich etwas anderes *ggg und es sind textdatein.. ich habe die Titel aber in einer lib liegen und naja wenns geht fein ![]() |
Autor: | MySql [ Mi 22 Aug, 2007 14:48 ] |
Betreff des Beitrags: | |
*uff* Ich sehe schon so ein Editor kommt nicht gut an *lach* Aber naja *gurbel* hab ne trotzdem gerne gemacht ... @Auric wie meinst du des? o.o |
Autor: | Auric [ Mi 22 Aug, 2007 21:09 ] |
Betreff des Beitrags: | |
Öhm, also folgendes: Da die Titel ja nur reichlich selten benutzt werden, sehe ich es als unnötige Serverlast, die bei jeden Seitenaufruf aus der DB zu holen. Nun könnte man es so machen, das man sie entweder in eine stumpfe TSV/Textdatei scheibt, was allerdings einen ähnichen Effekt hätte - nur eben ohne Datenbank. Geschickter wäre es allerdings, das Array in eine php-Datei auszulagern, die über einen editor verändert werden kann - auch das ist relativ einfach zu lösen: die Datei einfach per include lesen und das $array übernehmen. Zum schreiben dann das array mithilfe einer Schleife als string zusammensetzen, <?php und ?> drumrum und dann einfach die datei überschreiben. [php] require_once("titles.php"); $datastr = '<?php'."\n".'$titles = array('."\n"; foreach($titles as $key=>$val) { $datastr .= "\t".$key.'=>array("'.$val[0].'","'.$val[1].'"),'."\n"; } $datastr .= "?>"; file_put_contents('titles.php',$datastr); [/php] Und zwischendurch müsste nur das array entsprechend verändert werden - mehr isses im prinzip nicht. So long, Auric |
Autor: | skywalker031 [ Fr 16 Nov, 2007 12:32 ] |
Betreff des Beitrags: | |
Ich hab da mal ne frage, ich habe die titels in die db gepackt, den titeleditor installiert. Wenn ich nun auf Titel editieren klicke, bekomme ich folgendes Bild. Ich muss dazu sagen, dass meine Titel alle mit Farbcodes versehen sind. ![]() Hier auch gleich den Code vom Editor, der besagten stelle: $this->bbcode_second_pass_code('', 'case 'edit': page_header ('Titel Editieren'); $sql = "SELECT * FROM titles WHERE t_id='$_GET[title]'"; $sow = db_query($sql); $row = db_fetch_assoc($sow); output("<form action='titles.php?op=update&title={$row['t_id']}' method='post'>". "<input name='neededdk' value='".$row[neededdk]."'>(DK)<br>". "<input name='m_title' value='".$row[m_title]."'>(Maletitle)<br>". "<input name='f_title' value='".$row[f_title]."'>(Femaletitle)<br>". "<input type='submit' class='button' value='Titel editieren'>". "<input type='reset' class='button' value='Eingaben zurueck setzten'>". "</form>",true); addnav('Abbrechen','titles.php'); addnav("","titles.php?op=update&title={$row['t_id']}"); break; case 'update': page_header ('Titel editiert'); $lqs = "UPDATE titles SET neededdk='".$_POST[neededdk]."', m_title='".$_POST[m_title]."', f_title='".$_POST[f_title]."' WHERE t_id='$_GET[title]'"; db_query($lqs); addnav('Titel auflisten','titles.php'); output('Titel editiert.'); break;') Wer kann mir sagen, wie ich den code ändern muss, damit ich nicht die html-befehle beim editieren angezeigt bekomme? |
Autor: | Linus [ Fr 16 Nov, 2007 14:45 ] |
Betreff des Beitrags: | |
skywalker031 hat geschrieben: Hier auch gleich den Code vom Editor, der besagten stelle:
$this->bbcode_second_pass_code('', ' ... output("<form action='titles.php?op=update&title={$row['t_id']}' method='post'>". "<input name='neededdk' value='".$row[neededdk]."'>(DK)<br>". "<input name='m_title' value='".$row[m_title]."'>(Maletitle)<br>". "<input name='f_title' value='".$row[f_title]."'>(Femaletitle)<br>". "<input type='submit' class='button' value='Titel editieren'>". "<input type='reset' class='button' value='Eingaben zurueck setzten'>". "</form>",true); .... ') Wer kann mir sagen, wie ich den code ändern muss, damit ich nicht die html-befehle beim editieren angezeigt bekomme? Mach aus dem output(" ... ") einfach rawoutput(" ... ") Dann sollte es auch mit Farbcodes funktionieren ![]() |
Autor: | skywalker031 [ Fr 16 Nov, 2007 14:57 ] |
Betreff des Beitrags: | |
Super, es hat funktioniert. Danke |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |