-1

私はSQLデータベースを持っています(phpを介してデータベースにアクセスする必要がある場合、リモートアクセスが含まれていることは確かです)。それには間違いなく少なくとも 1 つのレコードが含まれており、各レコードを取得し、php ファイルにリンクする対応するボタンを作成する必要があります。そのレコードの最初のフィールドを引数、変数、パラメーター、または呼び出したものとして取得します。 whatever.php?variable=value。

何らかの理由で、このコードでは空白のページが表示されます。なんで?

<?php
    $connection=mysqli_connect("myhost","myusername","mypassword","mydatabase");
    $result=mysqli_query($connection, "SELECT * FROM myTable");
    $resultArray=array();
    while ($row = mysqli_fetch_array($result)) { 
        array_push($resultArray, $row['ID']);
    }
    $resultArrayImplode = implode(",", $resultArray);
?>
<script>
    var resultArray = <?php echo $resultArrayImplode; ?>
    arrayEntries = new Array();
    arrayEntries = resultArray.split(",");
    function CreateButtons(element, index, array) {
        var button = document.createElement("input");
        button.type = "button";
        button.value = element;
        button.onclick = function() {
            document.location.href = "ButtonClicked.php?id=" + element;
        }
        document.body.appendChild(button);
    }
    arrayEntries.forEach(CreateButtons);
</script>

ありがとう!

4

3 に答える 3

1

resultArray への JavaScript の割り当ては、引用符などのために構文的に正しくない可能性があります。幸いなことに、PHP の JSON 関数は適切な JavaScript を自動的に作成します。

JavaScript出力のためにこれを試してください:

var arrayEntries = <?php echo json_encode($resultArray)?>;
于 2013-08-20T17:13:08.563 に答える
0

Your problem is $resultArrayImplode; is a string, so

var resultArray = <?php echo $resultArrayImplode; ?>

renders as:

var resultArray = 1,2,3,4,5

Which is a syntax error.


What you can do is use JSON. JSON syntax is JavaScript syntax, so all you need to do is:

var arrayEntries = <?php echo json_encode($resultArray); ?>;

This should render as something like:

var arrayEntries = [1,2,3,4,5];

Which is perfect JavaScript syntax. Then the rest of your code should work.

于 2013-08-20T17:06:05.640 に答える
0

なぜこれにjavascriptを使用する必要があるのか​​ わかりません。次のことを行うだけではいけません:

<?PHP
foreach($resultArray as $result)
{
?>
 <a href="ButtonClicked.php?id="<?PHP echo $result; ?>><div class="button">Im a button click me</div></a>
<?PHP
}
?>

私の意見では、これに JavaScript を使用する必要はないと思います。

于 2013-08-20T17:19:02.913 に答える