2016-01-26 94 views
-2

這是我的模式更新複選框的mysqli

<div class="modal fade bs-example-modal-lg" id="exampleModal<?php echo $row['t_id'] ?>" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel<?php echo $row['t_id'] ?>"> 
    <div class="modal-dialog modal-lg" role="document"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
    <h4 class="modal-title" id="exampleModalLabel">Termin Ansicht <font color="red">ID</font>: <b><?php echo $row['t_id'] ?></b> <font color="red">Call Agent</font>: <b><?php echo $row['username'] ?></b> <font color="red">Call Datum</font>: <b><?php echo date("d.m.y" , strtotime($row['datum'])) ?></b></h4> 
    </div> 
    <div class="modal-body"> 
      <form> 
           <div class="row"> 

            <div class="col-sm-3"> 
             <input type="text" id="username" value="<?php echo $row['username']; ?>" class="form-control"> 
            </div> 
           <div class="col-sm-3"> 
             <input type="text" id="t_id" value="<?php echo $row['t_id']; ?>" class="form-control"> 
           </div> 


           </div> 
           <br> 

          <div class="row"> 
           <label class="col-sm-1 control-label">Anrede</label> 
          <div class="col-sm-2"> 
            <input type="text" id="anrede<?php echo $row['t_id']; ?>" value="<?php echo $row['anrede']; ?>" class="form-control"> 
          </div> 
            <label class="col-sm-1 control-label">Vorname</label> 
            <div class="col-sm-3"> 
             <input type="text" id="vorname<?php echo $row['t_id']; ?>" value="<?php echo $row['vorname']; ?>" class="form-control" onselectstart="return false" onpaste="return false;" onCopy="return false" onCut="return false" onDrag="return false" onDrop="return false"> 
            </div> 
           <label class="col-sm-1 control-label">Nachname</label> 
           <div class="col-sm-3"> 
             <input type="text" id="nachname<?php echo $row['t_id']; ?>" value="<?php echo $row['nachname']; ?>" class="form-control" onselectstart="return false" onpaste="return false;" onCopy="return false" onCut="return false" onDrag="return false" onDrop="return false"> 
           </div> 
           </div> 
           <br> 
          <div class="row"> 
            <label class="col-sm-1 control-label">Strasse</label> 
            <div class="col-sm-3"> 
             <input type="text" id="strasse<?php echo $row['t_id']; ?>" value="<?php echo $row['strasse']; ?>" class="form-control"> 

            </div> 
           <label class="col-sm-1 control-label">PLZ</label> 
           <div class="col-sm-3"> 
             <input type="text" id="plz<?php echo $row['t_id']; ?>" value="<?php echo $row['plz']; ?>" class="form-control"> 
           </div> 

           <label class="col-sm-1 control-label">Ort</label> 
           <div class="col-sm-2"> 
             <input type="text" id="ort<?php echo $row['t_id']; ?>" value="<?php echo $row['ort']; ?>" class="form-control"> 
           </div> 
           </div> 
           <br> 
          <div class="row"> 
            <label class="col-sm-1 control-label">Krankenkasse</label> 
            <div class="col-sm-3"> 
             <input type="text" id="krankenkasse<?php echo $row['t_id']; ?>" value="<?php echo $row['krankenkasse']; ?>" class="form-control"> 

            </div> 
           <label class="col-sm-1 control-label">Seit</label> 
           <div class="col-sm-3"> 
             <input type="text" id="seit<?php echo $row['t_id']; ?>" value="<?php echo $row['seit']; ?>" class="form-control"> 
           </div> 

           <label class="col-sm-1 control-label">Personen</label> 
           <div class="col-sm-1"> 
             <input type="text" id="personen<?php echo $row['t_id']; ?>" value="<?php echo $row['personen']; ?>" class="form-control"> 
           </div> 
           </div> 
           <br> 


           <div class="row"> 
            <label class="col-sm-1 control-label">Telefon</label> 
            <div class="col-sm-2"> 
             <input type="text" id="telefon<?php echo $row['t_id']; ?>" value="<?php echo $row['telefon']; ?>" class="form-control"> 

            </div> 
           <label class="col-sm-1 control-label">Termin</label> 
           <div class="col-sm-2"> 
             <input type="date" id="termin<?php echo $row['t_id']; ?>" value="<?php echo $row['termin']; ?>" class="form-control"> 
           </div> 

           <label class="col-sm-1 control-label">Uhrzeit</label> 
           <div class="col-sm-2"> 
             <input type="text" id="time<?php echo $row['t_id']; ?>" value="<?php echo date("H:i", strtotime($row['time'])) ?>" class="form-control"> 
           </div> 

           <div class="col-sm-2"> 
            <select class="form-control" id="vermittler<?php echo $row['t_id']; ?>" value='<?php echo $row['vermittler'];?>'> 
             <option ><?php echo $row['vermittler'];?></option> 
            <?php 
            $result1 = ("SELECT * FROM users where type='berater'") or mysql_error(); 
           $ilaz=mysql_query($result1); 
           while($rowa = mysql_fetch_array($ilaz)){ 

           ?> 
           <option id="berater" value = "<?php echo $rowa['username']; ?>" > 
            <?php echo $rowa['username']; ?> 
           </option> 
           <?php 
           } 
           ?> 


             </select> 
             </div> 
           </div> 

          <br> 


           <div class="row"> 
             <label for="ccomment" class="control-label col-lg-2">Bemerkung</label> 
             <div class="col-lg-4"> 
              <textarea class="form-control " id="coment<?php echo $row['t_id']; ?>" required><?php echo $row['coment']; ?></textarea> 
             </div> 

             <label for="ccomment" class="control-label col-lg-1">Feedback</label> 
             <div class="col-lg-4"> 
              <textarea class="form-control " id="feedback<?php echo $row['t_id']; ?>" ></textarea> 
             </div> 
            </div> 
            <br> 

            <div class="row"> 
            <?php 

            $bfeedback = ("select id, user, feedback_b, datum from b_feedback where id='". (int)$_GET['t_id']."' order by datum desc") or mysql_error(); 

            $bresult = mysql_query($bfeedback); 
            if($bfeedback === FALSE) { 
              die(mysql_error()); // TODO: better error handling 
             } 

            while($beraterfeedback = mysql_fetch_array($bresult)){ 
             ?> 
             <label for="b_feedback" class="control-label col-lg-2"><?php #echo $beraterfeedback['user'] ?><?php #echo $beraterfeedback['datum'] ?></label> 

             <td><font color="red"><?php echo $beraterfeedback['user'] ?></font></td>&nbsp;&nbsp;&nbsp;&nbsp; 
             <td><?php echo $beraterfeedback['datum'] ?></td>&nbsp;&nbsp;&nbsp;&nbsp; 
             <td><?php echo $beraterfeedback['feedback_b'] ?></td><br>&nbsp;&nbsp;&nbsp;&nbsp;<hr> 

             <?php 

            } 

            ?> 


            </div> 

           <br>  
         <div class="row"> 

           <div class="col-sm-20"> 
            <?php 
             $iAstatus = explode(",",$row['Astatus']); 
             foreach($arrAstatus as $aAstatus) 
             { 
              if(in_array($aAstatus,$iAstatus)) 
               echo "<label class='col-sm-1 control-label'><input type='checkbox' class='s' value='".$aAstatus."' checked> .$aAstatus. </label>";      
              else 
               echo "<label class='col-sm-1 control-label'><input type='checkbox' class='s' value='".$aAstatus."'> .$aAstatus.</label>" ;     

             } 
            ?> 
           </div> 

            <div class="col-sm-1"> 
              <input type="text" id="positiv<?php echo $row['t_id']; ?>" value="<?php echo $row['abschluss']; ?>" class="form-control"> 
            </div> 

          </div> 
          <br> 
            <div class="row"> 
            <label class="col-sm-5 control-label"><p style="color:red"><font size="2">Personen Angaben (Namen, Geburtsdatum)?</font></p></label> 
            <div class="col-sm-5"> 
              <textarea class="form-control " id="personen_angaben<?php echo $row['t_id']; ?>" ><?php echo $row['personen_angaben']; ?></textarea> 
            </div> 
           </div> 


           <br> 
          <div class="row"> 
            <label class="col-sm-5 control-label"><p style="color:red"><font size="2">Sind Sie (bzw. jemand in Ihrem Haushalt) momentan in &auml;rztliche Behandlung/Therapie(Physio) oder steht Ihnen eine Behandlung bevor?</font></p></label> 
            <div class="col-sm-5"> 
             <input class="form-control" type="text" id="fr_1<?php echo $row['t_id']; ?>" value="<?php echo $row['fr_1']; ?>" > 
            </div> 
           </div> 
           <br> 
           <div class="row"> 
            <label class="col-sm-5 control-label"><p style="color:red"><font size="2">Zusatzfrage wenn JA- Dies k&ouml;nnte Auswirkungen auf Ihren Wechsel haben. Deshalb, welcher Art ist denn diese Behandlung?</font></p></label> 
            <div class="col-sm-5"> 
             <input class="form-control" type="text" id="fr_2<?php echo $row['t_id']; ?>" value="<?php echo $row['fr_2']; ?>"> 
            </div> 
           </div> 
           <br> 
          <div class="row"> 
            <label class="col-sm-5 control-label"><p style="color:red"><font size="2">Nehmen Sie (bzw. jemand in Ihrem Haushalt) regelm&auml;ssig Medikamente?</font></p></label> 
            <div class="col-sm-5"> 
             <input class="form-control" type="text" id="z_fr_2<?php echo $row['t_id']; ?>" value="<?php echo $row['z_fr_2']; ?>"> 
            </div> 
           </div> 

          <div class="row"> 
            <label class="col-sm-5 control-label"><font size="2"><p style="color:red">Zusatzfrage wenn JA- Was sind das f&uuml;r Medikamente oder f&uuml;r was m&uuml;ssen Sie diese nehmen?</p></font></label> 
            <div class="col-sm-5"> 
             <input class="form-control" id="fr_3<?php echo $row['t_id']; ?>" value="<?php echo $row['fr_3']; ?>" > 
            </div> 
           </div> 

          <div class="row"> 
            <label class="col-sm-5 control-label"><font size="2"><p style="color:red">Hatten Sie (bzw. jemand an Ihrem Haushalt) in den letzten 10 Jahren eine Operation oder steht eine bevor?</p></font></label> 
            <div class="col-sm-5"> 
             <input class="form-control" type="text" id="z_fr_3<?php echo $row['t_id']; ?>" value="<?php echo $row['z_fr_3']; ?>"> 
            </div> 
           </div> 

          <div class="row"> 
            <label class="col-sm-5 control-label"><font size="2"><p style="color:red">Was f&uuml;r eine Operation wann /ist das?</p></font></label> 
            <div class="col-sm-5"> 
             <input class="form-control" type="text" id="fr_4<?php echo $row['t_id']; ?>" value="<?php echo $row['fr_4']; ?>" > 
            </div> 
           </div> 

          <div class="row"> 
            <label class="col-sm-5 control-label"><font size="2"><p style="color:red">Wenn die Operation in der Vergangenheit war: beziehen Sie nun eine IV-Rente oder ist dies folgenlos geheilt?</p></font></label> 
            <div class="col-sm-5"> 
             <input class="form-control" type="text" id="z_fr_4<?php echo $row['t_id']; ?>" value="<?php echo $row['z_fr_4']; ?>" > 
            </div> 
           </div> 

          <div class="row"> 
            <label class="col-sm-5 control-label"><font size="2"><p style="color:red">Falls 1 Person krank ist - K&ouml;nnen Sie sich vorstellen, einen Teil Ihrer Familie zu versichern?</p></font></label> 
            <div class="col-sm-5"> 
             <input class="form-control" type="text" id="fr_5<?php echo $row['t_id']; ?>" value="<?php echo $row['fr_5']; ?>" > 
            </div> 
           </div> 

          <div class="row"> 
            <label class="col-sm-5 control-label"><font size="2">Status</font></label> 
            <div class="col-sm-5"> 
             <input class="form-control" type="text" id="fr_6<?php echo $row['t_id']; ?>" value="<?php echo $row['status']; ?>"> 
            </div> 
           </div> 





          <div class="row"> 
          <label class="col-sm-4 control-label"> </label> 
          <div class="col-sm-3"> 

          </div> 

          </div> 
          </form> 
    </div> 
    <div class="modal-footer"> 
    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
    <button type="button" onclick="updatedata('<?php echo $row['t_id'] ?>')" data-dismiss="modal" class="btn btn-primary">Update</button> 

    </div> 
