PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : xampp php / sql


mapel110
2008-03-17, 09:37:59
Hallo,
ich habe leider das Glück, mich mit der Thematik auseinander setzen zu müssen. Und da scheiterts bei mir schon an den grundlegendsten Dingen.

Xampp selbst bekomme ich zum Laufen. Daten kommen ins htdocs und das funzt auch soweit (mit html/php).

Jetzt möchte ich auf eine Datenbank zugreifen. Dazu müssten die Daten aber wohl im SQL-Format vorliegen?

Ich habe diese aber derzeit noch in Form einer TXT-Datei und die Datensätze darin sind durch ";" getrennt.
Wie gehe ich da am besten vor?

Die Daten darin sollen in einem "Web Interface" ausgewertet werden.

daflow
2008-03-17, 10:52:10
Mit was für einer Datenbankengine willste, denn arbeiten, mit der MySql , ide bei XAMPP dabei is? Wenn ja, laufen deren Dienste? Haste schon eine Datenbank erstellt?

mapel110
2008-03-17, 11:00:01
Dienst läuft und eine Datenbank habe ich noch nicht erstellt. Also austesten soll ich das mit mySQL, was bei xampp dabei ist.

_Gast
2008-03-17, 11:02:05
Dazu müssten die Daten aber wohl im SQL-Format vorliegen?Ähm, nein. SQL ist eine Datenbanksprache zur Manipulation von Daten. Mit einem Format hat das eher weniger zu tun.

