php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Jobs und Projekte > Projekthilfe
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Projekthilfe Hier könnt Ihr eine Art Projekthilfe anfordern. Unter Projekthilfe verstehen wir Angebote bei denen KEIN Geld gezahlt werden kann.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #16 (permalink)  
Alt 19-02-2008, 16:35
reallife
 Registrierter Benutzer
Links : Onlinestatus : reallife ist offline
Registriert seit: May 2005
Ort: Weit weit weg
Beiträge: 410
reallife ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Okay, was soll denn in der Spalte "book" stehen? Bzw. Wo finde ich die Informationen zu der Spalte in den txt-Dateien?

Als Grundlage für den Import diente mir folgendes Archiv: http://www.luther-bibel-1545.de/lu1545.zip

Sie haben beim Import der zweiten Datei deshalb eine Fehlermeldung zu sehen bekommen, weil die Tabellen in beiden Dateien den selben Namen tragen, aber das ist ja jetzt eh hinfällig..

Gruß,
rl
__________________

Geändert von reallife (19-02-2008 um 16:38 Uhr)
Mit Zitat antworten
  #17 (permalink)  
Alt 19-02-2008, 16:40
mokelmann
 Newbie
Links : Onlinestatus : mokelmann ist offline
Registriert seit: Feb 2007
Beiträge: 55
mokelmann ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Dort sind, wie man in der kjv.sql sieht, fortlaufende Nummern durch die ganze Bibel:

01 (für Genesis)
...

44 (für Lukas)

etc..
Mit Zitat antworten
  #18 (permalink)  
Alt 19-02-2008, 16:47
reallife
 Registrierter Benutzer
Links : Onlinestatus : reallife ist offline
Registriert seit: May 2005
Ort: Weit weit weg
Beiträge: 410
reallife ist zur Zeit noch ein unbeschriebenes Blatt
Standard

[...]
"00a" und "00b" haben mich da ein wenig irritiert...

melde mich später mit dem geänderten sql-dump.
__________________
Mit Zitat antworten
  #19 (permalink)  
Alt 19-02-2008, 16:50
mokelmann
 Newbie
Links : Onlinestatus : mokelmann ist offline
Registriert seit: Feb 2007
Beiträge: 55
mokelmann ist zur Zeit noch ein unbeschriebenes Blatt
Standard

00a Public Domain
00b Legal Notice

Vielleicht können Sie das bei der Luther Version auch einfügen, damit ich das später auch verwenden kann. Ich danke Ihnen so herzlich!!!
Mit Zitat antworten
  #20 (permalink)  
Alt 19-02-2008, 18:33
reallife
 Registrierter Benutzer
Links : Onlinestatus : reallife ist offline
Registriert seit: May 2005
Ort: Weit weit weg
Beiträge: 410
reallife ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Prüfen Sie doch mal bitte, ob Sie damit etwas anfangen können.
SQL-Dump

Ich kann mir durchaus vorstellen, dass die Reihenfolge der Bücher nicht die richtige ist. Wenn Sie die Reihenfolge der Bücher korrigieren würden und mir diese im txt-Format zur Verfügung stellen könnten, würde ich den Import erneut durchführen.

Ich könnte Ihnen natürlich auch das Script zur Verfügung stellen, wie Sie möchten.
__________________

Geändert von reallife (19-02-2008 um 18:51 Uhr)
Mit Zitat antworten
  #21 (permalink)  
Alt 19-02-2008, 20:29
mokelmann
 Newbie
Links : Onlinestatus : mokelmann ist offline
Registriert seit: Feb 2007
Beiträge: 55
mokelmann ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja, wäre schön wenn Sie mir das Script auch zukommen lassen könnten. Ich weiss nicht wie ich all diese ids ändern kann. Es stimmt, die Stimmen nicht überein.

Können Sie mir weiterhelfen und mir genau sagen, wie ich das machen kann.

Herzlichen Dank,
mokelmann
Mit Zitat antworten
  #22 (permalink)  
Alt 19-02-2008, 20:46
reallife
 Registrierter Benutzer
Links : Onlinestatus : reallife ist offline
Registriert seit: May 2005
Ort: Weit weit weg
Beiträge: 410
reallife ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nun, das Skript sorgt nicht für die richtige Reihenfolge. Es liest die einzelnen Dateien ein, bereitet den Inhalt auf und speichert dieses in der DB ab.

Man müsste jetzt die Dateien so umbenennen, dass diese in der richtigen Reihenfolge eingelesen werden können.

Wie bereits erwähnt, dient als Grundlage folgendes Archiv: http://www.luther-bibel-1545.de/lu1545.zip