</div> 

與這個jQuery AJAX

function updatedata(str){ 

var t_id = str; 
var anrede = $('#anrede'+str).val(); 
var vorname = $('#vorname'+str).val(); 
var nachname = $('#nachname'+str).val(); 
var strasse = $('#strasse'+str).val(); 
var plz = $('#plz'+str).val(); 
var ort = $('#ort'+str).val(); 
var krankenkasse = $('#krankenkasse'+str).val(); 
var seit = $('#seit'+str).val(); 
var personen = $('#personen'+str).val(); 
var telefon = $('#telefon'+str).val(); 
var termin = $('#termin'+str).val(); 
var time = $('#time'+str).val(); 
var vermittler = $('#vermittler'+str).val(); 
var coment = $('#coment'+str).val(); 
var feedback = $('#feedback'+str).val(); 
var s = new Array(); 
    $("input:checked").each(function() { 
     s.push($(this).val()); 
    }); 


var positiv = $('#positiv'+str).val(); 
var personen_angaben = $('#personen_angaben'+str).val(); 
var fr_1 = $('#fr_1'+str).val(); 
var fr_2 = $('#fr_2'+str).val(); 
var z_fr_2 = $('#z_fr_2'+str).val(); 
var fr_3 = $('#fr_3'+str).val(); 
var z_fr_3 = $('#z_fr_3'+str).val(); 
var fr_4 = $('#fr_4'+str).val(); 
var z_fr_4 = $('#z_fr_4'+str).val(); 
var fr_5 = $('#fr_5'+str).val(); 
var fr_6 = $('#fr_6'+str).val(); 

var datas="anrede="+anrede+"&vorname="+vorname+"&nachname="+nachname+"&strasse="+strasse+"&plz="+plz+"&ort="+ort+"&krankenkasse="+krankenkasse+"&seit="+seit+"&personen="+personen+"&telefon="+telefon+"&termin="+termin+"&time="+time+"&vermittler="+vermittler+"&coment="+coment+"&feedback="+feedback+"&s[]="+s+"&positiv="+positiv+"&personen_angaben="+personen_angaben+"&fr_1="+fr_1+"&fr_2="+fr_2+"&z_fr_2="+z_fr_2+"&fr_3="+fr_3+"&z_fr_3="+z_fr_3+"&fr_4="+fr_4+"&z_fr_4="+z_fr_4+"&fr_5="+fr_5+"&fr_6="+fr_6;                   
    alert(datas); 
$.ajax({ 
    type: "POST", 
    url: "updatedata.php?t_id="+t_id, 
    data: datas, 
    cache: false 
}).done(function(data) { 
    $('#info').html(data); 
    viewdata(); 
}); 
} 

