Redmen: Select mit mehrfachen Werten weiterleiten

Hallo
Ich hab ein Problem wo ich nicht weiter komme.
Ich möchte ein Funktion erstellen wo ich der Name auswähle (z.b. Meier) und dann sollte es mit die aktuelle Strasse, PLZ und Ort in dieselbe Seite laden. Die Angaben der Daten lese ich aus einer txt-Datei aus (also keine Datenbank).

<?php  
  
echo "<form> <select„onchange=\"window.location=this.form($value)\“ > ";  
echo "<option selected value=\"0\">Bitte W&auml;hlen...</option>";  
echo "<option value=\"$meier\">Meier</option>";  
echo "<option value=\"$bauer\">Bauer</option>";  
//usw...  
echo "</select>";  
echo "</form>";  
  
$handle = fopen ("$value.txt", r);  
  
?>  

Die txt-Datei könnte so aussehen:

<?php  
  
$nname=“Meier“;  
$vname=“Hans“;  
$strasse=“Rudolfstrasse 33;  
$plz=67589;  
$ort=“Stadtname“;  
  
$meier=$nname . $vname . $strasse . $plz . $ort;  
  
?>  

Ich Hirne schon länger darüber nach, finde auch kein Script das ich ev. für meine Wünsche abändern könnte.  Hier gibt es sicherlich ein paar schlaue Köpfe die das im Handumdrehen gelöst haben oder mir ein paar Links mit passenden Beispielen zeigen.

