Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Arrays

Einklappen

Neue Werbung 2019

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

  • Problem mit Arrays

    Hallo zusammen,
    bin neu hier und habe gleich mal eine Frage.
    Ich habe ein Formular, in dem ich 2 Felder habe, die ich beide mit Arrays im Namen versehen habe, da sie beide mehrere unterschiedliche Werte für meine Datenbank liefern:
    PHP-Code:
    <input type=\"hidden\" name=\"Mitgl_id[]\"  value=\"$row->mitglid\">
    <select name=\"insert_punkte[]\" >
    ... 
    Nun weiß ich aber nicht, wie ich den Befehl formulieren muss um beide Arrays dann über einen INSERT Befehl in meine Datenbank einzutragen, ich denke mal irgendwas mit foreach aber in Arrays bin ich nicht wirklich fit.
    Ich dachte irgendwas mit:
    PHP-Code:
    foreach( $insert_punkte as $a AND $Mitgl_id as $b ) {
     if(
    mysql_query("INSERT INTO `punkte` (`Mitgl_id`,`Punkte`) VALUES ('$a','$b');"))
    {
    echo 
    "Eintrag für Mitgliedernummer $b erfolgreich<br>";
    }

    Aber wie gesagt denke mal das ist völlig falsch, hoffe ihr wisst wo ich hinwill

  • #2
    Deine Verwendung von foreach geht so nicht...
    Schau mal im Manual nach wies geht.
    PHP-Code:
    $count count($insert_punkte);
    $sql 'INSERT INTO `punkte` (`Mitgl_id`,`Punkte`) VALUES ';
    for (
    $i=0$i<$count$i++) {
        
    $sql .= '("' $Mitgl_id[$i]  . '", "' $insert_punkte[$i] . '"), ';
    }
    $sql rtrim($sql', ');
    if (
    mysql_query($sql)) {
        echo 
    "Eintrag für Mitgliedernummer $b erfolgreich<br>"
    } else {
        echo 
    mysql_error();

    Notfalls mal $sql ausgeben und sql string ansehen. Sollte aber so funktionieren

    Wenns nicht klappt poste mal plz wie die Arrays aussehen
    "My software never has bugs, it just develops random features."
    "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

    Kommentar


    • #3
      1. Willst du wirklich die Mitglied-ID als Array speichern? Ich kenne den Aufbau ja nicht, aber type="hidden" deutet ja eher darauf hin, dass genau ein Wert erwartet wird. Dann ist hier schon mal kein Array erforderlich. Ansonste wäre es eh schwer mit der Zuordnung.

      2. Deine Daten kommen im $_POST oder $_GET Array im Skript an, kommt auf die Definition deines Formulars an.

      In etwa sowas könnte funktionieren (Vorsicht: ist ungetestet um muss ggfls. angepasst werden)

      PHP-Code:
      <?php
      $mitgliedId 
      intval($_POST['mitgliedId']);

      $sql 'INSERT INTO `punkte` (``, ``) VALUES ';

      $count 0;
      foreach ( 
      $_POST['insert_punkte'] as $punkt ) {
          
      $sql.= ' ('$mitgliedId ', ' intval($punkt) .') ';
          
          if ( 
      $count count($_POST['insert_punkte') - ) {
              
      $sql.= ', ';
          }
          
          
      $count++;
      }

      echo 
      $sql;

      //mysql_query( $sql );

      edit: Oh, sorry @Paul.Schramenko, ich wollte hier keine Ideen klauen, hatte den Thread nur ne Weile offen. Doppel gemoppelt...
      [I]Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)[/I]
      [I]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/I]

      Kommentar


      • #4
        Danke euch schonmal für die schnellen Antworten.
        Also ich bin an einer Wettkampfverwaltung für einen Sportverein am Bauen. Das Script liest über einen SQL Befehl die Personen aus, die für den Wettkampf angemeldet sind. Bei jenen, wo bereits Punkte eingetragen sind gibt er die Zahl der Punkte aus, bei jenen, wo noch keine Punkte eingetragen sind gibt er ein select Feld aus, wo man die Punktzahl auswählen kann und ein hidden Feld, welches die Mitgliedsnummer mit vermitteln soll.
        Bei einem Klick auf den Button "restliche Punkte eintragen" soll nun über INSERT eben für jedes Mitglied, wo die Punktzahl fehlt ein Eintrag gemacht werden.

        Kommentar


        • #5
          http://www.php.de/php-einsteiger/464...verwenden.html
          [COLOR="#F5F5FF"]--[/COLOR]
          [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
          [COLOR="#F5F5FF"]
          --[/COLOR]

          Kommentar

          Lädt...
          X