這php的數組現在,當

$arrAstatus = array("Wollte k T","Kunde Ni err.","St .Gef","N.Zuhaus","Offen","Negativ","MJV","Behan.","Abgesagt","Positiv"); 

我submi t它更新所有未經檢查的複選框。

我該怎麼辦,它僅更新選中的複選框,並刷新後給我檢查過

+0

你是說你想知道如何用Ajax做到這一點? – LeonardChallis

+1

你的問題是什麼? –

+0

何時聲明'$ aAstatus'和'$ iAstatus',它們的值是什麼? – CodeGodie

回答

0

問題:

  1. 你創建你的複選框的IDS作爲數組語法s[]。我相信你會把它與name屬性混淆。將此更改爲:id='s[]'至此:name='s[]'
  2. <font>不再支持。另外,該元素的打開和關閉標記不正確。
  3. 你的ajax在哪裏?你的form在哪裏?你的提交按鈕在哪裏?如果沒有這些信息,你會讓我們假設這是一個表單,並且在提交表單時觸發你的jquery函數。如果是這種情況,那麼你需要你的action屬性與AJAX將用來發送請求的URL。

摘要:

請更多的描述,展現你的HTML,你的PHP,jQuery的正確使我們能夠更好地幫助你。爲了解決你的問題,你需要發送一個AJAX請求。找出如何做到這一點,在你的代碼中實現它,然後我們可以從那裏繼續。

