Mysmilies.net die Smilies Datenbank

Script oder Datei finden :

 
-Startseite
-Newsarchiv
-Newsletter
-Mein Dreamcodes
-Scripte
-eBooks
-Online Speicher
-Datenbanken
-Webseiten
-Trickfilm
-Web Grafiken
-Bildbearbeiter
-Browser
-EMail Software
-Ftp Clienten
-Betriebssysteme
-Texteditoren
-Wampserver
-Office Pakete
-Antivirus
-System Cleaner
-Recovery Tools
-Php Schnipsel
-Ajax Schnipsel
-VB Schnipsel
-Tutorials
-Workshops
-Webkatalog
-Leserforum
-Erweiterte Suche
-Sitemap
-Impressum
-neuste Downloads

1. Selfphp (1725)
2. Xampp OS X (1623)
3. Xampp Linux (1615)
4. Xampp Windows (1625)

-neuste Tutorials

1. Samsung S20 rooten (1290)
2. Gratis USA Nummer (14672)
3. RAID (13704)
4. Text auf Grafik (14369)


Tutorials Textdb - Klasse

 

Textdb - Klasse

Klasse mit der sich beliebe Daten in eine Textdatei speichern lassen

Script:

<?php
if(!defined('ONPAGE')) die("NO CHANCE!"); 

class phpdb 

var $sum; //Anzahl der Datensätze @public
var $keysum; //Anzahl der Daten pro Datensatz @public
var $keynames; //Array das die Name der Schlüssel pro Datensatz enthält @public
var $data; //Mehrdimensionales Array das die Daten enthält @public
var $fp; //Dateizeiger @private
var $filename; //Dateiname der Datenbankdatei @private

function phpdb($filename) 


if(!is_file($filename)) 

$this->error("DB-File existiert nicht!"); 


$this->filename = $filename; 
$this->load(); 





function load() 


unset($this->data, $info); //Daten werden gelöscht, damit sie neu geladen werden können
include $this->filename; //DB-File wird eingefügt

if(!isset($info)) //Wenn in der DB-File das $info Array nicht existiert.

$this->data[0]['fehler'] = "KEINE DATEN VORHANDEN"; 
$this->sum = 1; //Gesamtsumme der Datensätze
$this->keysum = 1; //Summe der einzelnen Daten pro Datensatz
$this->keynames = $this->keynames($this->data['0']); //Enthält die Namen der Schlüssel der Datensätze

else 


$begin = 0; 
$this->sum = count($info); //Gesamtsumme der Datensätze
$this->keysum = count($info['1']); //Summe der einzelnen Daten pro Datensatz
$this->keynames = $this->keynames($info['1']); //Enthält die Namen der Schlüssel der Datensätze


for($i=0; $i<$this->sum;$i++) 


for($n=0;$n <= $this->keysum;$n++) 

$this->data[$i][$this->keynames[$n]] = stripslashes($info[$i+1][$this->keynames[$n]]); 




$this->data = array_reverse($this->data); 







function keynames($array=false) 


if(!$array) 

$no = true; 
$array = $this->data['0']; 


if($no) 

return $this->keynames = array_keys($array); 

else 

return array_keys($array); 






function error($msg) 


die("<div align=\"center\" style=\"font-weight:bold;font-size:14px;color:#FF3300;\">".$msg."</div>"); 





function open($mode, $lock=false) 


$this->fp = @fopen($this->filename, $mode); 

if($lock != false) 

@flock($this->fp, $lock); 





function close() 


if(isset($this->fp) && !empty($this->fp)) 

@flock($this->fp, 3); 
@fclose($this->fp); 
return true; 

else 

return false; 






function insert($entry) 


if(!is_array($entry)) 


return false; 



$keysofentry = $this->keynames($entry); 
$size = filesize($this->filename); 
$this->open("r+",2); 
fseek($this->fp, $size-2); 

if(!$this->compare($keysofentry, $this->keynames)) 


$this->error("Array stimmen nicht überein! (Formular überprüfen)"); 



foreach($keysofentry as $key) 


static $first = true; 

if($first == true) 


fputs($this->fp,"$info[++$begin]['$key'] = \"".$this->formatstr($entry[$key])."\";n"); 
$first = false; 


else 


fputs($this->fp,"$info[ $begin]['$key'] = \"".$this->formatstr($entry[$key])."\";n"); 





fputs($this->fp,"n?>"); 
$this->close(); 
return true; 




function delete($delete=false) 


$size = filesize($this->filename); 
$this->open("w",2); 

fputs($this->fp,"<?n"); 
#fputs($this->fp,"#$info[++$begin]['name'] = \"isreal\";n#$info[ $begin]['email'] = \"office@is-real.com\";nn#$info[++$begin]['name'] = \"Franz\";n#$info[ $begin]['email'] = \"franz@host.com\";n#usw..rnn");

foreach($this->data as $data) 

static $n=0; 

if(!is_array($delete) || !in_array($n, $delete)) 


