Beitrag von Matthias (331 Beiträge) am Mittwoch, 10.Oktober.2001, 22:46. WWW: www.multikultur.de
Loop Ausgabe filtern?!
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 11.Oktober.2001, 01:07.
Re: Loop Ausgabe filtern?!
Gabs schon n paar Mal hier und auch einige Lösungsvorschläge. Hier zwei davon:
<perl>
get "Id==*";
$emails{$EMail}++ while(get_next);
out "$email<br>" foreach $email (keys %emails);
</perl>
(Die Schleifen sind a bisserl fies kurz ;-) )
Sander würde es wahrscheinlich so machen: ;-))
<perl>
get "Id==*";
$"=" ";
while(get_next)
{
push @emails, $EMail if index(" @emails ", " $EMail ")<0;
}
for $email (@emails) # ich würde hier "foreach" nehmen, aber dann schimpft er mich wieder ;-)
{
out "$email<br>";
}
</perl>
Bei grossen DBs ist die erste Variante glaub ich besser.
Antworten
Beitrag von Matthias (331 Beiträge) am Donnerstag, 11.Oktober.2001, 01:28. WWW: www.multikultur.de
Re: Loop Ausgabe filtern?!
Ich bin noch immer der intuitive BP User ohne Ahnung, daher klappts nich...
Folgende Fehlermeldung:
[ Fehler: (perl) in /Webfox/EMail: syntax error at (eval 543) line 4, near "$EMail (" ]
Liegt wohl wieder mal daran, das ich den Code nicht richtig einbaue...
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 11.Oktober.2001, 01:53.
Re: Loop Ausgabe filtern?!
Jups, bei nem Syntax Error is meistens irgendein kleines Zeichen falsch...
Aber Du müsstest schon den Code der den Fehler erzeugt hier rein kopieren, damit man sich anschauen kann, was schief läuft...
Sonst isses schwierig ;-)
Wobei die Fehlermeldung schon etwas sagt: In der Nähe von "$EMail (" - aber in beiden Vorschlägen gibt es gar keine derartige Zeichenfolge ;-)
Antworten
Beitrag von Matthias (331 Beiträge) am Donnerstag, 11.Oktober.2001, 12:10. WWW: www.drumming.de
Re: Loop Ausgabe filtern?! Genaue Infos...
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 11.Oktober.2001, 13:27.
Re: Loop Ausgabe filtern?! Genaue Infos...
Antworten
Beitrag von Matthias (331 Beiträge) am Donnerstag, 11.Oktober.2001, 18:26. WWW: www.multikultur.de
Re: Bräuchte leider noch mal Hilfe - klappt noch net...
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 11.Oktober.2001, 20:11.
Re: Bräuchte leider noch mal Hilfe - klappt noch net...
Naaa, so gehts net...
Also das "loop" brauchst Du jetzt garnich mehr. Wenn Du 17 DBs ansprechen willst (um Himmels Willen, warum denn soviele?? geht das nich in eine??) mach sowas:
<perl>
foreach $dbname ("db1", "db2", ...etc... );
{
get "Id==*", $dbname;
$emails{$EMail}++ while(get_next $dbname);
}
foreach $email (keys %emails)
{
out "$email<br>";
}
</perl>
Beim ...etc... musst Du natürlich die restlichen 15 DB-Namen eintragen... Dann hast Du aus allen 17 DBs alle EMail-Adressen ohne Doppler...
Antworten
Beitrag von Matthias (331 Beiträge) am Freitag, 12.Oktober.2001, 00:22.
Re: Noch ne Fehlermeldung...
Es sind drei verschiedene Angebote daher so viele DB´s - ausserdem bin ich nun mal kein Programmierer ;-)
Und leider gibt´s noch eine Fehlermeldung - bitte habt Geduld mit mir :-)
Folgender Code:
<perl>
foreach $dbname ("Drumming/Musiker_sucht", "Drumming/SucheBiete", "Drumming/Linkliste/Linkliste_Sonstige","Drumming/Termine/Termine","Allwanted/Companywanted","Allwanted/Thingswanted","Allwanted/Thingswanted","Allwanted/Travelwanted","Allwanted/Carswanted","Allwanted/Motorbikewanted","Allwanted/Homewanted","Allwanted/Jobswanted","Allwanted/Jobswanted","Allwanted/Singlewanted","Tais/Buddy","Tais/Kleinanzeigen");
{
get "Id==*", $dbname;
$emails{$EMail}++ while(get_next $dbname);
}
foreach $email (keys %emails)
{
out "$email<br>";
}
</perl>
Folgende Fehlermeldung:
[ Fehler: (perl) in /Webfox/EMail: syntax error at (eval 235) line 2, at EOF ]
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Freitag, 12.Oktober.2001, 00:55.
Re: Noch ne Fehlermeldung...
Das lernst Du schon noch (Programmieren) ;-)
Der Strichpunkt ; am Ende der ellenlangen foreach $dbname (.......); -Zeile gehört da nicht hin!
Mmh, haben die denn alle unterschiedliche Felddefinitionen? Wenn nich, könnte man die bestimmt zu einer einzigen DB zusammenfassen...
Antworten
Beitrag von Matthias (331 Beiträge) am Freitag, 12.Oktober.2001, 14:52.
Re: Noch ne Fehlermeldung... KLAPPT & Antwort
Hi! Besten Dank für die Lösung - die funzt nun auch!
Die DB´s haben schon unterschiedliche Felddefinitionen. Allwanted.de ist ein Kleinanzeigenmarkt mit acht verschiedenen Bereichen. Drumming.de ist eine Musikerinfoplattform und TAIS.de ein Tauchshop.
Die einzigen gleichen Felder sind die zum Thema Name, Kontaktangaben, EMail usw.
Vielleicht könnte man das Ganze ja schlanker gestalten, aber ich wüsste nicht wie...
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Freitag, 12.Oktober.2001, 15:08.
Re: Noch ne Fehlermeldung... KLAPPT & Antwort
Nee, wenn die wirklich so unterschiedlich sind, dann ist das schon das Beste so, wie Du das gemacht hast... ;-)
Antworten
Beitrag von Sander (8133 Beiträge) am Donnerstag, 11.Oktober.2001, 19:25.
Re: Loop Ausgabe filtern?!
LOL
ich hab den Code nun schon mindestens 10 mal so hier reingestellt, warum rückst du erst jetzt damit raus? ;-)
Wenn ich dich recht verstehe, steht dann
blö@wew.de => 1
du@iche.com => 2
dfgs@hgjmf.net => 3 drin?
natürlich ändert sich die Zahl, wenn die Email ein 2tes mal auftaucht.
Hab ich es?
wobei ich wieder an die Diskussion hash vs. array denken muß ;-)
Sander
Antworten
Beitrag von Matthias (331 Beiträge) am Donnerstag, 11.Oktober.2001, 19:52. WWW: w
Re: Loop Ausgabe filtern?!
Hey ihr Insider! Ich verstehe gar nix mehr...
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 11.Oktober.2001, 20:00.
Re: Loop Ausgabe filtern?!
Ein bisschen Spass muss sein ;-)
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 11.Oktober.2001, 19:59.
Re: Loop Ausgabe filtern?! - hehe...
Hehe, weiss auch nich... Ich fand das so nett, wie Du Dich über das index(" @array ", " $text ") gefreut hast, das wollt ich Dir nich kaputt machen ;-)) (oder um ganz ehrlich zu sein, ich hab nie drüber nachgedacht ;-) ).
fast, es steht normalerweise
blö@wew.de => 1
du@iche.com => 1
dfgs@hgjmf.net => 1
drin, ausser die email kommt öfter vor. d.h. es steht halt genau zu jeder email genau drin wie oft sie vorkommt, was ja auch ganz interessant sein kann.
na, in dem fall sind hashes schneller, grade bei grossen datenmengen: das index(" @array ", " $text ") ist zwar schon schnell, aber bei bei 10.000 einträgen? und das wird ja bei jedem eintrag durchsucht! also erst die suche durch 1 feldinhalt, dann die suche durch 2 feldinhalte, dann die suche durch 3 feldinhalte... bis zur suche durch 10000 feldinhalte... ergibt irgendeine wahnwitzige anzahl an suchvorgängen ;-)
der hash braucht immer genau einen zugriff... ;-)
Antworten
Beitrag von Matthias (331 Beiträge) am Donnerstag, 11.Oktober.2001, 20:04. WWW: www.multikultur.de
Re: Loop Ausgabe filtern?! - hehe...
Klar muss Spass sein... Bekomme ICH denn auch noch ne Lösung ;-)
Bei der Gelegenheit wollte ich noch wissen, ob ich bp auch ohne Hosting mieten kann. Du hattest in einer Mail an mich mal gesagt, das dies in den nächsten Tagen kommen würde Christoph...
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 11.Oktober.2001, 20:08.
Re: Loop Ausgabe filtern?! - hehe...
bin doch schon dabei ;-)
kommt. bald. montag, nächste woche ;-)
Antworten
Beitrag von Matthias (331 Beiträge) am Donnerstag, 11.Oktober.2001, 20:18.
Re: Loop Ausgabe filtern?! - hehe...
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 11.Oktober.2001, 23:09.
Re: Loop Ausgabe filtern?! - hehe...
Jetzt haste bei all der eingeübten (Un)geduld die Antwort übersehen ;-)
Antworten