+0

我使用引導模態 按鈕和AJAX $就({ \t類型: 「POST」, \t URL: 「updatedata.php T_ID =?」 + T_ID, \t數據:DATAS, \t緩存:假 \t})來完成(功能(數據){ \t $( '#信息')HTML(數據); \t \t可視數據(); 。}); –

+0

在這一點上,你需要做什麼以及能夠幫助我們理解的是,如果你發佈了所有的PHP,HTML和jQuery代碼。沒有這個即時消息。更新你原來的問題。 – CodeGodie

+0

好吧我編輯它 –

0

看來你急需這方面的幫助。我看到的主要問題是您缺少form元素中的name屬性。您需要使用name屬性,以便在jQuery中收集數據時可以使用.serialize()函數。我將以某種方式重做您的代碼,我認爲您的代碼正常工作。我將刪除所有的引導程序和非相關的代碼,以便您可以看到我在做什麼:

我假設您的數據來自您的數據庫。我將使用名爲$data模仿該結果集的數組:

//your database data 
$data = array(
    array(
     "t_id" => 1, 
     "username" => "john", 
     "Astatus" => "Wollte k T,Kunde Ni err.,N.Zuhaus" 
    ) 
); 

//your comparison data 
$arrAstatus = array("Wollte k T", "Kunde Ni err.", "St .Gef", "N.Zuhaus", "Offen", "Negativ", "MJV", "Behan.", "Abgesagt", "Positiv"); 