Xampp verwendet standardmäßig MySQL (http://www.mysql.de/) als Datenbank. Literatur (http://dev.mysql.com/doc/refman/5.1/de/index.html) gibt es dazu nahezu unendlich. Wenn du noch niemals mit einer Datenbank gearbeitet hast, musst du dich wohl oder über etwas einarbeiten (http://www.galileocomputing.de/openbook/php4/kape.htm).

Eine Bedienoberfläche für MySQL ist beispielsweise MySQLAdministrator (http://www.mysql.de/products/tools/administrator/) aber es gibt auch webbasierte Oberflächen wie phpMyAdmin (http://www.phpmyadmin.net/home_page/index.php). Praktischerweise ist das bei Xampp schon mitgeliefert.

mapel110
2008-03-17, 11:11:43
hm ja, ich hab gerade einiges gelesen.

Also muss ich erst eine Datenbank erstellen. Wie ist das mit Feldnamen?
Wenn ich diese dann habe, kann ich die TXT-Datei Datensatzweise einlesen in die Datenbank und dann via SQL-Anweisungen damit arbeiten?

_Gast
2008-03-17, 11:18:49
Datenbanken enthalten Tabellen, in denen die Daten hinterlegt sind. Wie man mit beispielsweise mit PHP auf diese Daten zugreifen kann, steht u. a. hier (http://www.galileocomputing.de/openbook/php4/kapf.htm).

Allerdings beschäftigen sich lange Studiengänge mit Datenbanken. Das kann man nicht in ein paar Sätzen erklären.

Hast du die gesamten Daten in Form von Textdateien bereits vorliegen? Es gibt durchaus Möglichkeiten (http://www.little-idiot.de/mysql/mysql-18.html), normierte Daten in MySQL zu importieren.

mapel110
2008-03-17, 11:30:07
Hast du die gesamten Daten in Form von Textdateien bereits vorliegen?.
Also die Testdaten, ja. Diese sind "vollständig".

Ich hab jetzt mit phpmyadmin eine Datenbank erstellt mit dem Tabellen und Feldnamen, die ich brauche. Sind nur 4 Stück. Jetzt muss ich also nur noch die Daten aus der TXT-Datei in diese Datenbank bekommen. Die 4 Felder sind durch ";" in der Datei abgegrenzt. Na ich werd mal weiter lesen....

Kinman
2008-03-17, 12:38:50
Deine Datei ist eine sog. CSV Datei (Comma seperated values) und die kannst Du mittels phpMyAdmin importieren.

mfg Kinman

The_Invisible
2008-03-17, 13:07:17
oder mittels script, sind nichtmal 5min arbeit

mfg

mapel110
2008-03-17, 13:22:50
Das habe ich schon versucht. Aber da bekomme ich Fehlermeldungen.

Felder getrennt mit <-- da gebe ich ";" ein, so wie es halt in der Datei ist
Felder eingeschlossen von <-- das feld lasse ich leer, weil felder eben durch nichts weiteres eingeschlossen sind
Felder escaped von <-- hier auch leer
Zeilen getrennt mit <-- "auto", ich denke mal, das wird der Zeilenumbruch sein bzw wird damit erkannt werden?!

Wenn ich nun aber "Felder eingeschlossen von" leer lasse, bekomme ich eine Fehlermeldung. Ebenso bei "Felder escaped von".
Was sollte ich da eingeben? Die TXT-Datei gibt nichts weiter her. :(

/edit
es hat sich erledigt. Ich habs jetzt einfach mal mit den Standardeinstellungen probiert und jetzt hat er die Daten. Danke so weit. :uwave:

mapel110
2008-03-18, 09:50:39
Das nächste Problem :)

Ich möchte nun mir bestimmte Daten raussuchen aus der Datenbank. Dazu gebe ich die Suchkriterien in einem Formular ein und möchte sie dann anschließend nach dem Drücken von einem Button angezeigt bekommen im Browser.
Ich weiß aber nicht, welche Tags ich dazu nun konkret brauche.

Also in dem Eingabeformular <form ... method=":confused:"... <input type="button" <-- dann irgendwie einen sendebutton?

Gesendet wird dann an ein php-Formular (welches die "variablen" SQL-Anweisungen enthält)?! Und das wars dann schon?

/edit
Zwischenstand:
<form name="eingabe" method="post" action="verarbeitung.php" >
<input type="submit" name="senden" value="Abfrage senden">

bekomme ich so nun die Werte der Inputfelder in die verarbeitung.php geliefert?

Gast
2008-03-18, 14:17:42
Ja, steht in der globalen $_POST als assoziatives Array.

mapel110
2008-03-19, 10:41:15
<?php
print_r($_post);
?>

ehm, reicht der Code nicht aus, um einfach erstmal alles angezeigt zu bekommen, was man vorher per "post" gesendet hat?
/edit
okayokayokay, php ist CaSe SeNsItIvE, ich habs kapiert... :(

mapel110
2008-03-19, 15:08:37
Noch eine Frage zu Xampp

Ein Kollege möchte mir nun Daten zu meinem SQL-Server schicken. Wie stelle ich das an? Muss ich dafür einen Account anlegen und ihm die Daten des Accounts zukommen lassen und das wars?

daflow
2008-03-19, 15:14:16
Noch eine Frage zu Xampp

Ein Kollege möchte mir nun Daten zu meinem SQL-Server schicken. Wie stelle ich das an? Muss ich dafür einen Account anlegen und ihm die Daten des Accounts zukommen lassen und das wars?

Was veratehst du unter "schicken"? Du meinst er will direkt auf die Datenbank zugreifen und in die Tabellen schreiben? Dann braucht er einen entsprechenden Datenbank-Benutzer mit entsprechenden Rechten auf den Tabellen... Oder meinst was anderes? ;)

mapel110
2008-03-19, 15:19:42
Was veratehst du unter "schicken"? Du meinst er will direkt auf die Datenbank zugreifen und in die Tabellen schreiben? Dann braucht er einen entsprechenden Datenbank-Benutzer mit entsprechenden Rechten auf den Tabellen... Oder meinst was anderes? ;)
Ich glaub, ich hab keine Ahnung :confused:
Manche Dinge klärt man wohl doch besser persönlich. Ich werd mal mit ihm telefonieren. ^^

daflow
2008-03-19, 15:31:13
Ich glaub, ich hab keine Ahnung :confused:
Manche Dinge klärt man wohl doch besser persönlich. Ich werd mal mit ihm telefonieren. ^^

Hm, klingt vernünftig.. ;) Klär erstmal ab, wie er sich den Datentransfer vorstellt

mapel110
2008-03-19, 15:33:17
Er wollte wirklich direkt in die Datenbank schreiben, aber das ging nicht weil mySQL, und er will SQL. Also erstmal Installieren angesagt. :( Tolles Projekt hier, ich werd mit Staubkörnchen von Informationen gefüttert. Quasi Bitweise...

/edit
Anstatt Xampp für HTML/PHP (Apache) kann man auch den IIS nutzen?! Der wäre ja schon bei Windows dabei. Naja, leider komme ich da ohne Adminrechte derzeit nicht ran. omg...

daflow
2008-03-19, 16:25:30
Er wollte wirklich direkt in die Datenbank schreiben, aber das ging nicht weil mySQL, und er will SQL. Also erstmal Installieren angesagt. :( Tolles Projekt hier, ich werd mit Staubkörnchen von Informationen gefüttert. Quasi Bitweise...

/edit
Anstatt Xampp für HTML/PHP (Apache) kann man auch den IIS nutzen?! Der wäre ja schon bei Windows dabei. Naja, leider komme ich da ohne Adminrechte derzeit nicht ran. omg...

SQL? Also MS-Sql Server (2005?)? Mit dem IIS kenn ich mich nicht wirklich aus, aber fraglich ob das überhaupt allzu prickelnd ist 'nen SQL-Server auf dem WindowsServer aufzusetzen, ohne zumindest lokale Adminrechte :redface:
Btw. Mit was will er denn zugreifen auf die Datenbank? (u.U. ist das DBMS ja dafür nicht wirklich entscheidend)

mapel110
2008-03-19, 16:35:52
2005? Neee, nicht doch. Ich bin hier im öffentlichen Dienst. Version 2000 ist up2date. ^^

Installieren werd ich wohl lassen müssen. Die haben noch nicht das Vertrauen in mich, mir ein Adminpasswort zu geben. ;)
Aber ich brauche dann letzten Endes nur lesend Zugriff auf die Daten. Daher sollte das dann auch mit eingeschränktem Account gehen.
Mit der Freeware Xampp hätte ich keine Probleme gehabt bezüglich Nutzerrechte. Aber naja.... morgen geht der Spaß weiter. Heute schaff ich eh nix mehr.

daflow
2008-03-19, 16:44:55
2005? Neee, nicht doch. Ich bin hier im öffentlichen Dienst. Version 2000 ist up2date. ^^

Installieren werd ich wohl lassen müssen. Die haben noch nicht das Vertrauen in mich, mir ein Adminpasswort zu geben. ;)
Aber ich brauche dann letzten Endes nur lesend Zugriff auf die Daten. Daher sollte das dann auch mit eingeschränktem Account gehen.
Mit der Freeware Xampp hätte ich keine Probleme gehabt bezüglich Nutzerrechte. Aber naja.... morgen geht der Spaß weiter. Heute schaff ich eh nix mehr.

Naja, mach dir nix draus, es gibt auch in Wirtschaftsunternehmen noch 200oer Server ;) ... Immerhin besser als die superabgespeckte PseudoFreeware-Version :upara:
Also die Datenbankadministration (User anlegen/Jobs (Backups etc....)macht dann jemand anderes, aber du wirst die Datenbank und das Benutzerinterface entwickeln? Würd dir auf alle Fälle empfehlen dich ein weng in die Grundlagen des MS-Sql-Servers einzulesen (z.B. Berechtigungskonzepte mixed mode vs. Windows- Authentifizierung... es sei denn eure Datenbankadminstration (habt ihr sowas? ;)) hat da eh vorgaben).

Gast
2008-03-20, 10:33:41
Jaaaa, wir haben Datenbankadmin. =)

