私を正しい方向に導くための解決策や指針を見つけようとしていただければ幸いです。
シナリオ: PHP で mysql データベースを変更するために使用する HTML フォームがあります。ページがロードされたときに、このフォームにデータベースからプルするフィールドがあり、これは十分に簡単です
<input type="text" name="inputTag" value="<?php echo $people['Service Tag']; ?>" onblur="this.value=this.value.toUpperCase()" />
それは簡単です。別の php ページがあります... test.php は、ページからテキストを削り取り、変数に格納します。これに似たもので
<?php
$file_string = file_get_contents('http://blahblah.com/');
preg_match("/<title>Product Support for (.+)\| HP/i", $file_string, $matches);
$print = "$matches[1]";
?>
フォーム フィールドに test.php からの php 変数 $print を入力し、フィールドがクリックされた場合にのみそれを inputTag フィールドの値に入れることができるものが必要です
基本的に、ページが読み込まれるたびに file_get_contents を実行したくありません。これは遅く、常に必要とされるわけではないためです。しかし、フォームフィールドにデータベースオンロードに現在保存されているものを表示したいのですが、そのフォームフィールドをクリックして、スクリーンスクレイプphpファイルをトリガーし、そのphpファイルから$ print変数をフォームのテキストフィールドにエコーできるようにします。記入が終わったら、フォームを送信できます。
このようなことになると、私は一種の初心者ですが、いくつか回避できます...私が理解できる最善のことは、このようなものでAJAX呼び出しを行う必要があるということです。
<script type="text/javascript" src="\js\jquery-latest.js"></script>
<script type="text/javascript">
function populatetag() {
$.get("\portable\test.php");
return false;
}
</script>
通常どおり、データベースから現在の情報を取得する最初のページを読み込みます。次に、フィールドをクリアし、ajax 呼び出しからの変数を入力する onclick イベントを含む JavaScript を追加しますか?
これは可能ですか、それとも私は夢の国に住んでいますか? これが混乱している場合は申し訳ありませんが、必要に応じて明確にすることができます。
ありがとう!
UPDATE * フィールドの更新
<script type="text/javascript" src="\js\jquery-latest.js"></script>
<script type="text/javascript">
$('#updateBtn').click(function(e){
//to disable the click from going to next page
e.preventDefault();
$.ajax({
url: "test.php",
success: function(data){
//set the value of your input field with the data received
$('#model').val(data);
}
}
);
});
</script>
これは私が最終的にそれを機能させるために使用したものです