Ich habe folgendes Problem:
Ich habe eine umfangreiche Bibliotheksdatenbank erfolgreich von MS Access nach Mysql umgewandelt und in die Tabelle in die Datenbank von Typo3 geladen. Nun möchte ich per SQL-Anweisung auf diese Datenbank zugreifen.
Gibt es ein Modul, mit dem ich das realisieren kann?
Manfred
SQL-Abfrage unter typo3
ManfredK schriebIch habe folgendes Problem:
Ich habe eine umfangreiche Bibliotheksdatenbank erfolgreich von MS Access nach Mysql umgewandelt und in die Tabelle in die Datenbank von Typo3 geladen. Nun möchte ich per SQL-Anweisung auf diese Datenbank zugreifen.
Gibt es ein Modul, mit dem ich das realisieren kann?
Manfred
hi
da musst du dir eine extension bauen, die dann die daten aus der datenbank ausliest.......
es ist übrigens mysql #giggle#
http://typo3.org/documentation/document-library/player_profile_basic/
hier hast du ein kurzes tutorial um zu sehen, wie man die inhalte aus tables liest..
cu
thorsten
hi,
habe ähnliches vor. will ein paar neue Tabellen zu der Datenbank hinzufügen. Gibt es da was zu beachten? Werde das an nem produktiven System durchführen. Denkt ihr, das ist zu gefährlich? Ich will mir auf keinen Fall die DB zerschießen...
Auf diese Datenbank wollte ich dann eigentlich via der "Page PHP Content"-Extenstion zugreifen. Nach dem was ich hier grade gelesen habe, geht das ja nicht, oder doch?
Robert Meyer hat mir folgenden Tipp gegeben.
Im Setup die folgenden Zeilen einfügen:
seite.10 = PHP_SCRIPT_INT
seite.10.file = fileadmin/meinscript.php
Dabei ist meinscript dann der Script, mit dem du Datenbankzugriffe machst. Allerdings muss du das php-Script statt der Endung .php in (z.B.) .inc umwandeln, da im Ordner fileadmin keine Dateien mit .php-Endung hochgeladen werden können.
Die neuen Tabellen habe ich inzwischen mit einem sql-Dump in die bestehende Typo3-Datenbank hochgeladen. Allerdings konnte ich die 15.000 Datensätze, die ich habe, nicht auf einmal hochladen, so dass ich in Stücken von je 1000 Datensätzen hochgeladen habe.
Manfred
bnai schriebhi,
Auf diese Datenbank wollte ich dann eigentlich via der "Page PHP Content"-Extenstion zugreifen. Nach dem was ich hier grade gelesen habe, geht das ja nicht, oder doch?
Eine sql-Abfrage habe ich inzwischen mit der Page-php-content Extension realisieren können.
Allerdings gelingt es mir nicht, über ein Formular Werte in das php-Script im Page-php-content zu übergeben. Mein Formular sieht so aus:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>Eingabe</title>
</head>
<body>
<div align="center">
<form action="index.php?id=28" method="post">
Feld1: <input name="feld1" size="60" maxlength="60"><br>
Feld2: <input name="feld2" size="60" maxlength="60"><br>
<input type="submit" value="OK">
<input type="reset" value="Abbrechen">
</form>
</div>
</body>
</html>
index.php?Id=28 ist die Seite, auf der sich der php-content befindet. In diesem Script gibt es die Variable $field1, der der Wert aus feld1 übergeben werden soll. Wie muss ich die form action genau formulieren, damit der Wert korrekt übergeben wird. Muss ich irgendwo noch die ID des php-content (bei mir ID=160) angeben?
Übrigens: Wenn ich eine Seite mit dem php-Script im Ordner html meiner Typo3-Installation ablege, wird dort das Ergebnis (also jenseits von Typo3) korrekt angezeigt. Das php-Script scheint also richtig zu sein, nur die Wertübergabe an die Variable gelingt nicht.
Manfred
das ist ne gute frage, ich schau mal nach, wie man das machen kann. kannst du mir mal den code (beispiel) zum auslesen der db posten?
also, man muss die werte via URL übergeben, soweit ich das verstanden hab. habe ich auch schon das eine oder andere mal gemacht.
also sobald du bei dir den submit button drückst, sollte er bei dir die URL "index.php?id=28" aufrufen und die eingegebenen Werte dranhängen, also so ungefähr:
index.php?id=28?feld1=wert&feld2=wert
wobei wert für deine eingabe steht. aus den PHP Globals kannst du dir dann die URI geben lassen und die werte raussaugen.
den code brauchst du mir nich mehr posten, man kann ja wie üblich abfragen abschicken...
in deinem php-script kann st du mit
$field1 = $GLOBALS["HTTP_POST_VARS"]["feld1"];
auch auf formulardaten (method= "POST") zugreifen
stefan s schriebin deinem php-script kann st du mit
$field1 = $GLOBALS["HTTP_POST_VARS"]["feld1"];
auch auf formulardaten (method= "POST") zugreifen
Wo genau müsste ich diese Zeile einfügen?
Mein Script sieht zur Zeit (die Ausgabezeilen sind zunächst nur zum Test so einfach gehalten!):
?php
echo "Ergebnis der Suche nach $feld1<br>";
$host = "localhost";
$username = "Benutzername";
$password = "Password";
mysql_connect ($host,$username,$password);
mysql_select_db("meineDatenbank");
$query = "SELECT f110, f200 FROM aadoku WHERE f720 like '%$feld1%'";
$result = mysql_query($query);
$number = mysql_num_rows($result);
print "Es sind $number Datensätze<br>";
while($row = mysql_fetch_array($result)) {
echo $row["f110"];
echo $row["f200"];
echo "<br>";
}
?>
stefan s schriebin deinem php-script kann st du mit
$field1 = $GLOBALS["HTTP_POST_VARS"]["feld1"];
auch auf formulardaten (method= "POST") zugreifen
Mein vorherige Beitrag hat sich erledigt. Ich habe die Zeile einfach an den Anfang gesetzt.
Allerdings war ein Schreibfehler in deiner Zeile: Ich musste am Anfang field in feld umbenennen. Deshalb funktionierte es zunächst nicht!
Vielen Dank!
von wegen schreibfehler *beleidigttu*
index.php?Id=28 ist die Seite, auf der sich der php-content befindet. In diesem Script gibt es die Variable $field1, der der Wert aus feld1 übergeben werden soll.
aus deinem beitrag vom 05 Mai 2004 19:05 😃
stefan s schriebvon wegen schreibfehler *beleidigttu*
index.php?Id=28 ist die Seite, auf der sich der php-content befindet. In diesem Script gibt es die Variable $field1, der der Wert aus feld1 übergeben werden soll.
aus deinem beitrag vom 05 Mai 2004 19:05 😃
O sorry, mea culpa! :o