ERLEDIGT
NEIN
NEIN
ANTWORTEN
8
8
ZUGRIFFE
905
905
EMPFEHLEN
-
Hallo zusammen,
erstmal vorab ich suche in diesem Thread nicht nach einer Problemlösung ich suche
einfach nach Tipps von euch wie ich es besser machen könnte.
Kurz zu mir, dies ist mein erster Versuch PHP zu programmieren, ich habe mich vorher
durch viele Threads dieses Forums gekämpft, Tutorials gelesen, das PHP Handbuch im
Internet und und und... Mit den gesammelten Informationen habe ich dann eine
Druckerdatenbank programmiert, in der man geteste Drucker und Informationen zu deren
Eigenschaften, Schnittstellenkonfigurationen etc. eintragen, löschen, bearbeiten und
suchen kann.
Nun habe ich folgende bitte an euch, ich bin dabei PHP zu lernen, und daher würde
ich es klasse finden, wenn sich einige von euch ein bisschen Zeit nehmen würden meinen
Code zu kommentieren, mir Verbesserungstipps zu geben, all das was mich nach vorne
bringt.
Und ich denke ihr könnt mich nur nach vorne bringen.
Ich bin mir sicher das ich vieles viel zu umständlich programmiert habe, aber genau darum
geht es, ich möchte diese Fehler ausmerzen und dadurch lernen, lernen lernen.
Eure Antworten sind kein muss, dennoch würde ich mich freuen, wenn der ein oder
andere hier postet.
Im folgenden findet ihr einen Link zur Datenbank und darunter ein zip file, mit sql dump
der datenbank und dem code.
Ich danke euch im voraus für eure Zeit.
Liebe Grüße
Jamest
Zugang zur Datenbank:
user: "test" password: "test11"
http://www.apex-design.de/printerdbGeändert von JamesT (16.01.06 um 14:49 Uhr)
-
16.01.06 15:48 #2
Meine Frage: hättest du dir die ellenlange select-liste ab zeile 412 nicht sparen können, indem du dir die werte mit select group by aus der datenbank ziehst?
Ich hätte mir mehr kommentare gewünscht, aber für eine anfänger arbeit alle achtung.
Im großen und Ganzen finde ich das mit Tipps immer sehr schwer, weil den din-gerechten weg gibt es nicht, stattdessen sind eine ganze reihe von prog-stilen auf den markt und es dauert schon eine weile bis man selbst seinen eigenen stil gefunden hat"Jetz is, wo früher inne Vergangenheit die Zukunft war." Herbert Knebel
"Jetzt sind die guten alten Zeiten, nach denen wir uns in zehn Jahren zurücksehnen werden." Peter Ustinov
-
16.01.06 17:14 #3
Ok, ein paar Tips:
- Längere HTML-Blöcke solltest du nich mit Echo ausgeben, sondern einfach ein ?> vorne und ein <?php hintenransetzen, so dass du den HTML-Code ganz normal in die Datei schreiben kannst.
- Sowas ist fucking ugly:So ginge es einfacher:PHP-Code:
if($row['anschluss']=="intern") echo '<OPTION value="intern" selected>intern</OPTION>';
else echo '<OPTION value="intern">intern</OPTION>';
if($row['anschluss']=="LPT1") echo '<OPTION value="LPT1" selected>LPT1</OPTION>';
else echo '<OPTION value="LPT1">LPT1</OPTION>';
if($row['anschluss']=="LPT2") echo '<OPTION value="LPT2" selected>LPT2</OPTION>';
else echo '<OPTION value="LPT2">LPT2</OPTION>';
if($row['anschluss']=="LPT3") echo '<OPTION value="LPT3" selected>LPT3</OPTION>';
else echo '<OPTION value="LPT3">LPT3</OPTION>';
if($row['anschluss']=="USB1") echo '<OPTION value="USB1" selected>USB1</OPTION>';
else echo '<OPTION value="USB1">USB1</OPTION>';
if($row['anschluss']=="USB2") echo '<OPTION value="USB2" selected>USB2</OPTION>';
else echo '<OPTION value="USB2">USB2</OPTION>';
if($row['anschluss']=="USB3") echo '<OPTION value="USB3" selected>USB3</OPTION>';
else echo '<OPTION value="USB3">USB3</OPTION>';
if($row['anschluss']=="USB4") echo '<OPTION value="USB4" selected>USB4</OPTION>';
else echo '<OPTION value="USB4">USB4</OPTION>';
if($row['anschluss']=="USB5") echo '<OPTION value="USB5" selected>USB5</OPTION>';
else echo '<OPTION value="USB5">USB5</OPTION>';
if($row['anschluss']=="COM") echo '<OPTION value="COM" selected>COM</OPTION>';
else echo '<OPTION value="COM">COM</OPTION>';
PHP-Code:$options = array('intern', 'LPT1', 'LPT2', 'LPT3', 'USB1', 'USB2', 'USB3', 'USB4', 'USB5', 'COM');
if (in_array($row['anschluss'], $options)) {
echo '<option value="'.$row['anschluss'].'" selected>'.$row['anschluss'].'</option>';
}
-
Vielen Dank schonmal für eure Tipps.

