PHP damla aşağı soruyu kodlama

3 Cevap

Birisi nasıl bir damla aşağı 0 varsayılan değeri eşit değilse bir açıklama varsa nerede yapmak mümkün ise (benim durumumda) otomatik formu göndermek için bana gösterebilir misin?

session_start();
$current = isset($_SESSION['ClientNamefour']) ? $_SESSION['ClientNamefour'] : 0;
while ($row = mysql_fetch_array($result)) { 
    $id = $row["Client_Code"]; 
    $thing = $row["Client_Full_Name"];
    $value = "$id, $thing";

    $sel=($id==$current)?'SELECTED':'';

    $options4.="<OPTION $sel VALUE=\"$value\">$thing</option>";
} 
?>
<FORM name="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">

<SELECT NAME="ClientNamefour" OnChange="this.form.submit()"
)">
  <OPTION VALUE=0>Client
   <?php echo $options4?> 
</SELECT>
</FORM>

3 Cevap

Onchange olay ve bazı JavaScript kullanabilirsiniz. Genel olarak oluşturulan HTML bu gibi görünmelidir:

<form id="form" name="form" method="POST" action="http://example/script.php">
  <select id="select" name="select" onChange="document.getElementById('form').submit();">
    <option value="0" selected="selected">0</option>
    <option value="1">1</option>
    <option value="2">2</option>
  </select>
</form>

Eğer seçilmemiş seçeneği seçtiğinizde Onchange olay sadece ateş ediliyor, bu nedenle ek değil kontroller gereklidir.

Çözümünüz ile karşılaştırıldığında:

  • id sizin etiketi eksik
  • Eğer kapanış </option> etiketleri gerekir
  • muhtemelen <select> in onchange öğesi JavaScript değiştirmek gerekir ediyorum

Benim anlayış, PHP gibi bir sunucu tarafı dili kullanarak bir "Gönder" butonuna basarak birini taklit edemezler. Kullanıcı (0'dan başka bir şey için) onu değiştirir eğer formu göndermek için javascript kullanabilirsiniz

Yalnızca SQL sorgusu 0 olmayan bir sonuç döndürürse formu görüntülemek istediğiniz gibi Ancak görünüyor?

Bu durumda ben böyle bir şey yapmak istiyorum ...

  1. SQL sorgu çalıştırın

  2. Böyle bir şey Kod:

    if($option != 0){ //Function to do whatever happens after the form is sent (add to a database etc) } else{ //display the form }

Bu gerçekten tür bir javascript soru ... gibi forma id niteliği eklemek <form id="myfrm"...>, ardından </form> koymak sonra:

<?php
if(((int) $_SESSION["your_session_variable"]) != 0){
?>

<SCRIPT language="javascript">
  document.getElmenetById("myfrm").submit();
</SCRIPT>

<?ph } ?>