Newbiefrage zu PHP - Bestimmt ganz einfach

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Newbiefrage zu PHP - Bestimmt ganz einfach

    Hallo Forum.
    Habe mich hier neu registriert, weil ich in der Suchfunktion leider nichts gefunden habe, was mir weiterhilft.
    Bestimmt könnt ihr mir aber weiterhelfen.

    Es geht hier um einen Dealer Locator.
    Ich möchte, dass ein Kunde die ersten beiden Stellen seiner Postleitzahl eingibt und den nächsten Shop in seiner Nähe angezeigt bekommt.
    Also eingabe 07 oder 42, und es wird die Variable ausgespuckt, die dazu passt.
    Sprich
    Motorad Müller: 07345 Sachsen
    Mofabetrieb Schneckenschiss, 07922 Gmünd.

    So soll es laufen.
    Ich sehe schon die ersten, die sich mit der flachen Hand an die Stirn schlagen und sagen, dass es mit mysql doch viel einfacher geht.
    Das Problem ist, dass die Datenbank noch gar nicht existiert, sprich, es müssen eh noch alle Händler eintragen werden. Ob ich jetzt extra ne Tabelle anlege oder die Namen in die postleitzahl.php schreibe, dürfte doch am Ende keinen Unterschied machen, oder?
    Ausserdem kann ich noch nicht mal PHP, wie soll ich da jetzt noch schnell ne Datenbank einbinden? *g*

    Mir wurde schon weitergeholfen, bis jetzt bin ich bei diesem Script angekommen:
    PHP-Code:
    <? 
      $aa = "Hallo 1";  
      $bb = "Hallo 2";  
      $cc = "Hallo 3";  
      $dd = "Hallo 4";  
      $ee = "Hallo 5";  
      $ff = "Hallo 6";  
      $gg = "Hallo 7";  
      $hh = "Hallo 8";  
      $ii = "Hallo 9";  
      $jj = "Hallo 10"; 

      if (isset($_POST["eingabe"])) 
      { 
         $eingabe = $_POST["eingabe"]; 
          switch ($eingabe) 
         { 
            case 1:  echo $aa; break; 
            case 2:  echo $bb; break; 
            case 3:  echo $cc; break; 
            case 4:  echo $dd; break; 
            case 5:  echo $ee; break; 
            case 6:  echo $ff; break; 
            case 7:  echo $gg; break; 
            case 8:  echo $hh; break; 
            case 9:  echo $ii; break; 
            case 10: echo $jj; break; 
            default: echo "Ungültige Eingabe"; 
         } 
      } 
      else 
      { 
        echo "<form action=\"" . $_SERVER["PHP_SELF"] . "\" method=\"POST\">\n"; 
        echo "<input type=\"text\" name=\"eingabe\" size=\"20\">\n"; 
        echo "<input type=\"submit\" value=\"Los geht's...\">\n"; 
        echo "</form>\n"; 
      } 
    ?>
    EDIT:
    php.tags by wotan

    Man gibt 1-10 ein und es wird die passende Variable angezeigt. So weit, so gut.
    Problem bei mir ist nur, dass es PHP anscheinend egal ist, ob 1 oder 01 eingegeben wird.
    Es muss aber unbedingt auch 01 oder 02 oder so eingegeben werden können, da die Postleitzahlen in den Neuen Bundesländern halt mit einer 0 anfangen.
    Freue mich sehr über jede Hilfe,
    cheers und vielen Dank im Forum,
    Florian.
    Zuletzt geändert von Wotan; 21.08.2003, 11:18.

  • #2
    PHP-Code:
    $var1 01;     // ich bin eine zahl
    $var2 "01";   // ich bin ein string

    echo $var1;
    echo 
    "<br>";
    echo 
    $var2
    "case 1: " ist also auch etwas anderes als "case '01':"

    bringt dich das weiter?
    Kissolino.com

    Kommentar


    • #3
      OffTopic:
      Das ist was mich an PHP so'n bißchen ankotzt!! Die automaische Typenzuweisung!!!
      wenn ich asu einer Datenbank ein Feld auslese welches in welchem 01 steht, wird es von PHP automatisch als String angesehen!!
      Hab mir angewähnt, obwohl es unnötig ist auch in PHP den variablen immer einen Typen zuzuweisen!
      Die Musikreview Seite

      hi, i'm a signature virus. copy me into your signature to help me spread.

      Kommentar


      • #4
        hi
        Ich weiß nicht genau, wo dein Problem liegt, aber ich denke du meinst die führenden Nullen bei deinem Beispiel der 07 und der 42.

        Code:
        <?
        $aa = "Hallo 01";
        $bb = "Hallo 02";
        $cc = "Hallo 03";
        $dd = "Hallo 04";
        $ee = "Hallo 05";
        $ff = "Hallo 06";
        $gg = "Hallo 07";
        $hh = "Hallo 08";
        $ii = "Hallo 09";
        $jj = "Hallo 10";
        $kk = "Hallo 42";
        //        ...
        
        if (isset($eingabe))
        {
        
        //Umwandeln in integer (Also werden auch führende Nullen gestrichen)
        $eingabe=(integer)$eingabe;
        
        switch ($eingabe)
        {
        case 1: echo $aa; break;
        case 2: echo $bb; break;
        case 3: echo $cc; break;
        case 4: echo $dd; break;
        case 5: echo $ee; break;
        case 6: echo $ff; break;
        case 7: echo $gg; break;
        case 8: echo $hh; break;
        case 9: echo $ii; break;
        case 10: echo $jj; break;
        case 42: echo $kk; break;
        default: echo "Ungültige Eingabe";
        }
        }
        else
        {
        echo "<form action=\"" . $_SERVER["PHP_SELF"] . "\" method=\"POST\">\n";
        echo "<input type=\"text\" name=\"eingabe\" size=\"20\">\n";
        echo "<input type=\"submit\" value=\"Los geht's...\">\n";
        echo "</form>\n";
        }
        ?>
        Wenn es nicht das Problem war, dann stelle deine Frage etwas anders
        MfG - MuH

        P.S.: Aber MySQL wäre wirklich einfacher *gg*

        Kommentar

        Lädt...
        X