Schon geil, was hier abgeht. Cheffe sagt "Du installieren IIS und SQL-Server 2000"
Ich:"Na klar, Null Problemo"

1. Hürde
wie schon geschrieben, keine Adminrechte für Install.
2. Hürde
Adminrechte da und siehe an, SQL-Version lässt sich nicht installieren, da sich Windows2000Professional und MS-SQL2000 Enterprise Edition nicht vertragen. Da brauchts eigentlich die Workgroup Edition. Tja, hab ich nicht.
3. Hürde
"Ach, du brauchst nur MSDE, nix kompletten Server", sagt ein anderer Mitarbeiter. "Ich kann mich darum nicht kümmern. Geh mal zur Person XY"
4. Hürde
Person XY nicht da, Vertretung ist Person YZ, steht auf dem Zettel an der Tür.
5. Hürde
Person YZ auch nicht da. Nix Zettel an Tür. Also nachforschen...
6. Hürde
Sekretariat nicht besetzt, auch hier keiner da.
7. Hürde
Stellvertretenden Chef aufsuchen, weil Chef ja in Urlaub ist. Aber auch der ist nicht in seinem Büro.

Tja, an der Hürde hab ich erstmal aufgegeben und warte auf meine Mittagspause. Ich komme mir vor wie in "Asterix erobert Rom". Ich will doch nur den Passierschein A38" ;(