EDIT:
Das Script ist darauf ausgelegt, dass jede Datei ein Buch repräsentiert. Im neuen Testament ist es aber leider so, dass die drei Briefe des Johannes in einer Datei zusammengefasst sind. Dies müssten sie dann händisch ändern!

Sollten Sie die Dateien durchnummerieren möchten, dann achten Sie darauf, dass diese nicht "1.txt" sondern "01.txt" heißen. Denn, "10.txt" würde unweigerlich nach "1.txt" in der Sortierreihenfolge vorkommen und das würde das gewünschte Ergebnis wieder verfälschen. ;-)



Hier das Script:
PHP-Code:
<?
// Verbindung zur Datenbank herstellen
$intConnection mysql_connect("localhost""root""");
mysql_select_db("test"$intConnection);
$strSqlInsertTemplate "INSERT INTO `BibleTable2` "
                                            
"(`Book`, `BookTitle`, `Chapter`, `Verse`, `TextData`) VALUES" 
                                            
"('#book', '#bookTitle', '#chapter', '#verse', '#versecontent')";

// Ordner zum Einlesen definieren:
$arrDirectories = array(
    
"c:\\mein\\pfad"// bei den Ordnernamen muss darauf geachtet werden, dass kein Ordner mit dem Buchstaben "t" beginnt!!!
    
"c:\\mein\\pfad"
);

// >>>-------------------------------------------------------------------------------------------
// Ab hier bitte nichts mehr ändern!
$intBookCounter 0;
foreach( 
$arrDirectories as $strDirectory )
{
    if( !
is_dir($strDirectory) )
        die(
'Fehler: "'$strDirectory .'" ist keine gültige Pfadangabe..');
        
    
chdir($strDirectory);
    
$arrFiles scandir(".");
    foreach( 
$arrFiles as $strFile )
    {
        if( 
preg_match("~^\\.{1,2}$~"$strFile) )
            continue;

        
$intBookCounter++;

        
$strContent file_get_contents($strFile);
        
$arrTmp preg_split("/([\n|\r]+)/i"$strContent);
        
$arrContent = array();
        foreach( 
$arrTmp as $strTmp )
        {
            
$strTmp trim($strTmp);        
            if( 
strlen($strTmp) > )
                
array_push($arrContent$strTmp);
        }
        unset(
$arrTmp$strContent);
        
        
$arrSqlData = array(
            
'#book' => sprintf("%02.0f"$intBookCounter),
            
'#bookTitle' => mysql_real_escape_string(array_shift($arrContent), $intConnection),
            
'#chapter' => '001',
            
'#verse' => null,
            
'#versecontent' => null
        
);
        
        
$objChapter null;
        while( 
sizeof($arrContent) > )
        {
            
$strTmp array_shift($arrContent);
            if( 
preg_match("~^Das (\\d+)\\. Kapitel~"$strTmp$arrResults) )
            {
                
$arrSqlData['#chapter'] = sprintf("%03.0f"$arrResults[1]);
            }
            
            if( 
preg_match("~^(\\d+)\\. (.*)$~"$strTmp$arrResults) )
            {
                
$arrSqlData['#verse'] = sprintf("%03.0f"$arrResults[1]);
                
$arrSqlData['#versecontent'] = mysql_real_escape_string($arrResults[2], $intConnection);
                
                
$strSql strtr($strSqlInsertTemplate$arrSqlData);
                
mysql_query($strSql$intConnection) or die(mysql_error());
            }
        }
    }
}
// <<<-------------------------------------------------------------------------------------------

echo "<h1>done..</h1>";
?>
__________________

Geändert von reallife (20-02-2008 um 01:13 Uhr)
Mit Zitat antworten
  #23 (permalink)  
Alt 20-02-2008, 13:00
mokelmann
 Newbie
Links : Onlinestatus : mokelmann ist offline
Registriert seit: Feb 2007
Beiträge: 55
mokelmann ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich habe es nun gemacht, aber die Ordnung stimmt immer noch nicht. Bitte schauen Sie sich die SQL Datei mal an. Ich habe Ihnen auch nochmal die ganzen Bücher geordnet angehängt.

Ich Danke Ihnen herzlich!


http://www.70x7media.de/01.zip
Mit Zitat antworten
  #24 (permalink)  
Alt 20-02-2008, 13:33
reallife
 Registrierter Benutzer
Links : Onlinestatus : reallife ist offline
Registriert seit: May 2005
Ort: Weit weit weg
Beiträge: 410
reallife ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also der Import funktioniert bei mir einwandfrei. Ich kann mir aber vorstellen, welcher Fehler Ihnen unterlaufen ist. Sie haben mit Sicherheit zwei mal den selben Pfad im Array ($arrDirectories) definiert, oder? Ich hatte dort zwei Einträge, weil ich die Testamente in separaten Verzeichnissen abgelegt hatte.

