Beitrag von Sebastian (0 Beiträge) am Donnerstag, 28.Juni.2007, 14:38.
wo liegt der fehler
hallo bei folgendem habe ich ein Problem: ich will werte nach plz aus einer datenbank holen und die die den gleichen namen habe anzeigen.
.........
foreach $plz_liste ("0", "1" , "2" , "3") ## HIER WIRD DIE ERSTE ZIFFER DER PLZ HINTERLEGT
{
get "PLZ~=$plz_liste", "rechnungssystem" , "system_holen";
while(get_next("system_holen"))
#### HIER WERDEN DIE NAMEN ZU AUSSCHLUß HINTERLEGT ###
if ($Name1 ne "1a\ Autoservice" && $Name1 ne "Altmann" && $Name1 ne "AMS\ Berlin" && $Name1 ne "Aral\ Tankstelle" && $Name1 ne "ATB")
{
push @ok, $Name1 if ++$nr{$Name1}==2;
}
}
foreach $Name1 (@ok)
out "<table CELLPADDING='2' CELLSPACING='2' ALIGN='CENTER' width='900'>";
out "<tr>";
out "<td ALIGN='LEFT'>";
out "<b>$Name1 | ID: $_id | ID: $Id PLZ: $PLZ</b><br>";
out "</td>";
out "</tr></table>";
######################## HIER WERDEN DIE DOPPELTEN DATENSÄTZE, EINZELN AUFGELISTET ############################
get ["Name1" , "==" , "$Name1"] , "rechnungssystem" , "doppelte_holen";
while(get_next("doppelte_holen"))
{
out "<table CELLPADDING='2' CELLSPACING='2' ALIGN='CENTER' width='900'>";
out "<tr>";
out "<td ALIGN='LEFT'>";
out "Name1 = $Name1 | Straße = $Strasse | PLZ = $PLZ | Ort = $ Ort | KD = $kundennummer</td><td align='right'>$Suchort<br>";
out "</td>";
out "</tr>";
out "</table>";
}
out "<table CELLPADDING='2' CELLSPACING='2' ALIGN='CENTER' width='900'>";
out "<tr><td><hr></td></tr>";
out "</table>";
}
}
.............
Es werden mir aber immer nur zwei datensätze aus PLZ-Bereich 0 angezeigt, auch bei den anderen PLZ's.
Sebastian
Antworten
Beitrag von hempelr (1976 Beiträge) am Donnerstag, 28.Juni.2007, 16:26.
Re: wo liegt der fehler
erst mal alle gleichlautenden Variablen semantisch sinnvoll umbenennen, die werden doch bei jedem Schleifendurchlauf bei der Wertzuweisung geändert und dann passt überhaupt nix mehr..
Antworten
Beitrag von Sebastian (0 Beiträge) am Donnerstag, 28.Juni.2007, 16:43.
Re: wo liegt der fehler
Hallo,
... erst mal alle gleichlautenden Variablen semantisch sinnvoll
habe ich so verstanden, dass aus
######################## HIER WERDEN DIE DOPPELTEN DATENSÄTZE, EINZELN AUFGELISTET ############################
get ["Name1" , "==" , "$Name1"] , "rechnungssystem" , "doppelte_holen";
ändern in
get "Id==$_id" , "rechnungssystem" , "doppelte_holen";.
Dann erscheint Die Webseite kann nicht angezeigt werden.
Sebastian
Antworten
Beitrag von mk (966 Beiträge) am Donnerstag, 28.Juni.2007, 21:31.
Re: wo liegt der fehler
Antworten
Beitrag von Sebastian (0 Beiträge) am Freitag, 29.Juni.2007, 11:59.
Re: wo liegt der fehler
Hallo Michael,
ich möchte Adressen vergleichen, zeige mir alle die an die den gleichen namen haben. Das sind bisher fast 20.000 Stk.. Deshalb lasse ich die durchlaufen nach PLZ. Rufe ich die alle zusammen auf, kann die seite nicht angeziegt werden. So kann ich ohne eine adresse zuvergessen das nach postleitzahlen vorsortieren.
Und das lustige ist, das es jetzt funktiniert, ohne was geändert zu haben.
Eine frgae hätte ich noch.
mit diesem get: get ["Name1" , "==" , "$Name1"] , "rechnungssystem" , "doppelte_holen";
hole ich mir ja werte, die auch leerzeichen enthalten können. Weis jemand wie ich da ein sort einbaue ?
sebastian
Antworten
Beitrag von Sander (8133 Beiträge) am Freitag, 29.Juni.2007, 15:55.
Re: wo liegt der fehler
Antworten
Beitrag von Sebastian (0 Beiträge) am Freitag, 29.Juni.2007, 18:17.
Re: wo liegt der fehler
Antworten