Tabelle mit daten aus Access

  • Hallo zusammen,

    ich habe folgendes
    eine Homepage für fussballspiele

    ich hätte gern folgendes:
    eine seite, auf der eine Tabelle ist, die immer die gleiche form beibehält (zb mit den Spalten: Spieler, Blau, Rot), sich aber beim aufrufen der seite immer die aktuellen daten aus einer AccessDatenbank holt!

    geht das? wenn ja, wie?
    bitte kann mir jemand weiterhelfen

    Franz

  • hast du nur access zur verfügung, oder auch phpmyadmin??

    Also ich kenn keine Provider die ne Access db anbieten, bisher kannte ich nur sql dbs mit phpmyadmin... mmh...

    also das ist eigentlich kein problem...

    ich empfehle dir erstmal eine connect.inc.php zu erstellen, da steht dann drinne: (so mach ichs immer, man kann es auch anders machen)

    PHP
    <?php
    $dbHost = "localhost";
    $dbUser = "user";
    $dbPass = "pass";
    $dbName = "db_name";
    
    
    $connect = @mysql_connect($dbHost, $dbUser, $dbPass) or die("Keine Verbindung zum Datenbankserver!");
    $selectDB = @mysql_select_db($dbName) or die("Konnte die Datenbank [b]$dbName[/b] nicht ausw&auml;hlen!");
    ?>

    diese datei speicherst du unter connect.inc.php, dann brauchste du die nächste datei, z.b. index.php, da schreibst ganz ganz oben rein:

    Code
    <?
    include("connect.inc.php");
    ?>

    Wenn du die nun aufrufst, dann erscheint entweder nichts, dann ist eine verbindung hergestellt worden mit der db, wenn nicht dann kommt die or die Ausage "konnte Datenbank $dbName nicht auswählen".

    Nun brauchst du noch nen sql code, also die tabelle zu erstellen, du hast natürlich die möglichkeit in Access einfach die über tabelle zuerstellen, aber ich poste hier schnell mal nen kurzen code:
    das wäre jettz für eine tabelle mit 4 spalten, id, spieler, blaut, rot. ID setze ich als autoincrement, damit bei jedem Datensatz eins höher gezählt wird, gleichzusetzen mit dem Autowert bei Access.

    Die Tabelle heißt spieler und jedes Feld hat eine maximallänge von 100 zeichen, außer ID, das nur von 4.

    Code
    CREATE TABLE spieler (
    id int(4) NOT NULL auto_increment,
    spieler varchar(100),
    blau varchar (100),
    rot varchar (100),
    PRIMARY KEY  (id)
    );

    Nun willst du ja die Datenauslesen, dazu empefhle ich einfach eine SELECT Befehl + eine while Schleife, damit jeder Datensatz ausgelesen wird der dazu kommt, das sieht so aus:


    Wenn du dich inPHP bissl auskennst haste gesehen, dass ich die while schleife oben offen gelassen habe, aso kein } gesetzt habe, das nur damit du die Tabelle inHTML ganz normal schrieben kannst, sonst müssteste jede Zeile mit einem echo "<table widht=\"200\" height=\"400\" ... " etc. schreiben, das ist scheiße, sage ich da mal..

    Nun die frage wie du die Daten ausliest, das ist ganz einfach... du hast 2 möglichkeiten, entweder du setzt dir variablen oder lässt direkt über sql auslesen
    möglichkeit 1 (über variablen):

    PHP
    <?php
    $spieler = "".$eintraege->spieler."";
    $blau = "".$eintraege->blau."";
    $rot = "".$eintraege->rot."";
    ?>


    Diesen code nach der Abfrage setzen!
    Überall wo du <? echo "$spieler"; ?> einsetzt erscheint dann die angabe in der Tabelle!

    2. Möglichkeit...
    du schreibst einfach an die Stelle wo es stehen soll <?php echo "".$eintraege->spieler.""; ?> ... wenn du oben beim fetch objekt befehl geshen hast ist $eintraege bereits eine variable, aber warum nicht woah ;) ... die php tags brauchste natürlich nicht wenn du dich bereit sin einem befindest ;) ...

    so ich hoffe ich konnte helefn, boar, viel getippt woah ;)

    Bei weiteren FRagen antworte ich gerne ;)

    greetz mülla

  • hey mülla,
    so ein ahnliches problem hab ich auch :)
    und zwar hab ich ne html formular, die über CGI ein cgi script aufrufen soll. die variablen werden richtig an CGI script übergeben.
    nun, die datenbank, in die die variablen eingeschrieben werden sollen, ist eine access db. und im access ist ja alles als .mdb gespeichert.
    wie bekomm ich das hin, dass ich die db öffnen kann um die variablen in eine tabelle aus der db einzufügen????
    es soll mit mySQL laufen...
    kannst du mir helfen? :?

  • mmh, du willst über ein cgi script in eine db schreiben? warum? warum lässt du das Formular nicht direkt in eine DB schreiben, dann kann ich dir gerne weiterhelfen und den code posten, awa über cig wüsste ich jetzt nicht wie das gehen sol, über cgi verschicke ich ein formular an eine e-mail adresse, aber in eine db eintragen.. mmh... unterstüzt dein server mdb datenbanken??

    greetz

  • hi,
    wie lass ich denn ein Html formular direkt in eine datenbank schreiben?
    wäre ja noch einfacher ;)

  • also die Frage oben war ja bloß wie man aus einer DB ausliest udn nicht einträgt, warum wäre das eintrag noch einfacher??

    aber ok, ich erklär es dir!

    so gehts... als erstes eine kleine Abfrage

    PHP
    <?php
    if(!$submit) {
    ?>


    die lassenw ir ofen, schließen aber den php code wieder, damit wir unser formular in HTML schreiben können. Die Abfrage bewirkt, dass wenn Submit noch nicht gedrückt ist nur das zwischen den geschweiften Klammern angezeigt wird... also weiter das Formular, wir nennen die seite test.php:

    Code
    <form action="test.php" method="post">
    <input type="text" name="name" size="20">
    <input type="text" name="email" size="20">
    <input type="submit" name="submit" value="Abschicken">

    So ist das Formular jetzt mal, die namen sind wichtig fürs spätere Eintragen!

    so geht der code dann weiter:

    PHP
    <?php
    } else {
    $sql = "INSERT INTO tabelle (id, name, email) VALUES ('','$name','$email')"
    @mysql_query($sql, $connect) or die("Schreiben fehlgeschlagen!");
    ?>


    natürlich geh ich davon aus, dass die db connected ist ($connect), schrieb bereits oben wie das geht! Was mahcne wir noch, mit insert into, sag ich der db wir wollen was eintragen, und in der klammer stehen die felder worein, hierbei muss die reihenfolge der felder der tabelle eingehalten werden, sowie dann in der value klammer, die ersten beiden '' stehen für die ID, ich nehme id als auto_increment, also autowert, die db zählt automatisch immer eins hoch, die anderen variablen werden mit $ zeichen angeführt, alle innerhalb von 2 '' und mit Beistrich getrennt!

    Son un geht der Code weiter, wir haben die if Abfrage von oben och nicht geschlossen, also können wir jetzt den else zweig machen, bzw. ist das garnicht nötig,d enn wenn Submit gedrückt wurde, ist die Abfrage überflüssig und er zeigt das Formular garnicht an sondern nur was darunter steht:

    Code
    <table width="95%" border="0" bgcolor="#FFFFFF" cellpadding="5" cellspacing="1" align="center">
    <tr>
    <td align="center">Hier kann dann z.b. stehen, in db eingetragen oder sowas
    
    
    </td>
    	</tr>
    </table>

    So nun kommt am ende noch das hier:

    PHP
    <?php
    }
    ?>

    So das wars... man kann auch noch die einträge mit funktionen wie strip_tags, htmlentitie, replace versehen, dann werden umlaute wie ä oder ü und ß zu html sonderzeichen, oder zeilenumbrüche i ner Text area werden zu
    und z.b. für smiley code, man gibt : ) und es kommt dabei ein bild raus.. aber das war nicht gefragt, man kann jetzt auch noch die felder auf fehler überprüfen ob was drinne steht etc. aber das war nun auch nicht gefrat, bei interesse fragen! ...

    ok ich hoffe das reicht!

    greetz mülla!