for($i=0; $i < $this->keysum;$i++) 


if(!(($this->keysum+$i)%$this->keysum)) 


static $d=1; 
fputs($this->fp,"#".$d." (ID:".($d-1).")n"); 
fputs($this->fp,"$info[++$begin]['".$this->keynames[$i]."'] = \"".$this->formatstr($data[$this->keynames[$i]])."\";n"); 
$first = false; 
$d++; 


else 


fputs($this->fp,"$info[ $begin]['".$this->keynames[$i]."'] = \"".$this->formatstr($data[$this->keynames[$i]])."\";n"); 


if(($i+1)==$this->keysum) 


fputs($this->fp,"n"); 







$n++; 



fputs($this->fp,"n?>"); 
$this->close(); 
return true; 





function compare($array1, $array2) 


$arraysum1 = count($array1); 
$arraysum2 = count($array2); 

if($arraysum1 != $arraysum2) 

return false; 


foreach($array1 as $value) 


if(!in_array($value, $array2, true)) 

return false; 




return true; 





function formatstr($str) 


return str_replace("$", "\$", addslashes($str)); 







?>



<?php

require "phpdb.class.php"; //Als erstes die Klasse includen ;o)
$db = new phpdb("db.php"); //Klasse initialiesieren

if(!empty($_POST['name']) && !empty($_POST['email']))
{

$data = array('name' => $_POST['name'],
'email' => $_POST['email']);

//Der Methode insert übergibt man einfach ein Array mit den Daten die man eintragen möchte.
//Das Array muss dieselben Schlüssel aufweisen wie die in der DB-File schon vorhandenen.
$db->insert($data);

}


if(isset($_POST['del']))
{

//Der Methode delete ein array mit den id's die gelöscht werden sollen
$delete = $_POST['delete'];
$db->delete($delete);

}
//mit load wird das Array aktualisiert.
//Damit die neuen/gelöschten Einträge (nicht) angezeigt werden
$db->load();

echo "Anzahl der Datensätze: <b>".$db->sum."</b><br>\n"; //sum enthält die Summer der Datensätze die in der Datei vorhanden sind.

echo "Anzahl der Daten pro Datensatz: <b>".$db->keysum."</b><br>\n"; //keysum enthält die Summe der einzelnen Einträge pro Datensatz (name+email = 2)
echo "Namen der Daten pro Datensatz: <br>\n";
echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\" target=\"_self\">\n";

foreach($db->keynames as $keyname) //keynames enthält die Namen der Schlüssel eines Datensatzes. (name, email)
{
echo "<b>".$keyname."</b>: <input type=\"text\" name=\"$keyname\" value=\"\"><br>";
}
echo "<input type=\"submit\" value=\"eintragen\">\n";
echo "</form>\n";
echo "<br><br>";


echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\" target=\"_self\">\n";

//data ist ein 2Dim Array das die gesamten Daten enthält;
//$classname->data[0]['name'] = "isreal";
//$classname->data[0]['email'] = "office@is-real.net";
//usw.

foreach($db->data as $user)
{
static $n =0;
echo "<input type=\"checkbox\" name=\"delete[]\" value=\"$n\"><br>\n";
for($i=0; $i < $db->keysum;$i++)
{
echo "<b>".ucfirst($db->keynames[$i])."</b>: ".$user[$db->keynames[$i]]."<br>\n";
}
$n++;
echo "<br>\n";
}
echo "<input type=\"submit\" name=\"del\" value=\"l&ouml;schen\">\n";
echo "</form>\n";

$db->delete(); //Wenn delete ohne Argument aufgerufen wird formatiert er die DB-File neu. Dabei werden aber keine Änderungen vorgenommen.


?>

 
Seiten : 1
hinzugefügt am : 28.01.2005
Autor : NA
Listings ID : 645
Status zum lesen : Gast
gelesen : 6313 mal
[Druckansicht] [Lesercharts] [RSS] [zur Übersicht]
 
 

Die Möglichkeit diesen Artikel zu verlinken :

HTML-Code:

Code zum Einbinden in ein Forum:


Hinweis : Das lesen des Artikels Textdb - Klasse - listings ID: 645 auf Dreamcodes, sowie Link Verweise auf Internetseiten fremder Anbieter erfolgen auf eigene Gefahr. Dreamcodes haftet nicht für Schäden, die aus der Verwendung des Inhaltes der Artikel erfolgen könnten. Schadenersatzansprüche, aus welchem Rechtsgrund auch immer, sind ausgeschlossen !
-Live Statistik
Datum: 19.04.2024
Uhrzeit: 16:19 Uhr
Online: 9 User
User heute: 6301
User allgem.: 33654991

Eingeloggt als Gast
-Download des Monats
-
-unsere Monats Umfrage
Welche Serie ist besser?

The Blacklist
House of the Dragon
Die Ringe der Macht
The Sandman
Manifest

-unsere Bestseller