Coda
2008-03-20, 15:01:25
okayokayokay, php ist CaSe SeNsItIvE, ich habs kapiert... :(
Nicht überall. Funktions- und Klassennamen sind case insensitive.

Aber scheint so als würde das eh die übliche PHP-Codequalität abgeben hier *seufz*

Xanthomryr
2008-03-22, 14:01:19
Also, tut mir leid mapel aber wenn man keine Ahnung von:

Webservern
MySql
MS Sql Server
SQL im allgemeinen
PHP
Datenbank gestützer PHP Webprogrammierung

hat, sollte man nicht "hier" rufen wenn es heißt: "wer macht das mal eben".

Das ist einfach alles viel zu komplex um es mal eben zu lernen.

mapel110
2008-03-23, 14:42:32
Das ist einfach alles viel zu komplex um es mal eben zu lernen.
Tja, ich muss das leider in meinem Praktikum hier in der dualen Ausbildung. 3 Monate habe ich Zeit, ein Programm in PHP4 zu schreiben, dass eine SQL-Datenbank bzw die Daten darin statistisch auswertet und zum einen grafisch im Browser ausgibt und zum anderen noch das Abspeichern als PDF erlaubt.
Ich weiß auch nicht, ob ich das irgendwie hinbekomme, aber zur IHK werde ich nur mit einem abgeschlossenen Projekt zugelassen (was eigentlich nur 2 Wochen bzw 70 Stunden dauern darf).

Xanthomryr
2008-03-23, 15:25:57
Tja, ich muss das leider in meinem Praktikum hier in der dualen Ausbildung. 3 Monate habe ich Zeit, ein Programm in PHP4 zu schreiben, dass eine SQL-Datenbank bzw die Daten darin statistisch auswertet und zum einen grafisch im Browser ausgibt und zum anderen noch das Abspeichern als PDF erlaubt.
Ich weiß auch nicht, ob ich das irgendwie hinbekomme, aber zur IHK werde ich nur mit einem abgeschlossenen Projekt zugelassen (was eigentlich nur 2 Wochen bzw 70 Stunden dauern darf).
In 3 Monaten schaffst du das, kein Problem.

Was lernst du denn?
Bei der Projektdauer von 70 Stunden tippe ich auf Anwendungsentwickler.

mapel110
2008-03-23, 15:39:27
Bei der Projektdauer von 70 Stunden tippe ich auf Anwendungsentwickler.
Korrekt.

Ich hab trotzdem Panik und irgendwie Angst, dass mir die Zeit wegläuft. Das Praktikum hat sich relativ kurzfristig ergeben und obendrein war ich direkt vor dem Praktikum schwer erkrankt, so dass ich mich kaum vorbereiten konnte. Hab nur einige Grundkenntnisse aus dem ersten Ausbildungsabschnitt vom vorigen Jahr über HTML/CSS/JAVAscript/PHP/SQL.

Xanthomryr
2008-03-23, 22:20:21
Ah, kein Problem ich bin Sysadmin und nicht sooo der Programmierer, und ich habe das auch hinbekommen mit PHP was aus ner MySQL Datenbank raus und rein zu bekommen. :smile:

The_Invisible
2008-03-24, 09:34:30
warum überhaupt PHP4?

wenn würde ich sofort mit PHP5 anfangen da es neue sinnvolle funktionen/klassen bietet und php4 schon aus manchen distris verbannt wird.

mfg

Coda
2008-03-24, 17:01:22
Ich denke das ist hier nicht relevant, weil er eh keine Objektorientierung verwenden wird.

Flashpoint
2008-03-24, 17:41:32
Aber er kann sich schonmal an OOP gewöhnen.
Umso einfacher wirds später für ihn werden (bzw umso größer das Projekt).

mapel110
2008-03-24, 18:18:04
warum überhaupt PHP4?

wenn würde ich sofort mit PHP5 anfangen da es neue sinnvolle funktionen/klassen bietet und php4 schon aus manchen distris verbannt wird.

mfg
Tja, wie schon mal im Thread geschrieben "Stadtverwaltung". Die setzen da nicht aufs Neueste, da läuft halt PHP4. Ich bekam nur gesagt, ich soll auf Auf- und Abwärtskompatibilität größten Wert legen bei der Programmierung.

zu OOP:
Ich schnupper schon öfters mal bei Visual Basic .net rein und hab da schon einiges an kleineren Beispielprogrammen inkl. Dateihandling ausprobiert. Ich find das ja auch wichtig, nur werd ichs mir selbst beibringen müssen im Laufe der Ausbildung. :(

Coda
2008-03-24, 21:55:57
Richtig OOP zu programmieren lernt man eh nur aus Erfahrung meiner Meinung nach. Man kann soviele Design-Pattern-Bücher lesen wie man will aber wo man was am besten wie anwendet ist viel Fingerspitzengefühl.

Ich selber muss da auch noch einiges lernen.

The_Invisible
2008-03-24, 22:39:15
da kann ich nur zustimmen.

zuerst habe ich OOP nur zwanghaft benutzt weil es "cool" ist bzw ich es eben lernen wollte. mit der zeit kommt man drauf wann man es braucht und wann nicht so das man sogar einen vorteil davon hat. :D

@mapel110
schade das du da so eingeschränkt bist. alleine die pdo schnittstelle ab php5 wäre schon ein grund auf die nächste version zu migrieren. wenn alle scripte eh so konform sein mussten dürfte das upgrade ja kein problem sein.

btw
zumindest unter apache kenne ich eine möglichkeit php4 und php5 gleichzeigt laufen zu lassen. dann wird zb .php mit php4 geparst und .php5 mit php5. verwenden wir selbst bei unseren kunden zur migrierung.

mfg

Coda
2008-03-24, 23:07:42
da kann ich nur zustimmen.

zuerst habe ich OOP nur zwanghaft benutzt weil es "cool" ist bzw ich es eben lernen wollte. mit der zeit kommt man drauf wann man es braucht und wann nicht so das man sogar einen vorteil davon hat. :D
Es ging nicht darum wann man es braucht (es ist quasi immer sinnvoll), sondern wie man es richtig einsetzt.

mapel110
2008-03-25, 09:05:02
Ich hab noch eine Verständnisfrage.

Bei Wikipedia hab ich jetzt gelesen, dass der Apache Webserver nicht dafür zuständig ist, PHP zu interpretieren. Dafür brauchts zusätzliche Module. Wie ist das jetzt bei Xampp? Werden diese Module automatisch gestartet, wenn man den Apache aktiviert?
Muss ja wohl, weil damit bei mir bereits php funktioniert?!

Und wie ist das beim IIS? Hat der von Haus aus php "aktiv"?
/edit
okay, beim IIS gibts wohl auch so eine Art "Plugins" dafür. Hm, dennoch blöde, weil man denkt, Server läuft also sollte es gehen... naja, hab noch viel zu lesen.

Derzeit hab ichs geschafft, Daten aus einer SQL2000-Datenbank in SQL2005-Server(andere CDs waren nicht greifbar) einzulesen. Aber auch da hab ich wieder eine Verständnisfrage.

Beim Schreiben der SQL-Statements kann man anscheinend direkt auf die Tabellen zugreifen oder aber vordefinierte Sichten ansprechen. Die Sichten sind quasi ebenfalls Tabellen mit dem selben Inhalt, aber eben vorsortiert (mit einem Index versehen)? Oder wie hab ich mir das vorzustellen?

Sollte man sich also vorher für alles was man braucht "Sichten" basteln um Performance zu sparen?

/edit2
Sind "Sichten" das selbe wie Abfragen unter Access? Und kann man bei Access auch SQL-Anweisungen basteln, die anstatt der Tabelle eine Abfrage(Sicht) als Quelle angeben?

The_Invisible
2008-03-25, 12:20:09
apache kann man an php entweder per apache-modul einbinden (= mehr speed) oder per (f)cgi. als apache-modul hat auch noch den vorteil das man php einstellungen auf per-vhost basis setzen kann.

iis hat als standardsprache asp(.net) und mag php eigentlich gar nicht, kann man aber natürlich auch per cgi anbinden (http://www.visualwin.com/PHP/)

xampp hat schon alles vorkonfiguriert was man sonst mit hand machen müsste.

ansonsten habe ich mit iis, mssql oder access nichts am hut.

mfg

daflow
2008-03-26, 11:26:18
Eine View (Sicht :ugly2:) ist genauso zugreifbar wie eine Tabelle, allerdings werden die Daten nicht physich vorgehalten... sprich es ist eigentlich nur ein SQL-Statment, deren Daten zur Laufzeit erst gesammelt werden...
Es gibt in einigen Datenbankengnies auch Summary Tabellen/Materialized Views... wie der Name schon sagt, werden hier wirklich Daten auch ühysisch vorgehalten, allerdings müssen die Daten explizit per refresh erneuert werden/die summary Tabelle neu aufgebaut werden. Die Daten haben sonst eben den Stand des letzten Aufbaus.

mapel110
2008-03-26, 11:59:57
Hm okay, also spielt es vom Rechenaufwand für den Server keine Rolle, ob ich die Tabellen direkt anspreche oder über eine Sicht. Man kann also damit nur SQL-Statements verkürzen im Code?!
Oder gibts noch weitere Vorteile, die "Sicht" anstelle der Tabelle zu nutzen?