-5

リンクをクリックすると、データベース内のすべての映画が開きます。その文字で始まる映画だけが欲しいのですが、どこを間違えたのかわかりません。これが私のコードです:

$azRange = range('A', 'Z');
foreach ($azRange as $letter){
    echo '<a href="index.php?naslov='.$letter.'&task=view">'.$letter.'</a> | ';
}

if(isset($_GET["task"]) && $_GET["task"] == "view"){
    $naslov = $_GET['naslov'];

$query  = "SELECT filmovi.naslov, filmovi.godina, filmovi.trajanje, filmovi.slika
           FROM filmovi
           ORDER BY naslov";

$result = mysql_query($query) 
          or die ('SQL Greska: '.mysql_error());

if($result){
    while($filmovi = mysql_fetch_array($result)){   
        echo '<center><b>';
        echo '<td><img src="img/'.$filmovi["slika"].'" border="0" width="100" /></td>';
        echo '</br>';   
        echo '<td>'.$filmovi["naslov"].'</td>';
        echo '<td> ('.$filmovi["godina"].')</td>';
        echo '<br>';
        echo '<td>Trajanje: '.$filmovi["trajanje"].' min</td>'; 
        echo '</b></center>';
    echo '</tr>';
}
4

5 に答える 5

3

どの時点でも、データベースクエリにレターを渡していない。

于 2012-09-03T13:08:54.760 に答える
2
$query  = 
    "SELECT filmovi.naslov, filmovi.godina, filmovi.trajanje, filmovi.slika
    FROM filmovi
    WHERE naslov LIKE '$naslov%'
    ORDER BY naslov";
于 2012-09-03T13:09:29.863 に答える
1

このクエリに変更すると、次のことが役立つ場合があります。

SELECT filmovi.naslov, filmovi.godina, filmovi.trajanje, filmovi.slika
FROM filmovi
WHERE `naslov` LIKE '{$naslov}%'
ORDER BY naslov
于 2012-09-03T13:11:39.383 に答える
1

あなたの質問

$query  = "SELECT filmovi.naslov, filmovi.godina, filmovi.trajanje, filmovi.slika
    FROM filmovi
    ORDER BY naslov";

データベースからすべての映画をフェッチしています。ここにはフィルタリングはありません。このクエリにいくつかの条件を追加するwhereと、期待どおりの結果が得られます。

于 2012-09-03T13:09:42.240 に答える
0

他の人がすでにあなたの質問に答えているので(WHERE句<center>がありません)、HTMLタグは非推奨であり、代わりにCSSを使用する必要があります。

PHP用のmysqlドライバーも古くなっているため、次を使用する代わりに:

mysql_query($query);

あなたが使用する必要があります

mysqli_query($link, $query);

セキュリティの向上、OOPサポート、プリペアドステートメント、およびトランザクション。

あなたはそれについてここで読むことができます

初心者で、これらの機能の意味を気にしない場合でも、とにかくmysqliを使用する習慣を身に付けて、感謝する日が来たときに、それを理解する必要がないようにする必要があります。戻って、すべてのコードを更新します。

于 2012-09-03T14:22:14.713 に答える