Bei der Datenbankverwaltung geht es ja gerade
um die Benutzeroberfläche. Ne MySQL Datenbank
hat die nämlich direkt nicht, dafür gibts dann
phpMyAdmin und das ist eben PHP-Script.
php Files sind im Prinzip HTML Files mit
eingebetteten php Scripten, die beim Aufruf der
Datei interpretiert werden. Natürlich serverseitig.
Daher brauchts nen Webserver, z.B. Apache
der das dann erkennt und dem php Parser zuschiebt.
Je nach Servereinstellungen können Dateiendungen
für php-files sein:
.php
.php3
.php4
.phtml
.phtm
manchmal auch
.htm
.html
aber das macht man nicht so gern, weil dann auch
normale websites immer durch den Parser laufen, was
den Server dann mehr belastet.
ne normale php Seite ist in etwa so aufgebaut:
<html>
<head>
<title> xyz </title>
</head>
<body>
<?php
echo 'hallo Welt';
?>
</body>
</html>
Das ist dann ne ganz normale html Seite, nur der Teil zwischen
den php-Tags wird interpretiert. Dort stehen dann auch die
Sachen von der Datenbankanbindung, Datenbankaktionen usw.
drinne.
Hier hab ich mal nen Auszug aus nem Script, bei dem ich per
php n java-script erstelle ...
<script>
// (C) 2000 www.CodeLifter.com
// http://www.codelifter.com
// Free for all users, but leave in this header
// NS4-6,IE4-6
// Fade effect only in IE; degrades gracefully
// =======================================
// set the following variables
// =======================================
// Set slideShowSpeed (milliseconds)
var slideShowSpeed = 3000
// Duration of crossfade (seconds)
var crossFadeDuration = 3
// Specify the image files
var Com = new Array()
var Pic = new Array() // don't touch this
// to add more images, just continue
// the pattern, adding to the array below
<?php
$pfad=$_SERVER['REQUEST_URI'];
//echo $pfad;
$teilpfad = explode("?", $pfad);
$Files=array();
$verz=opendir(".");
while ($Datei=readdir($verz)){
array_push($Files,$Datei);
}
if (is_file("comment.txt") && $Datei= file("comment.txt")){
$Zaehler=0;
foreach ($Datei as $Zeile){
$Zeilegeteilt= explode(";",$Zeile);
//$filename[$Zaehler]=$Zeilegeteilt[0];
$comment[trim($Zeilegeteilt[0])]=trim($Zeilegeteilt[1]);
//$Zaehler++;
}
}
else {
$filename[0]="";
$comment[0]="";
}
sort($Files);
reset($Files);
//if (isset($HTTP_GET_VARS["Slide"])){
$bildzaehler=0;
//print_r($Files);
while(list($index,$Datei) = each($Files)){
if (is_file($Datei)){
$Dateierweiterung=pathinfo($Datei);
$Dateierweiterung=$Dateierweiterung["extension"];
if (strlen($Datei)>3 && $Datei<>"Thumbs.db"){
if ($Dateierweiterung=="jpg" or $Dateierweiterung=="JPG"){
if (is_file("$Datei")){
echo "Pic[$bildzaehler] = 'http://www.weingut-hoerner.de".$teilpfad[0].$Datei."'\r\n";
if (array_key_exists($Datei, $comment)){
echo "Com[$bildzaehler] = '".$comment[$Datei]."
'\r\n";
}
else {
echo "Com[$bildzaehler] = '
'\r\n";
}
$bildzaehler++;
}
}
}
}
}
//}
?>
// =======================================
// do not edit anything below this line
// =======================================
var t
var j = 0
var p = Pic.length
var preLoad = new Array()
for (i = 0; i < p; i++){
preLoad[i] = new Image()
preLoad[i].src = Pic[i]
}
function runSlideShow(){
if (document.all){
document.images.SlideShow.style.filter="blendTrans (duration=2)"
document.images.SlideShow.style.filter="blendTrans (duration=crossFadeDuration)"
document.images.SlideShow.filters.blendTrans.Apply ()
}
document.images.SlideShow.src = preLoad[j].src
document.getElementById('comment').innerHTML = Com[j]
//document.getElementById('comment').text=Com[j]
if (document.all){
document.images.SlideShow.filters.blendTrans.Play( )
}
j = j + 1
if (j > (p-1)) j=0
t = setTimeout('runSlideShow()', slideShowSpeed)
}
</script>
das könnte im prinzip auch in C oder Bascom funktionieren
mit etwas umbau versteht sich.
Was Du auf nem AVR machen kannst wär ne
Clientseitige verarbeitung z.B. per Java-Script.
Oder Java Applet. Sprich Du schickst Deinen gesamten
Datenbestand, der auch z.B. in ner csv-Datei liegt
mit Rüber zum Client, der führt dann die gewünschten
Operationen durch und schickt die neue Datenbank
als csv an den Server zurück, der sie dann wieder
auf der SD-Karte speichert ... der Haken ist nur, dass
Quasi immer nur ein Client das machen kann.
Und es gibt halt etwas mehr Traffic.
Und natürlich ist der gesamte Datenbestand für den
Client ersichtlich.
Lesezeichen