まず、この質問が繰り返されるように見える場合や、私がデューデリジェンスを行っていないと感じた場合は、お詫び申し上げます。私は通常、以前にインターネットを精査していますが、私は尋ねる必要があるかのように感じます。検索機能の横に1ページのURLを使用する
基本的に、私は地元の都市のいくつかのアトラクションをリストアップした1ページの動的ウェブサイトを構築しています。その部分は大丈夫です - 私はMySQLを使用してデータベースを作成しました。私は1つのデータベースと、それぞれが異なるID名を持つ4つの異なるテーブルを持っています。
私の問題は、ユーザーが入力したもの、つまりアトラクションの名前に限定されており、実際に動的URLにリンクするのに苦労しています(最初のテーブルのループクエリを除いて)
以下のコードは、これを行う理由を説明しています。私は外部のリンクなどであるかどうかに関わらず、誰かが私に答えにつながる可能性があることを神様に願っています。私は最も感謝し、永遠に負債になります。彼らは結果がONLYバック私が代わりに?category&fdID=".$results['foodID'];
セットを持っているという事実による食品N飲み物のページへリンクしていたら
<?php
error_reporting(0);
?>
<?php
mysqli_connect("localhost", "root", "", "everydayleeds") or die(mysqli_error());
mysqli_select_db($con, "everydayleeds") or die(mysqli_error()); /* everydayleeds is the name of database we've created */
$query = $_GET['query']; // 'query' is the variable name given to the $_GET action, which will take whatever is typed into the search box, indicating this via the URL paramater'
$min_length = 3; // You can set minimum length of the query if you want
if(strlen($query) >= $min_length){ // If query length is more or equal minimum length then
$query = htmlspecialchars($query); // This changes characters used in HTML to their equivalents, for example: < to >
$query = mysqli_real_escape_string($con, $query); // Makes sure nobody uses SQL injection
$raw_results = mysqli_query ($con, "SELECT foodndrink.Name AS fdName, nightlife.Name AS nightName, culture.Name AS cultName, placestostay.Name AS pName, foodndrink.fdID AS foodID, nightlife.nightID AS nID, cultID AS cID, placesID AS pID FROM foodndrink, nightlife, culture, placestostay
WHERE (foodndrink.Name LIKE '%".$query."%') OR (nightlife.Name LIKE '%".$query."%') OR (culture.Name LIKE '%".$query."%') OR (placestostay.Name LIKE '%".$query."%') ") OR die (mysqli_error($con));
if(mysqli_num_rows($raw_results) > 0){ // If one or more rows are returned do following
while($results = mysqli_fetch_assoc($raw_results)){ // $results = mysql_fetch_assoc($raw_results) puts data from database into array, while it's valid it does the loop
echo "Yes, we have a".$_GET['query']."<a href=attractions.php?category&fdID=".$results['foodID'];
break;
}
}
else{ // if there is no matching rows do following
echo "<p>Nope, Leeds probably doesn't have a </p>".$_GET['query'];
}
}
else{ // if query length is less than minimum
echo "Minimum length is ".$min_length;
}
?>
ので、リンクとは、ユーザーがクリックすることができます。
私はルーピング、ジョイントを試みましたが、私は円で回っているようです。私は私の問題は、私は4つの異なるIDを持つ4つの異なるテーブルを持っているという事実であると信じています。
アドバイスをいただければ幸いです。
ありがとうございます。
のようなものを作ることができますか?コードプレビューはすべてのコードを捕まえていないようですが、代わりにHTMLプレビューを使用しました。 – Bilaal