@silentwarrior
Danke für deinen Kommentar und dem Tipp zur verbesserung des codes. Ich weiss das das html ziemlich ugly ist.
Werde das verbessern. 
Dann mal ne Frage.
Da es ja schon einige Einträge sind hatte ich vor in der liste "alle anzeigen" bei jedem neuen buchstaben eine Leerzeile einzufügen oder sowas wie ab hier buchstabe C.
Ausserdem hätte ich oben ganz gerne eine A-B-C-D-E.... leiste wo man sich nur die einträge von einem bestimmten buchstaben anzeigen lassen kann. Ich habe gestern schon den halben Tag danach gesucht, habe aber keine Beispiele gefunden die ich für meine DB verwenden könnte.
Hättet ihr eine Idee?
Danke und Gruß
Jamest
-
Die Ausgabe nach Anfangsbuchstaben könntest du so realisieren:
Durch deine Liste mit den ganzen Anfangsbuchstaben wird eine Variable an das Script übergeben (z.B. XXX.php?buchstabe=F).
In der mySQL-Abfrage könntest du dann in die WHERE-Bedingung einbauen:
Code :1
`druckername` LIKE '".$_GET['buchstabe']."%'
-
Hallo JamesT,
als Tipp kann ich dir auf den Weg geben, arbeite dich in die Funktionsbildung, sowie wenn du soweit bist in die OOP- Sachen von PHP ein, weil bestimmte Sachen, wie die Tabellenbildung usw. kannst du ganz bequem in Funktionen packen und schreibst nicht ewig, den gleichen Kram.
Zum einen, hast du wesentlich weniger Code und zum anderen werden die Dateien, nicht so imens groß.
Denn dein Script in verschiedene Dateien auf, macht das Ganze auch gleich wieder Pflegeleichter, da du nicht in den großen Dateien nach bestimmten Abschnitten suchen musst.
Auch wenn ich den Code nur kurz überflogen habe, muss ich sagen, sieht das gar nicht mal schlecht aus, als ich mit PHP angefangen habe, sah mein Code gaaanz anders aus...
Gruß StefanR
-
Hallo zusammen

ich melde mich mal wieder zurück. Erstmal danke an Stefan für den Kommentar.
Wegen den Fehlern in HTML und CSS.
Ich gelobe Besserung *smile*
Dann nochmal zurück zu meiner Frage wegen der Buchstabenleiste. Meine DB die
ich hier hausintern habe, hat mittlerweile knapp 500 Einträge, und das laden der hauptseite (alle einträge) dauert daher sehr lange.
Ich habe den Tipp von Ceppi versucht zu benutzen, aber irgendwie bekomme ich die WHERE abfrage nicht hin, ich weiss nicht ob mir hier noch hintergrund wissen fehlt oder ich mich einfach zu dumm anstelle, es will einfach nicht funktionieren.
ich habe versucht einfach mal eine Where abfrage zu erstellen die mir alle Druckerhersteller anzeigt die mit H anfangen.
Ich bekomms nich hin, und hoffe ihr könnt mir unter die Arme greifen mit ein paar Tipps.
Viele Grüße
Jamest
-
OK, dann beschreibe ich die SQL-Abfrage noch mal genauer:
Das Prozentzeichen % steht in SQL als Platzhalter für eine beliebige Anzahl anderer Zeichen. Weitere Hilfe findest du in der MySQL-Doku.Code :1
SELECT * FROM drucker WHERE hersteller LIKE 'H%';
-
17.01.06 18:28 #9
JamesT, falls du die Performance deines Scripts noch etwas steigern möchtest, empfehle ich dir den Einsatz von AJAX, um die Informationen zu den einzelnen Produkten erst bei Klick auf den »Info«-Link zu öffnen – so könntest du meines Erachtes rund 50% der Querys beim Laden der Seite weglassen.
Falls du dich mit AJAX beschäftigen möchtest, kann ich folgendes Tutorial wärmstens empfehlen (englisch): http://www-128.ibm.com/developerwork...xw01MasterAJAX.
Ähnliche Themen
-
error reporting [Hilfe/Verbesserung bei Code]
Von djandy im Forum PHPAntworten: 8Letzter Beitrag: 20.09.10, 10:41 -
Code-Optimierung - Links und Tipps gesucht
Von chmee im Forum .NET CaféAntworten: 0Letzter Beitrag: 22.04.07, 19:16 -
Mathematik Aufgabe simulieren - Verbesserung im PHP Code möglich?
Von Gladiator6 im Forum PHPAntworten: 3Letzter Beitrag: 14.02.06, 12:52 -
[S] Struktur und Style Tipps für meinen PHP-Code Allgemein(bessere lösungswege etc.)
Von Sicaine im Forum PHPAntworten: 3Letzter Beitrag: 13.11.04, 12:11 -
Suche Vorschläge und Tipps!
Von DannyDeluxe im Forum PhotoshopAntworten: 4Letzter Beitrag: 15.08.01, 21:20





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren