2016-12-21 7 views
3

Это мой код PHP:
Мне нужно сделать, когда я проверяю или снимаю флажок, а затем сразу же обновляю значение в базе данных.
Мне нужно сделать это с помощью PHP или Javascript.
Отправить форму Onchange checkbox

<?php 
session_start(); 
include("head.php"); 
include("dbconnection.php"); // database connectie 

if (isset($_SESSION['login'])) 
{ 
    echo "<h1>Contacten</h1>"; 
    echo "<h3>Welkom ".$_SESSION['login']."</h3><br/>"; 
    include("menu.php"); 
    $sql = "SELECT * FROM `customers` ORDER BY Created DESC "; // selecteer uit tabel customers 
    echo "<table class='overzicht'> 
      <tr style='background-color: lightgray; min-height: 200px;' > 
       <td colspan='9'> 
        <a href='#' id='module-tab-1' class='toggle' data-prod-cus='1'> 
         <h1 style='margin-bottom: 0px;'>Alle Contacten</h1> 
         <div class='left-image hi'></div> 
        </a> 
       </td> 
      </tr> 
      <tr style='background-color: orange; display:none;' class='cus1' > 
      <th>Allemaal</th> 
      <th>Datum</th> 
      <th>Naam</th> 
      <th>Bedrijf</th> 
      <th>Email:</th> 
      <th>SMS</th> 
      <th>Storing</th> 
     </tr>"; 
foreach ($conn->query($sql) as $row) { 
    echo " 
     <tr class='cus1' style='display:none'>"; 
     if ($row['All'] == 1) 
      { 
       echo "<td> 
        <input type='checkbox' name='all' checked> 
       </td>"; 
      } 
      else 
      { 
       echo "<td> 
        <input type='checkbox' name='all'> 
       </td>"; 
      } 
      echo " 
      <td> 
       ".$row['Created']." 
      </td> 
      <td> 
       ".$row['Name']." 
      </td> 
      <td> 
       ".$row['Company']." 
      </td> 
      <td> 
       ".$row['Email']." 
      </td> 
      <td> 
       ".$row['SMS']." 
      </td> 
      <td> 
       ".$row['StoringsID']." 
      </td>"; 
    echo "</tr>"; 
} 
echo '</table>'; 
} 
else 
{ 
    header("location:index.php"); // ga terug naar het inlogscherm 
} 
include("Javascripts.php"); 

Может кто-нибудь сказать мне, как это сделать?
Я не знаю, как это сделать.
Я видел несколько примеров, но они не сработали для меня.
Я использовал Jquery, но я не знаю, как обновить базу данных.

+0

Вы должны использовать Ajax с PHP для выполнения задачи! –

ответ

1

Самый простой способ будет простой вид, который представляется на изменение: (Replace thispageurl.php с ваш адрес)

<form action="thispageurl.php" method="post"> 
    <input id="yourinputid" name="input"> 
</form> 

Теперь вы можете добавить следующие js, Он отправляет форму на изменения:

window.onload=function(){ 
console.log("load..."); changer=document.getElementById("yourinputid"); 
console.log(changer); 
changer.onchange=function(){ 
    console.log("changed"); 
    //you could also use komals code here (it does not reload the page) 
    changer.parentNode.submit(); 
}; 
}; 

Теперь вам нужно РНР (в thispageurl.php или save.php, если вы используете komals код), чтобы поймать это:

<?php 
if(isset($_POST["input"])){ 
$newvalue=$_POST["input"]; 
//update your mysql 
} 
?> 

Небольшое примечание: Вместо эха вы можете просто написать html в php. То, что легче читать:

<?php if($value==true){ ?> 
Value is true 
<?php } ?> 
+0

Не могли бы вы положить это в jsfiddle? Это не работает для меня! –

+0

вы не можете положить php в скрипку ... не работает, это не значит, что вам нужно напрямую спрятать –

+0

Нет, это потому, что это не сработало для меня! –

1

Вы можете сохранить данные с помощью Ajax запроса

$.ajax({ 
    url: 'save.php', 
    type: 'POST', 
    data: 'id='+23, 
    success: function(data, textStatus, jqXHR){ 
     $("#message-box").text("Successfully!"); 
    }, 
    error: function(jqXHR, textStatus, errorThrown){ 
     var errResponse = JSON.parse(jqXHR.responseText); 
    }, 
    }); 

Get Флажок событие

<input type='checkbox' name='all' class="mycheckbox" checked> 

if($('.mycheckbox').prop('checked')) { 
    // do something when checked 
} else { 
    // do something else when not 
} 
Смежные вопросы