1

データベース(movimentos)からの一連の値(マトリキュラ)を含むドロップダウンリストを持つファイルがあります。ドロップダウンリストでその値を選択すると、データベースで繰り返される行が検索され、テーブルに表示されますその値のすべてのデータ (現在、「matricula」、「marca」、「despesa」の 3 つの列)

以下は、ドロップダウン リストから値を取得するために使用するコードです。ここで問題が発生します。ドロップダウン リストから値を取得して、テーブルのそれぞれの行を表示することはできません。

 <a href='verificar.dwt.php'>Voltar atrás</a>

<div align="center"><? 

include 'configmov.dwt.php'; 

$tableName='movimentos';
$matricula = mysql_real_escape_string($_POST['matricula']);

$sql="SELECT matricula, marca, despesa FROM $tableName WHERE $matricula in (SELECT matricula FROM $tableName GROUP BY $matricula HAVING count($matricula) > 1)"; 
$result=mysql_query($sql); 
$n=1; 

echo "Os seus resultados: <p>";

echo "<table border=0>";
echo "<tr bgcolor='#CCFFCC'>";
echo "<td style='width: 100px;'>Matricula</td>";
echo "<td style='width: 100px;'>Marca</td>";
echo "<td style='width: 100px;'>Despesa</td>";
echo "</tr>";

while($row = mysql_fetch_array($result)){ 
    echo "<table border=0>";
    echo "<tr bgcolor='#CCCCCC'>";
    echo "<td style='width: 100px;'>".$row['matricula']."</td>";
    echo "<td style='width: 100px;'>".$row['marca']."</td>";
    echo "<td style='width: 100px;'>".$row['despesa']."</td>";
    echo "</tr>";

}

?>

</div>

<?php
// close connection; 
mysql_close();
?>

私はしばらくの間この問題に取り組んでおり、この質問をするためにここに来る前に多くの調査を行いました。

4

4 に答える 4

1

matricula は、投稿内のテーブルのフィールドです... php 変数ではありません..したがって、次のものが必要です: GROUP BY matricula HAVIG count(matricula)

于 2012-07-13T17:28:42.110 に答える
1

SQL構文が正しいことを確認し、返されたデータベース値からテーブルを作成して単一のテーブルにするこのコードを試してください

echo "<table border=0>";
echo "<tr bgcolor='#CCFFCC'>";
echo "<td style='width: 100px;'>Matricula</td>";
echo "<td style='width: 100px;'>Marca</td>";
echo "<td style='width: 100px;'>Despesa</td>";
echo "</tr>";

while($row = mysql_fetch_array($result)){ 
    echo "<tr bgcolor='#CCCCCC'>";
    echo "<td style='width: 100px;'>".$row['matricula']."</td>";
    echo "<td style='width: 100px;'>".$row['marca']."</td>";
    echo "<td style='width: 100px;'>".$row['despesa']."</td>";
    echo "</tr>";

}

echo "</table>";
于 2012-07-13T17:30:26.323 に答える
1

まず第一に..構文が間違っていると思います。

これを試してください:

$sql = "SELECT matricula, marca, despesa FROM '$tableName' WHERE '$matricula' in (SELECT matricula FROM '$tableName' GROUP BY '$matricula' HAVING count('$matricula') > 1)"; 

クエリでは、php 変数を引用符で囲む必要があります。

于 2012-07-13T17:24:32.810 に答える
0

投稿された値のテーブルで完全一致をチェックしている場合、代わりにこれを使用できないのはなぜですか?

 $sql="SELECT matricula, marca, despesa FROM ".$tableName." WHERE matricula = '".$matricula."'"; 
于 2012-07-13T17:38:16.160 に答える