接下來,我假設你通過每個結果作爲$row迭代和創建forms。我刪除了你的類/ ID,因爲我們不需要它們來達到這個目的。相反,我把需要name屬性在你輸入:

<?php foreach ($data as $row) { ?> 
     <form> 
      <input type="text" name="username" value="<?php echo $row['username']; ?>" class="form-control"> 
      <input type="text" name="t_id" value="<?php echo $row['t_id']; ?>" class="form-control"> 

      <?php 

      $iAstatus = explode(",", $row['Astatus']); 
      foreach ($arrAstatus as $aAstatus) { 
       if (in_array($aAstatus, $iAstatus)) 
        echo "<label><input type='checkbox' name='s[]' value='$aAstatus' checked>$aAstatus</label><br>"; 
       else 
        echo "<label><input type='checkbox' name='s[]' value='$aAstatus'>$aAstatus</label><br>"; 
      } 
      ?> 
      <input type="submit"> 
     </form> 
<?php } ?> 

最後,當表單使用.submit()功能提交您的jQuery應該被觸發。一旦提交,使用.serialize()通過AJAX與name屬性獲得所有投入,並將其發送:

$('form').submit(function() { 

    var datas = $(this).serialize(); 

    $.ajax({ 
     type: "POST", 
     url: "submit.php", 
     data: datas, 
     cache: false 
    }).done(function (data) { 
     console.log(data); 
    }); 
    return false; 
}); 

希望這有助於。

+0

我測試了它dosnt工作 –