私はここで本当に混乱しています。私は何をやっているのか分かりませんが、私はネットワークがプライベートかパブリックかに基づいて検索を制限しようとしています。mySQLとPHPの検索を制限する2回目の試み
このコードは機能しませんが、この作業を行う方法を理解しようとしています。プライベートネットワークをそのネットワーク内の人々にしか見せないようにするにはどうすればいいですか?
$query = mysql_query("SELECT * FROM requests ORDER BY dateposted DESC");
while ($row = mysql_fetch_assoc($query)){
$network = mysql_query("SELECT * FROM network");
while ($row2 = mysql_fetch_assoc($network)) {
$display = false;
$pos = strpos($row['network'], $search);
if ($row2['visible'] == "public" and $search == "Global") {
$display = true;
} else
if ($pos == true and
($row2['visible'] == "public" or $row2['username'] == $username)) {
$display = true;
} else
if ($row2['visible'] == "private") {
$display = false;
}
}
echo $display;
if ($display == true){
echo "<div id='".$row["id"]."' class='item'>";
echo '<div style="width: 75%;">';
echo "<h4 style='display: inline;'>".$row["user"]." requests:</h4><br/>";
echo "<h2 style='display: inline;'>".$row["title"]." </h2>";
echo '</div>';
echo '<h3 id="button" style="border-radius: 10px; padding: 4px; color: white; float: right; position: relative; top: -50px; border: 2px solid grey; background-color: #C0504D;">Apply</h2>';
echo "</div>";
}
}
ネットワークスキーマ:
network text utf8_general_ci No
username text utf8_general_ci No
visible text utf8_general_ci No
要求スキーマ:
id int(11) No auto_increment
user text utf8_general_ci No
title text utf8_general_ci No
description text utf8_general_ci No
picture text utf8_general_ci No
price text utf8_general_ci No
premium datetime No
type text utf8_general_ci No
network text utf8_general_ci No
dateposted datetime No
私はstrpos($ row ['network']、$ search)で評価していることを確認できません。 )(もしこのケースでは適用されませんが)strposが実際には0の位置にある文字列の '真の'結果である場合、返された0は 'false'と評価されるため、正確な比較(===または!==)を使用しません。 – fred2