Veröffentlicht 9. November 200024 j Hey, naja ich fang gaaaanz vorne an. Ich soll in PHP ein Script schreiben (welch Überraschung), mit dem man auf eine mySQL Datenbank zugreift. In der Datenbank (Test)gibt es eine Tabelle (PLZ), also Ort und dazugehörige PLZ (ohne Bezirk, ich weis macht wenig sinn aber es geht ja auch nur um den PLZ-Bereich). edit: also nur 2 Spalten Ich habe mein Script soweit fertig. Nur wenn man z.B. als PLZ " 1* " (also mit Wildcards) wählt (SQL intern ... like '1%'; ) dann listes er "1338" Einträge ... darunter ca 600 mal Berlin (war auch nicht anderst zu erwarten). Auch diverse andere Städte werden mehrfach ausgegeben. Ich muß also das per : ($row = mysql_fetch_array($plz, MYSQL_ASSOC)) Array öffnen und den inhalt in ein neues Array schreiben (im Array $row ist ein weiteres Array(also keine Zeiger vorhanden ID immer #1), weswegen es (imo) nicht benutzt werden kann). Das in diesem neuen Array (nennen wir es $row2) jede Stadt nur einmal vorhanden sein wird verdanken wir dem Befehl "in_array" ( http://www.php.net/manual/function.in-array.php ). Und so hatte ich es vor: PHP gibt das erste mal Berlin aus. Ich sag ihm : schreib alles in das Array $row2 Er "will" nächstes Berlin ausschreiben. Frage mit "in_array" : ist berlin schon im Array $row 2 ? Juup , pech für das 2te bis 800ste Berlin Bei denen wird nämlich auf die Frage ist Berlin schon da ? mit true geantworte d.v. kommen nicht ins Array $row2 und so mit allen anderen städten (Werten) Vieleicht solltet ihr Parallel mein Script lesen, ich kann das nämlich nicht so gut erklären. Jedenfalls soll der im endefeckt ausgeben: Berlin Stadt2 Stadt3 etc. und nicht: Berlin Berlin Berlin Berlin Berlin Berlin etc. Nur wie formuliere ich das in PHP mit dem befehl in_array (nicht vergessen das script zu lesen (führ den genauen Aufbau)) ??? ok wenn mir noch was einfällt schreib ich es dazu . edit: um ehrlich zu sein hab ich noch nicht mal einen Ansatz wie man das lösen könnte, denn ich schreibe mit PHP erst seid einem Tag etwas größere Scripte ... davor immer nur richtig kleine Übungsaufgaben. [Dieser Beitrag wurde von Valentin am 09. November 2000 editiert.]
9. November 200024 j hi, du liest ja erstmal deine Datensätze aus. Dann musst du herausfinden wieviel Datensätze du eingelesen hat. Dann bastelst Du eine kleine Schleife Und fragst ab. if (in_Array(ausgArray,$Array)==false) dann schreib es in das Array rein, ansonsten mache nichts. Gruß
9. November 200024 j Ließ vorher mein Script durch und antworte pls für die PHP-Dau's wie mich edit: z.B. für was steht das "" ? sorry .. bestimmt doofe Frage. [Dieser Beitrag wurde von Valentin am 09. November 2000 editiert.]
9. November 200024 j Wenn du jede Stadt nur 1x Ausgeben willst, egal wieviele Treffer, warum löst du das ganze nicht beim SQL-Query: SELECT DISTINCT Ort FROM <Tabelle> WHERE plz LIKE '$zip'
9. November 200024 j SCH .... jetzt fällt es mir ein ... gestern in der S-Bahn hab ich nochmal das SQL Befehls Kapitel gelesen ... UND DAS STAND DA AUCH DRIN !!! ... hätt ich das nicht nur überflogen dann hätte ich mir 2 Stunden Kopfschmerzen erspart .... danke nochmal .. Hey Devil ... wenn du mal Fragen hast (ROFL,LOL) ich bin immer für dich da .
9. November 200024 j Womit sich der alte IT-ler Spruch mal wieder bewahrheitet: "Lesen hilft Lösen" ------------------ http://home.netuse.de/ae/
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.