Thread SQL Tabellen mit Perl erstellen (19 answers)
Opened by con at 2006-07-10 22:20

con
 2006-07-10 22:20
#8290 #8290
User since
2006-07-10
10 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich hab hier ein Skript was tabellen in eine .txt schreibt die man dann in mysql impotieren kann!

Mein Problem hier ist das das Skript leider nur Dateien in die .txt schreibt die anfangs nummeriert sind.

Jetzt bekomme ich es einfach nicht hin das es Dateien einträgt die nicht mit einer nummer anfangen sondern alphabetisch geordnet sind!

hier mal das skript:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/perl
open(titeltxt,"<titel.txt");
@titel=<titeltxt>;
close(titeltxt);
open(urltxt,"<urls.txt");
@urls=<urltxt>;
close(urltxt);
open (sql,">sql.txt");
$anzahl=@titel;
$zahl=0;
for($i=0;$i<$anzahl;$i++){
if((length($titel[$i]) > 2)&&(length($urls[$i])>2)){
$zahl=substr($titel[$i],0,4);
if ($zahl<=2500){$subkat=5;}
if ($zahl<=2000){$subkat=4;}
if ($zahl<=1500){$subkat=3;}
if ($zahl<=1000){$subkat=2;}
if ($zahl<=500){$subkat=1;}
$zahl=$zahl+1-1;
if($zahl ne ($altezahl+1)){print ($altezahl+1)." fehlt \n";}
$altezahl=$zahl;
$romname=$titel[$i];
while($romname=~/\n/g){chop($romname);}
$romurl=$urls[$i];
while($romurl=~/\n/g){chop($romurl);}
$romname=~s/'/\\'/g;
$romurl=~s/'/\\'/g;
$romscreen="http://www.deineurl.de/bilder/".$zahl."b.jpg";
print sql "INSERT INTO `files`(`kat_id`,`sub_kat_id`,`filename`,`downloadfile`,`screen`) VALUES (1, $subkat, '$romname', '$romurl', '$romscreen');\n"
}
}


und hier ein auszug aus der sql.txt

INSERT INTO `files`(`kat_id`,`filename`,`downloadfile`,`screen`) VALUES (5, 'dateiname', 'http://www.deineurl.de/ziel.rar', 'http://www.deineurl.de/bilder/0001b.jpg');

bisher hab ich mit dem skript alle dateien in die datenbank eingetragen die folgendermaßen aussahen

0001 - filename.rar
0002 - filename.rar
usw.

jetzt wollte ich das das skript auch die dateien einträgt die keine nummer am anfang haben

also dateien von a-z die alphabetisch geordnet sind in entsprechenden .txt dateien

diese sehen dann in etwa so aus

alpha.rar
beta.rar

also einfach ohne die nummer am anfang!

das sollte man doch mit perl hinbekommen oder? also das das skript die einzelnen dateien erkennt und die entsprechende url zum download zur richtigen datei zuweist bzw. ordnet (in der sql.txt die ich dann in die datenbank impotiere)

------
INSERT INTO `files`(`kat_id`,`filename`,`downloadfile`,`screen`) VALUES (5, 'dateiname', 'http://www.deineurl.de/ziel.rar');

der dateiname/filename in der erstellten table vom skript ist mit der ziel.rar/downloadfile immer identisch.

mfg con


/modedit Gwendragon: Code-Tags hinzu\n\n

<!--EDIT|GwenDragon|1152558497-->

View full thread SQL Tabellen mit Perl erstellen