하는 동안 다음과 같은 출력이 : "ID = 12345"PHP와 혼동 루프
12345: 1
1234: 7
1234: 7
1234: 6
1234: 4
그것은 끝나는 URL에서 생산됩니다. ID가 데이터베이스에 있거나 ID가 없을 때 추가 될 때 id가 1 씩 증가합니다. 1234에 의해 생성 된 최종 결과는 맞지만, 1234의 이전 결과가 생성되지 않게하려면 어떻게해야합니까?
while ($row = $database->row()->fetch()) {
$id = $row["id"];
$count = $row["count"];
if ($id != $_GET["id"]) {
$insert = new MySQLConnect();
$insert->query("INSERT INTO links VALUES (:id, 1);");
$insert->run(array("id" => $_GET["id"]);
} elseif ($id == $_GET["id"]) {
$update = new MySQLConnect();
$update->query("UPDATE links SET count=count + 1 WHERE id=:id;");
$update->run(array("id" => $_GET["id"]);
}
}
편집 :
function display_data()
{
$display = new MySQLConnect();
$display->query("SELECT * FROM links;");
$display->run();
while ($row = $display->row()->fetch()) {
$id = $row["id"];
$count = $row["count"];
$GLOBALS["output"] .= $id . ": " . $count . "<br/>";
}
}
그냥 보조 노트로 전송 된 ID를 업데이트 "하면서"무엇 내가'? id = '', '')에 갔다면 일어날 것입니다. DROP TABLE 링크; -'? –
while 루프가하는 일을 알고 있습니까? foreach와 while의 차이점은 무엇입니까? – pregmatch
[Bobby Tables주의] (http://xkcd.com/327/) – gtgaxiola