Danke im Vorraus :-)

  1. Die txt-Datei könnte so aussehen:

    Das ist keine Textdatei sondern ein PHP-Script, ein fehlerhaftes noch dazu.

    Ich Hirne schon länger darüber nach, finde auch kein Script das ich ev. für meine Wünsche abändern könnte.

    Warum schreibst du nicht einfach eines? Das dürfte sich in der Kategorie 25 Zeilen bewegen.

    Hier gibt es sicherlich ein paar schlaue Köpfe die das im Handumdrehen gelöst haben [...]

    Warum strengst du nicht erstmal selbst ein Hirn an und schreibst die nötigen Schritte auf, wie du an die Daten kommst?

    Textdatei mit Rohdaten, z.B. im CSV-Format:

    id,name,strasse,ort
    1,max,musterstrasse,musterhausen
    2,herbert,andere strasse,anderer ort

    Das File wird gelesen und in ein Array überführt.

    Das Formular/Dropdown wird aus diesem Array erzeugt.

    Beim Abschicken des Formulars wird ein Script aufgerufen welches diesen Datenbestand nach demselben Schema erzeugt und den zugehörigen Datensatz ausliest und darfstellt.

    Jetzt bist du an der Reihe dieses logische Konzept ordentlich auszuarbeiten. Wenn das geschehen ist, kannst du dich an die Überführung in PHP setzen.

    fgetcsv() und array_search() sollten dir ein paar Ansätze für die weitere Recherche liefern.

    Wenn du bei einem der schritte Hilfe brauchst, stelle bitte eine konkrete Nachfrage.

    1. Hallo, danke zuerst für Deine Hilfe.
      Ich kenne mich mit der Programmierung kaum aus und wollte eigentlich nur für unsere Sportmannschaft eine kleine Webseite erstellen, dass der Sportler mit dieser Funktion selber bei den Orten wo ein Rennen stattfindet eintragen kann.
      Leider fehlt mir die Zeit auch mich in der Programmierspache zu befassen. Deswegen wollte ich auch auf diesen Weg Fragen ob jemand so was mal erstellt hat und mir eine Kopie vom Script geben könnte.

      Die txt-Datei könnte so aussehen:

      Das ist keine Textdatei sondern ein PHP-Script, ein fehlerhaftes noch dazu.

      Ich Hirne schon länger darüber nach, finde auch kein Script das ich ev. für meine Wünsche abändern könnte.

      Warum schreibst du nicht einfach eines? Das dürfte sich in der Kategorie 25 Zeilen bewegen.

      Hier gibt es sicherlich ein paar schlaue Köpfe die das im Handumdrehen gelöst haben [...]

      Warum strengst du nicht erstmal selbst ein Hirn an und schreibst die nötigen Schritte auf, wie du an die Daten kommst?

      Textdatei mit Rohdaten, z.B. im CSV-Format:

      id,name,strasse,ort
      1,max,musterstrasse,musterhausen
      2,herbert,andere strasse,anderer ort

      Das File wird gelesen und in ein Array überführt.

      Das Formular/Dropdown wird aus diesem Array erzeugt.

      Beim Abschicken des Formulars wird ein Script aufgerufen welches diesen Datenbestand nach demselben Schema erzeugt und den zugehörigen Datensatz ausliest und darfstellt.

      Jetzt bist du an der Reihe dieses logische Konzept ordentlich auszuarbeiten. Wenn das geschehen ist, kannst du dich an die Überführung in PHP setzen.

      fgetcsv() und array_search() sollten dir ein paar Ansätze für die weitere Recherche liefern.

      Wenn du bei einem der schritte Hilfe brauchst, stelle bitte eine konkrete Nachfrage.

      1. @@Redmen:

        nuqneH

        Leider fehlt mir die Zeit auch mich in der Programmierspache zu befassen. Deswegen wollte ich auch auf diesen Weg Fragen ob jemand so was mal erstellt hat und mir eine Kopie vom Script geben könnte.

        Ich empfehle, im GETHTML-Forum nachzufragen.

        Qapla'

        PS: Bitte kein TOFU!

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)
      2. Deswegen wollte ich auch auf diesen Weg Fragen ob jemand so was mal erstellt hat und mir eine Kopie vom Script geben könnte.

        Ich hätte genügend Freizeit um entsprechende Scripte zu verfassen, allerdings ringe ich bei der Entscheidung was ich mit meiner Freizeit anstellen soll immer zwischen "Programmiere ein Script für jemand anderen.", "Erkläre jemandem wie er selbst etwas machen kann." und "Spiel' einfach ein bisschen Team Fortress 2.".

        Ohne einen entsprechenden Anreiz fällt meine Entscheidung idR. auf Team Fortress 2, da ich von den anderen beiden Lösungen nicht profitiere.

        Wie schon erwähnt: hier wird dir gerne geholfen, auch ich helfe dir gerne kostenlos in der Form, dass ich dir erkläre was wie zu machen ist. Was ich aber nicht mache, ist eine fertige Lösung kostenlos zu programmieren. Da hab' ich mit meiner Zeit einfach besseres anzufangen.

  2. hi,

    Ich Hirne schon länger darüber nach,

    ich auch: Über die Problemstellung, mehr noch über die Problembeschreibung.

    finde auch kein Script das ich ev. für meine Wünsche abändern könnte.  Hier gibt es sicherlich ein paar schlaue Köpfe die das im Handumdrehen gelöst haben oder mir ein paar Links mit passenden Beispielen zeigen.

    Welche was machen sollen?
    Hotti

    --
    Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
  3. Hi there,

    zu all dem von meinen geschätzten Vorpostern schon gesagten:

    $meier=$nname . $vname . $strasse . $plz . $ort;

    So geht's auf keinen Fall, weil Du (naja, Du vielleicht, aber Dein Programm mit Sicherheit nicht) die einzelnen Felder nie mehr auseinander bekommst. Da gibts eigentlich (auf die Schnelle) nur zwei Möglichkeiten:

    Entweder Du setzt zwischen jedes einzelne Feld ein Trennzeichen, daß in den Felder selbst nicht vorkommen kann (alternativ: Du setzt die Feldinhalte selbst unter Anführungszeichen und verwendest Komma oder Strichpunkt als Trennzeichen->csv-Format) oder Du verwendest fixe und Feld- und Satzlängen.
    Das heisst, Du setzt Deinen Satz zB wie folgt zusammen:

      
      
    $meier= substr($nname.str_repeat(' ',40),0,40).substr($vname.str_repeat(' ',40),0,40).substr($strasse.str_repeat(' ',40),0,40). etc...  
      
    
    

    dann enthalten die ersten 40 Zeichen der $meier genannten Variable immer $nname, die nächsten 40 Zeichen $vname, die nächsten 40 Zeichen $strasse usw...

    Danke im Vorraus :-)

    Gerrne...

    1. dann enthalten die ersten 40 Zeichen der $meier genannten Variable immer $nname, die nächsten 40 Zeichen $vname, die nächsten 40 Zeichen $strasse usw...

      Und was tust du mit Werten, die diese 40 Zeichen überschreiten?

      "Apu Nahasapeemapetilon" dürfte einer der kürzeren indischen Namen sein :D

      Und wenn dann noch "Captain Fantastic Faster Than Superman Spiderman Batman Wolverine Hulk And The Flash Combined" kommt, ist die Schererei komplett.

      1. Hi there,

        Und was tust du mit Werten, die diese 40 Zeichen überschreiten?

        Das war ja nur ein Beispiel. Beim Datenbankdesign muss man auch Rücksicht auf die Größe der zu erwartenden Feldinhalte nehmen. Soll er halt 100 Zeichen nehmen.

        Und wenn dann noch "Captain Fantastic Faster Than Superman Spiderman Batman Wolverine Hulk And The Flash Combined" kommt, ist die Schererei komplett.

        Nein. Wer so einen infantilen Schei** verarbeitet ist selber schuld...

      2. Hi,

        dann enthalten die ersten 40 Zeichen der $meier genannten Variable immer $nname, die nächsten 40 Zeichen $vname, die nächsten 40 Zeichen $strasse usw...

        Und was tust du mit Werten, die diese 40 Zeichen überschreiten?

        Sowas gibt's doch gar nicht. Oder etwa doch?

        Straßennamen gibt es in Deutschland mit bis zu 46 Zeichen.

        Ortsnamen: Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch in Wales bringt es auf 59 Zeichen ...

        Vorname: ich sage nur Verteidigungsminister ...

        usw.

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        O o ostern ...
        Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
  4. Hi,

    $strasse=“Rudolfstrasse 33“;

    Ich rate davon ab, Straße und Hausnummer in einem Feld zu erfassen - das ist automatisiert nur mit Riesen-Aufwand zu trennen. Zusammenzufügen ist's ja kein Problem.
    Man kann nicht einfach an der ersten Ziffer auftrennen - es gibt so schöne Straßennamen wie E3 (Mannheim), Straße der 53 (Leipzig), Straße 59 (Berlin), Straße des 17. Juni (Berlin, Dresden, Leipzig, Jena, ...) usw.
    Und es gibt auch Hausnummern, die mit Buchstaben beginnen (...str. A3).

    Um das sauber auftrennen zu können, ist eine Datenbank mit allen Straßennamen nötig ...

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
  5. @@Redmen:

    nuqneH

    echo "<form> <select„onchange="window.location=this.form($value)\“ > ";

    Was haben die Zeichen „ und “ da zu suchen?

    Wenn du einfache Anführungszeichen ' verwendest, kannst du dir das Escapen der doppelten sparen.

    echo "<option selected value="0">Bitte W&auml;hlen...</option>";

    &auml; ist unsinnig; verwende ein richtiges ä. [ESCAPES]

    Das Verb wählen wird klein geschrieben.

    $nname=“Meier“;

    Syntaxfehler; s.o.

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)