Ankündigung

Einklappen
Keine Ankündigung bisher.

Daten aus while-schleife in datenbank eintragen

Einklappen

Neue Werbung 2019

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

  • Daten aus while-schleife in datenbank eintragen

    habe ein formular wo ich die felder aus der datenbabk hole und frage ich mich wie ich die daten aus der while schleife in die datenbank schreiben kann


    hier mal das formular:

    PHP-Code:
    echo"
    <form name='inputform' action='"
    .FUSION_SELF."' method='post'>
    <table width='99%'>
    <tr><td align='center'>"
    .$data['feld1']."</td></tr>    
    <tr><td align='center'>"
    .$data['feld2']."</td></tr>
    <tr><td align='center'>"
    .$data['feld3']."</td></tr>
    </table><table width='99%'><tr>
    <td width='33%' valign='top'><b>Wir suchen:</b></td><td width='66%'>"
    ;
    $job=explode(',',$data['jobs']); $y=count($job)-1;
    for(
    $x=0;$x<=$y;$x++){
    echo
    "<input type='radio' name='job' value='".$job[$x]."'> $job[$x]<br>";}
    echo
    "</td></tr></table>";
    $res = dbquery("SELECT * FROM ".DB_PREFIX."pfmz_radiopackage_inquiry_fields WHERE field_show=1 ORDER BY field_pos");
    if(
    dbrows($res)>0){
    echo
    "<table width='99%'>";
    while(
    $field=dbarray($res)){

    echo
    "<tr><td width='33%' valign='top'><b>".$field['field_title'].":</b></td><td width='66%'>";
    if(
    $field['field_type']=='input'){
        echo 
    "<input type='text' name='field' maxlength='".$field['field_len']."' class='textbox' style='width:".$field['field_size']."px'><br>";
        echo 
    "<input type='text' name='id'  value='".$field['field_id']."'  style='display:none'><br>";
    }
    if(
    $field['field_type']=='textarea'){
        echo 
    "<textarea type='text' onkeyup=\"check('".$field['field_id']."',".$field['field_len']." , ".$field['field_len'].");\" id='".$field['field_id']."'  name='field' rows='".$field['field_rows']."' cols='".$field['field_cols']."' class='textbox' ></textarea><br>";
        echo 
    "<input type='text' name='id' value='".$field['field_id']."'  style='display:none'><br>";
    }
    echo
    "</tr>";
    }
    echo
    "</table><table width='99%'><tr>
    <td width='33%'><img id='captcha' src='"
    .INCLUDES."securimage/securimage_show.php' alt='' align='left' /></td>
    <td width='66%'><input type='text' name='captcha_code' class='textbox' size='30' value='Code eingeben'/>
    </td></tr></table>
    <div align='left' style='position:relative'>Aus Sicherheitsgründen wird Ihre <a class='info' href='#'><b>IP-Adrese</b><span> <b>"
    .$_SERVER['REMOTE_ADDR']."</b></span></a> mit übermittelt!</div>        
    <br>
    <div align='left'><input name='send' class='button' type='submit' value='Bewerbung senden'></div>
    <br></form>"
    ; 

  • #2
    Hallo und willkommen im Forum,

    ich fürchte du musst dein Problem schon etwas genauer beschreiben. Und dann würde ich dir empfehlen deinen Code richtig einzurücken, so wird er für alle leichter lesbar.

    Themenmoderation:
    [→] Verschoben von PHP-Fortgeschrittene

    Kommentar


    • #3
      also ich habe mir ein formular gemacht mit dem ich "formular felder" selber definiere das funzt auch ..... jetzt möchte ich diese in einem formular angezeigt bekomme => das klappt auch !!

      nur bekomm ich es nicht hin das die werte die ich in dem formular dann eintrafe auch in de DAtenbak geschrieben werden, es wird immer nur das letzt feld eingetragen was in formular steht !!!!

      Kommentar


      • #4
        Ich sehe in deinem geposteten Code nichts das darauf hinweist das überhaupt was in der DB gespeichert werden soll.

        Kommentar


        • #5
          Wenn ich das recht überblicke, fehlt da eine } in 29/respektive 30.
          Willst du mehrere values hintereinander in die db schreiben, kannst du die Datensätze mit nem Komma verbinden.

          Code:
          Insert into deintable
          (a,b,c)
          Values
          (1,2,3),
          (4,5,6),
          (7,8,9)
          Gruß

          Kommentar


          • #6
            da ich die felder in einer while schleife habe werden diese ja aus der db gelesen und angezeigt also weis ich leider auch nicht wie viele felder es mal werden dem entsprechend kann ich es auch nicht mit einem normalem insert machen .... ich habe das eher an for oder foreach gedacht

            Kommentar


            • #7
              Trotz der tatsache das du mich ignoriert hast, habe ich meine Glaskugel aus dem Keller geholt und mal reingeschaut. Diese hat mir dann verraten, das folgender Code eventuell die Lösung deines Problems darstellen könnte.
              PHP-Code:
              if(count($_POST) >= 1) {
                  
              $table = 'tabellenname';
                  
              $spalten = '';
                  
              $values  = '';
                  foreach (
              $_POST as $key => $value) {
                      
              swicth($key) {
                          case 
              'formularfeld1':
                              
              $spalten .= 'dbfeld1, ';
                          break;
                      }
                      
              $values  .= $value . ', ';
                  }
                  if(
              strlen($spalten) > 1) {
                      
              // Entfernt überflüßiges Komma am ende von $spalten und $values
                      
              $spalten = substr($spalten, 0, strlen($spalten) - 2);
                      
              $values = substr($values, 0, strlen($values) - 2);

                      
              // Erstellt SQL-Statement
                      
              $sql = 'INSERT INTO ' . $table . ' (' . $spalten . ') VALUES (' . $values . ')';

                      
              // DB Abfrage
                      
              dbquery($sql);
                  }
              } 

              Kommentar


              • #8
                hab es so gelöst danke fpr die denk hilfe

                PHP-Code:
                foreach ($_POST['field'] as $field_id => $field_value) {
                    
                $q_update[] = "INSERT INTO ".DB_PREFIX."pfmz_radiopackage_inquiry_entry (inquiry_id, field_id, field_entry) VALUES ('".$id."', '".$field_id."', '".$field_value."')";
                    }
                    foreach (
                $q_update as $qq) { $temp_result = dbquery($qq); } 

                Kommentar

                Lädt...
                X