私はこれに新しいです、そして、私はおそらく間違った方法でこの全体をやっていることを知っていますが、私はそれを理解しようと一日中してきました。私は、小さな構文コードをオンラインで練習するのではなく、自分の実際のプロジェクトをプログラミングすることに大きな違いがあることを認識しています。ですから、私はさまざまな変数/スコープをマージ/パスする方法についての経験が不足しています。より大きな絵の中にすべてを収める方法を理解することは、私にとっては全く別の話です。前もって感謝します。関数の結果をsqlに渡す
私がやろうとしているのは、「selectyacht」という関数を(viewhip.phpの)呼び出されている場所とは異なる場所に出力することです。出力データ(viewship.php内)は返された特定のフィールド(すべてではない)のみである必要があり、その結果はhtmlページ(テーブルではない)全体に散らばります。これに加えて、私はこの変数を持っています: "$ sqlstatement"(sqlconn.php)は、毎回接続関数を繰り返す必要がないので、関数の外に持ってきようとしています。私はグローバル変数を試してはいけませんでした。そしてそれは感謝して私にエラーを与えました。これは、より良い方法を見つけなければならないことを意味します。
基本的に私の闘争は、私は2つの要因に基づいて、この全体の事を構造化する方法を理解することにあります。sqlconn.phpにおける第2の条件文が異なるためとして、少なくとも、多くの場合、可能な限り 」と入力することができるようにするには
- selectyacht "機能が将来登場する です。
- sqlconn.php内の接続インスタンスが、さまざまな機能に何度も使用されるため、この関数の外部に存在することを許可します。
- viewhip.phpで呼び出されている場所とは異なる場所にデータを戻します。これは、呼び出しがボタンの押下であり、表示される結果ではないためです。
これはおそらく非常に単純ですが、それでも私はそれを避けています。 P.P.このコードの一部は、自分の必要と合併しようとしているインターネット上の他のリソースからのコピー/ペーストです。
sqlconn.php
<?php
$servername = "XXXXXXXX";
$username = "XXXXXXXX";
$password = "XXXXXXXX";
$dbname = "XXXXXXXX";
// Instantiate the connection object
$dbconn = new mysqli($servername, $username, $password, $dbname);
// Check if the connection works or show an error
if ($dbconn->connect_error) {
die("Connection failed: " . $dbconn->connect_error);
}
// Create a query based on the ship's name
function selectyacht($shipname) {
global $sqlstatement;
$sqlstatement = "SELECT * FROM ships WHERE Name=" . "'" . $shipname . "'";
}
// Put the sql statement inside the connection.
// Additional sql statements will be added in the future somehow from other functions
$query = $dbconn->query($sqlstatement);
// Return the data from the ship to be repeated as less as possible for each future function
if ($query->field_count > 0) {
while($data = $query->fetch_assoc()) {
return $data;
}
}
else {
echo "No data found";
}
// Close the connection
$dbconn->close();
?>
viewship.php
<html>
<body>
<?php include 'sqlconn.php';?>
<!-- ship being selected from different buttons -->
<?php selectyacht("Pelorus");?>
<br>
<!-- This is the output result -->
<?php echo $data["Designer"];?>
<?php echo $data["Length"];?>
<?php echo $data["Beam"];?>
<?php echo $data["Height"];?>
</body>
</html>
感謝をselectYacht機能と更新ページを使用する他のページにAJAXを経由して船名を表すフィールド値を送信する - あなたは、元のページをリロードせずにそれをやって好みます! – Alex