Listen Problem

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

  • Listen Problem

    Hallo,

    ich habe ein kleines verständniss Problem, bzw. weiß ich nicht wie ich mein Problem angehen soll, vielleicht könntet ihr mir helfen.

    Ich möchte dem user ermöglichen seine eigenen urls zu adden (so viele wie er will) und diese urls sollen dann in einer datenbank gespeichert werden und danach auf einer Seite ausgegeben.

    Doch das Problem ist nun wie greife ich auf die "optionen" zu? Bei normalen text Feldern durch "name='bla'", und hier?

    Das zweite Problem ist nun wie speichere ich diese Links am besten in der Datenbank ab, damit ich sie dann einzeln ausgeben kann, in einer einzigen Spalte? Wie zertrenne ich dann diese?

    Der Schnipsel
    PHP-Code:
    <html>
    <
    head>
    <
    script type="text/javascript">
    <!--
    function 
    EintragHinzufuegen()
    {
        
    NeuerEintrag = new Option(document.links.add.valuedocument.links.add.valuefalsetrue);
        
    document.links.links_liste.options[document.links.links_liste.options.length] = NeuerEintrag;
        
    document.links.links_liste.value "";
    }
    //-->
    </script>
    </
    head>
    <
    body>

    Deine Links:
    <
    form method="post" name="links">
        <
    select multiple name="links_liste" size="6">
            <
    option>[url]http://bla.de[/url]</option>
            
    <option>[url]http://bla2.de[/url]</option>
    </select>

    <
    br><br>
    Link hinzufügen:<br>
    <
    input name="add" type="text">
    <
    input onClick="EintragHinzufuegen();" type="button" value="Hinzufügen"><br><br>
    </
    form>

    </
    body>
    </
    html
    gruss

  • #2
    Re: Listen Problem

    Original geschrieben von bombzone
    Doch das Problem ist nun wie greife ich auf die "optionen" zu? Bei normalen text Feldern durch "name='bla'", und hier?
    Was hast du an http://de.selfhtml.org/javascript/objekte/options.htm nicht verstanden?
    Das zweite Problem ist nun wie speichere ich diese Links am besten in der Datenbank ab, damit ich sie dann einzeln ausgeben kann, in einer einzigen Spalte?
    Informiere dich über das Stichwort Normalisierung.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Re: Re: Listen Problem

      Original geschrieben von wahsaga
      Was hast du an http://de.selfhtml.org/javascript/objekte/options.htm nicht verstanden?

      Informiere dich über das Stichwort Normalisierung.
      Ich habs ja teilweise verstanden, nur verstehe ich nicht wie ich die liste weiterverarbeiten soll? Ich habs auch verstanden das bei einer Liste ein Array entsteht aber muss ich nicht bei "<select name=xxx[]..." diese [] machen um php zu sagen das es ein array ist und danach mit foreach es zu zerteilen?

      Normalisierungen kenne ich... es gibt drei Normalformen blabla... heißt das etwa ich soll jede url in eine neue spalte ablegen? Wird die Datanbank nicht daurch einfach zu groß? Oder wie kann ich die ganzen urls in einer spalte ablegen und dann bei der ausgabe zerteilen?

      Kommentar


      • #4
        Re: Re: Re: Listen Problem

        Und wieso fragst du jetzt eigentlich, wenn du doch im Grunde alles Wesentliche schon zu wissen scheinst ...?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Ich weiß nicht alles, deswegen frage ich ja auch... ich brauche keine "allgemeine" hilfe sondern konkrete antworten und nicht schau doch mal hier und da...

          Kommentar


          • #6
            Original geschrieben von bombzone
            ich brauche keine "allgemeine" hilfe sondern konkrete antworten
            Dann stelle bitte auch konkrete Fragen, und nicht so wischi-waschi.

            Wo liegt also konkret dein Problem?
            und nicht schau doch mal hier und da...
            Wenn es zu einem Problem schon wohlformulierte Antworten gibt, dann bekommst du einen Link. Wozu sollte man bereits niedergelegtes Wissen nochmal durchkauen?
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Okay hast ja recht...

              Frage Nr. 1
              Der Benutzer hat die Möglichkeit per druck auf das Feld "hinzufügen" sich ein neues Feld zu erzeugen, was er ausfüllen muss. Dem Namen des Feldes wird dahinter eine Zahl hinzugefügt (name1, name2). Um diese Felder an eine Datenbank zu übergeben muss ich diese Namen wissen, da die Namen aber Dynamisch erstellt werden, weiß ich nicht wie ich auf diese Namen zugreifen soll. Ich weiß ja nicht wie viele Felder der Anwender erstellt hat. Würde ich wissen, dass er zb 10 Felder gemacht hat, dann könnte ich die Felder name1 bis name10 an die Datenbank übergeben. Wie löse ich dies nun=?

              Kommentar


              • #8
                Original geschrieben von bombzone
                Wie löse ich dies nun=?
                Mit der Schreibweise mit den eckigen Klammern - die dir doch bereits bekannt war/ist ...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  dann habe ich aber das problem, dass ich im javascript dies nicht mit den [] Klammern schreiben kann und das hinzufügen der felder nicht funktioniert

                  Kommentar


                  • #10
                    Original geschrieben von bombzone
                    dann habe ich aber das problem, dass ich im javascript dies nicht mit den [] Klammern schreiben kann
                    Natürlich kannst du - du musst es nur "richtig" machen.

                    Ich würde dir ja jetzt hierzu einen Link geben - aber dazu müsste ich erst wissen, ob sich deine Allergie dagegen inzwischen gelegt hat *bg*
                    und das hinzufügen der felder nicht funktioniert
                    Dann hast du dabei wohl etwas falsch gemacht.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      allergie gelegt, könntest du mir bitte den link geben , ich habe versucht einfach dem namen in js ein [] dranzuhängen, was anscheinend die falsche art ist

                      Kommentar


                      • #12
                        http://de.selfhtml.org/javascript/ob...tm#allgemeines, Schema 4 - da kannst du einfach den Feldnamen inklusive eckiger Klammern als String (oder aus einer Variablen) angeben, um auf ein Element dieses Namens zuzugreifen.

                        Wenn du dann allerdings wieder mehrere Elemente exakt diesen Namens hast, müsstest du dahinter noch mal eckige Klammern und einen Index angeben, um auf eines dieser Elemente speziell zuzugreifen.

                        Da ist es idR. einfacher, wenn du nicht name="feld[]" vergibst, sondern name="feld[0]", name="feld[1]" etc.
                        Und unter den Indices, die du dort in den Klammern verwendest, bekommst du die Feldinhalte nach dem Abschicken des Formulars auch in PHP zur Verfügung gestellt.
                        (Wenn an der Struktur der Übergabe noch was unklar sein sollte, dann nach dem Abschicken eines solchen Formulars in PHP einfach mal den Inhalt von $_POST mittels print_r() oder var_dump() ausgeben lassen - das sollte den nötigen Durchblick verschaffen.)
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          Puhh war das mal wieder eine Aktion, mit einer genaueren Frage hätte man sich viel Zeit sparen können. Danke dir für deine Geduld.

                          Ich hätte dann noch eine kleine Frage an dich, wie mach ich es mit den Namen bei so einem script zb. ohne liste. Mit einem Array ist die Sache jetzt klar , doch hier habe ich ja kein Array...


                          PHP-Code:
                          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
                          <html>
                          <head>
                          <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
                          <meta http-equiv="Content-Script-Type" content="text/javascript">
                          <title>Beispiel</title>
                          <script type="text/javascript">
                          <!--
                          var z=1;

                          function machFeld(frm){
                              z++;
                              d=document.createElement('div');
                              frm.insertBefore(d,document.getElementById('drueber'));
                              i=document.createElement('input');
                              i.name=i.id='name'+z;
                              d.appendChild(i);
                          }
                          //-->
                          </script>
                          </head>
                          <body>

                          <form name="form" action="<?php echo $PHP_SELF?>" method="post">
                              <div><input type="button" onclick="machFeld(this.form);" value="Feld hinzufuegen"></div>
                              
                              <div><input name="name1"></div>
                              
                              <input type="submit" id="drueber">
                          </form>

                          <?php
                          echo $name1;
                          // wie viele hat denn der user angelegt???
                          ?>

                          </body>
                          </html>
                          Zuletzt geändert von bombzone; 11.01.2007, 23:44.

                          Kommentar


                          • #14
                            i.name=i.id='name'+z;

                            ist das zweite = ein Tippfehler?!?
                            "I don't want to belong to any club that would accept me as a member."

                            Groucho Marx

                            Kommentar


                            • #15
                              Original geschrieben von bombzone
                              wie mach ich es mit den Namen bei so einem script zb. ohne liste. Mit einem Array ist die Sache jetzt klar , doch hier habe ich ja kein Array...
                              Dann sorge dafür, dass du ein Array bekommst.

                              i.name='name['+z+']';

                              Beachte aber, dass du diesen Wert dann nicht mehr gleichzeitig der ID des Feldes zuweist - die eckigen Klammern sind in einem ID-Wert nämlich nicht erlaubt.
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X