Bir PHP Tablo görüntüleyen bir HTML tablosu PHP işlevi çağırmak

5 Cevap php

Ben php kodunda bir tablo oluşturur ve daha sonra bu temelde gibi, HTML kodunda tablo önizleme bir PHP sayfası var:

  <?php
     $display="<table><tr><td></td></tr></table>"
  ?>

  <HTML>
  <?php echo $display; ?>
  </HTML>

Bir düğme tıklandığında zaman Şimdi, ben, yine php komut dosyası İÇ bir işlevi çağırmak gerekir. Şey bu tuşa gibi görüntülemeden önce php ile oluşturulan olduğunu:

  <?php
  function phpFunction(){ echo "Hello World"; }

  $display="<table><tr><td><input type='button' onClick='phpFunction();'</td></tr></table>"

   ?>

  <HTML>
  <?php echo $display; ?>
  </HTML>

Ama bu işe görünmüyor ... ben burada ne yapmak istediğinizi yapmak mümkün mü?

Eğer öyleyse, ne benim kodunda yanlış?

Teşekkürler

5 Cevap

Ive, daha önce bu baktım ve PHP sunucu tarafında hiçbir şey işlenir çünkü sayfa (fonksiyon vb çağırarak) yüklendikten sonra idam edilebilir

Iyi alternatif bildiğim kadarıyla sayfa yüklendikten sonra istemci tarafında tarayıcısı tarafından yürütüldüğünde / işlenmiş böylece çalıştırılabilir javascript gibi bu yapabileceğiniz bazı javascript yazmak isterim.

Im burada başkası bunu yapmak için nasıl bir kod örneği vermek mümkün olacaktır emin im çok emin değilim çünkü

PHP bir sunucu tarafı betik. Bu da sunucu üzerinde yürütülür ve elde edilen HTML istemciye gönderilir demektir. Muhtemelen bu istemci bilgisayarda çalışır gibi, ne istediğinizi yapmak için javascript gibi bir şey kullanmak istiyorum.

Istemci tarafı ve sunucu tarafı kod karıştırma ediyoruz. Sen sayfada bir düğme için istemci tarafı onclick işleyicisi gibi bir sunucu tabanlı PHP fonksiyon çağrısı koyamazsınız.

Sen could geri sunucuya bir çağrı ile sayfanızın içeriğini yeniler onclick işleyicisi uygulamak. Eğer tüm sayfayı yeniden yükleyin, ya da (bu cevap kapsamı dışındadır uygulama olan) seçici yerinde tabloyu değiştirmek için bir AJAX çağrısını kullanabilirsiniz ya.

Aklıma üç yaklaşımlar:

  • Sunucu tarafı yaklaşım: Eğer düğmesine tıkladığınızda, sayfanın tamamını yeni devlet o zaman her sayfasını yeniler sunucu tarafı komut dosyası, geçirilen ile yenilenir. Çok da zor değil, çünkü tüm yenilemeler büyük bir kullanıcı deneyimi ve düzgün isteği halinde mevcut durumunu kodlamak ve / veya oturum verileri önbelleğe sunucu tarafı tutmak için hantal olabilir değil.
  • Melez yaklaşım: Birkaç PHP komut veya sorgu dizesi seçeneklerine göre farklı işlevler sağlayan bir PHP komut dosyası oluşturun. Seçeneklerden biri PHP komut belirli bir yöntemi uygulamak için bir sinyal olabilir. Sonra PHP komut dosyası için bir AJAX isteği kullanarak düğmesine tıklayın işlemek, ve cevap geldiğinde buna sayfasını güncellemek için sayfanın JavaScript embed
  • Istemci tarafı yaklaşım: sayfa HTTP üzerinden bir web hizmeti veya doğrudan dosya erişimi tarafından maruz olmayan sunucu tarafı kaynak olarak sadece mevcut verilere ihtiyacı olmadıkça, sadece PHP komut unutmak ve istemci üzerinde JavaScript kullanarak bunu tüm tarafı.

PHP PHP kodu yorumlanır ve nihai HTML sayfasından önce tam idam müşteriye gönderilen anlamına gelir ki, bir sunucu tarafı betik. Ne istediğiniz istemcinin tarayıcısında çalıştırıldığında istemci tarafı komut dosyası vardır. Bu gibi pek, Javascript ile yapılabilir:

<html>

<script language="javascript">
function myfunc(element) {
  el = document.getElementById(element);
  el.innerHTML = el.innerHTML + "hello world!";
}
</script>

<body>
<table><tr><td id="thetd"><input type="button" onclick="javascript:myfunc('thetd')"></td></tr></table>
</body>

</html>
<!-- probably not the best way to do it, but it should work. You get the idea. -->