Wenn Sie also beide Testamente in einem Verzeichnis abgelegt haben, dann hinterlegen Sie die Pfadangabe zu diesem Verzeichnis auch nur ein einziges mal in dem o.g. Array, dann sollte es auch funktionieren.
__________________
Mit Zitat antworten
  #25 (permalink)  
Alt 20-02-2008, 13:52
mokelmann
 Newbie
Links : Onlinestatus : mokelmann ist offline
Registriert seit: Feb 2007
Beiträge: 55
mokelmann ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Super, vielen Dank. Nun nummeriert er richtig, aber er fängt bei 2 an, nicht bei 1 für das erste Buch Moses. Kann ich das irgendwie beheben?

LG und wirklich super vielen Dank!
Mit Zitat antworten
  #26 (permalink)  
Alt 20-02-2008, 14:01
reallife
 Registrierter Benutzer
Links : Onlinestatus : reallife ist offline
Registriert seit: May 2005
Ort: Weit weit weg
Beiträge: 410
reallife ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ändern Sie folgende Zeile im Skript ...
PHP-Code:
if( preg_match("~^\\.{1,2}$~"$strFile) ) 
... wie folgt ab ...
PHP-Code:
if( preg_match("~^\\.{1,2}$~"$strFile) || substr($strFile, -3) !== 'txt' 
__________________
Mit Zitat antworten
  #27 (permalink)  
Alt 20-02-2008, 15:07
mokelmann
 Newbie
Links : Onlinestatus : mokelmann ist offline
Registriert seit: Feb 2007
Beiträge: 55
mokelmann ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Super, Danke. Hat geklappt. Ich schaue mal ob ich es auch mit Luther 1912 hinbekomme. Perfekt!
Mit Zitat antworten
  #28 (permalink)  
Alt 20-02-2008, 15:15
mokelmann
 Newbie
Links : Onlinestatus : mokelmann ist offline
Registriert seit: Feb 2007
Beiträge: 55
mokelmann ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich habe nun schon wieder ein Problem. Ich kann den Luther1912 Text nicht richtig einlesen, da die Punkte im Kapitel nicht stimmen. Als Beipspiel habe ich ein Kapitel angehängt. Zu beachten ist, dass manchmal auch im Text Zahlen vorkommen, man müsste also etwas programmieren, dass nur diese am Anfang nimmt.

Des weiteren werden auch die Kapitel "1. Mose 1" mit "1Mose 1" eingelesen.

Wäre super nett, wenns Sie mir dabei noch helfen könnten. Hier die file:

ww http://www.70x7media.de/01.txt

lg,
mokelmann
Mit Zitat antworten
  #29 (permalink)  
Alt 20-02-2008, 16:52
reallife
 Registrierter Benutzer
Links : Onlinestatus : reallife ist offline
Registriert seit: May 2005
Ort: Weit weit weg
Beiträge: 410
reallife ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Die richtige Nummer des jeweiligen Kapitel in Ihrem Beispiel ist doch nicht die rot markierte sondern die grün markierte Zahl, oder?
Beispiel: 1Mose 23

Das Skript ist darauf ausgelegt, dass innerhalb der Dateien eine gewisse Struktur herrscht.
* Am Anfang der Datei muss der Titel stehen.
* Kapitel müssen so anfangen: "Das n. Kapitel"
* Verse müssen so anfangen: "n. Verstext..."

In Ihrer Datei herrscht eine solche Struktur nicht, deswegen funktioniert der Import nicht.

Das ganze lässt sich natürlich entsprechend anpassen, ich müsste dafür nur wissen, ob es sich dabei nur um diese einzige Datei handelt oder ob es mehrere sind? Wenn es mehrere sein sollten, weisen diese eine einheitliche Struktur auf, oder gibt es auch dort Unterschiede?
__________________
Mit Zitat antworten
  #30 (permalink)  
Alt 20-02-2008, 21:48
mokelmann
 Newbie
Links : Onlinestatus : mokelmann ist offline
Registriert seit: Feb 2007
Beiträge: 55
mokelmann ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nein, alle Dateien haben das gleiche Problem. Das Problem ist ja nur, das er bei "1Mose 23" nicht "1. Mose 23" schreibt.

Außerdem haben, wie gesagt, nicht alle Verse eine Zahl mit Punkt, z.B. "13 Der Herr sprach" anstelle von "13. Der Herr".

Dies ist bei allen Dateien so

LG,
mokelmann
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:08 Uhr.