Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Array springt um eins zurück

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Array springt um eins zurück

    Hallo erstmal zusammen, bin noch relativ neu bei dr Programmierung von php.

    Ich habe ein Jobportal script auf meine Bedürfnisse angepaßt und bin grade in den letzten Zügen und komme nicht weiter.

    Die Formulardaten sowie die Anweisung und auslesung der neuen Felder in die MySql Datenbank hat ohne Probleme geklappt.

    Ich habe bei dem Script ein Auswahl Feld in einem Array eingefügt was die Postleitzahlenbereiche darstellen soll.

    Das Absenden der Registrierung und Erstellung eines Inserats klappt ohne Probleme, der Inhalt des Arrays wird auch richtig gespeichert.

    Rufe ich jetzt jedoch meine Benutzerdaten oder das Inserat auf um es zu bearbeiten, öffnet sich das Formular und der Inhalt des Arrays des Postleitzahlenbereich springt um eins nach oben ( in Datenbank ist aber alles richtig gespeichert.

    Hier ein paar Auszüge aus einigen Dateien

    conn.php (Hier die Funktion geladen)

    [MAN]
    function target_company($t) {

    $tarray = array("Ausland", "0xxxx", "1xxxx", "2xxxx", "3xxxx", "4xxxx", "5xxxx", "6xxxx", "7xxxx", "8xxxx", "9xxxx");

    $select = "<select name=\"target_company\">\n\t";

    while(list($k,$v) = each($tarray))
    {
    if($t >= '0')
    {
    if($t == $k)
    {
    $select .= "<option value=\"$v\" selected>$v</option>\n\t";
    }
    else
    {
    $select .= "<option value=\"$v\">$v</option>\n\t";
    }
    }
    else
    {
    $select .= "<option value=\"$v\">$v</option>\n\t";
    }
    }

    $select .= "</select>\n\n";

    return $select;

    }


    [/MAN]

    EditJob ( Inserat bearbeiten )

    [MAN]

    <tr>
    <td align=right>PLZ Bereich:</td>
    <td><?=target_company($a1[target_company], "target_company");?></td>

    </tr>
    [/MAN]

    Hoffe Ihr könnt mir helfen


    Gruss

    Marcel

  • #2
    ups da habe ich wohl schon den ersten Fehler gemacht... Wie kann ich denn so ein php fenster öffnen, wo ich den code rein posten kann??
    hatte auf das symbol php geklickt.

    Kommentar


    • #3
      [php] anstatt [man]-Tags.

      Kommentar


      • #4
        nicht [ man ] und [ /man ]
        sondern [ php ] und [ /php ]
        [PHP]if ($var != 0) {
        $var = 0;
        }[/PHP]

        Kommentar


        • #5
          Wenn Du das richtige Icon erwischt hast (und das Board nicht spinnt - wenn ), dann sollte vor dem Code [PHP] und danach [/PHP] stehen. Du kannst die beiden Tags aber auch einfach tippen.
          edit:
          für PHP Code:
          -> [PHP][/PHP]

          Für Links zum Manual:
          -> [MAN][/MAN]
          Zum Beispiel: [MAN]fgets[/MAN] -> <a href="http://de.php.net/fgets">fgets</a>



          Versuch es mal so
          PHP-Code:
          <?php
          function target_company($t) {
            
          // "Ausland" hat den Index 0
            
          $tarray = array("Ausland""0xxxx""1xxxx""2xxxx""3xxxx""4xxxx""5xxxx""6xxxx""7xxxx""8xxxx""9xxxx");
            
            
          $select '<pre>Debug: t=' $t '</pre>';
            
          $select .= '<select name="target_company">';

            
          $t = (int)$t;
            while(list(
          $k,$v) = each($tarray))
            {
              
          $selected $t===$k 'selected="selected" ' '';
              
          $select .= "\n\t<option $selected>$v</option>";
            }
            
          $select .= "\n</select>";

            return 
          $select;
          }
          (ungetestet)

          Kommentar


          • #6
            hab es mal eingebaut

            jetzt zeigt er mir oberhalb der plz suche debug = r (richtiges plz gebiet bsp 5xxxx)
            und in dem auswahl fällt zeigt er wieder 4xxxx
            an

            hmhmhmhm

            bin leider noch nicht ganz so fit in php

            steh irgendwie auf dem schlauch

            gruss

            marcel

            Kommentar


            • #7
              Oh,$t ist also Ausland oder 0xxxx usw und nicht der Index 0,1,2,3,4?

              Dann muss aus meinem Beispiel das $t = (int)$t; raus. Und der Vergleich muss
              PHP-Code:
              $selected $t===$v 'selected="selected" ' ''
              lauten.

              Kommentar


              • #8
                super vielen dank klappt jetzt

                habe aber schon das nächste und hoffentlich letzte problem, mach aber dafür ein neues thema auf


                danke nochmal

                Kommentar

                Lädt...
                X