Prob syntaxe MIN
Le
Comte Hans Suisse
Bonjour
Voici mon problème : j'ai crée un formulaire où lorsqu'un utilisateur entre
un artiste et/ou un titre, le requête affiche dans un tableau la date,
l'artiste, le titre et une position (de 1 à 100).
Je voudrais afficher la position minimale (il peut y en avoir plusieurs pour
un artiste ayant le même titre - seul la date change). Seulement je n'arrive
pas :(
Qu'est-ce qui n'irait pas ? Il y aurait un problème au niveau de la ligne :
while($result = mysql_fetch_array($results))
Voici la requête :
if ( $allcriteres == "oui")
$operateur="AND";
else
$operateur="OR";
if ($artiste != "")
$finrequete .= " artiste LIKE '%$artiste%'";
if ($titre != "")
if ($finrequete != "")
$finrequete .= " $operateur (titre LIKE '%$titre%')";
else
$finrequete .= " (titre LIKE '%$titre%')";
if ($finrequete != "")
$sql="SELECT * FROM charts WHERE $finrequete ORDER BY `date` ASC" ;
else
$sql="SELECT * FROM charts ORDER BY `date` ASC" ;
// Meilleure position
$requete="SELECT MIN(position) FROM charts";
$results = mysql_query($requete);
$result=mysql_query($sql, $db) or die('Erreur de requete');
echo "Il y a ".mysql_num_rows($result)." résultats.";
if($result)
//si il n'y a pas de résultats
{
if(mysql_num_rows($result)==0) echo "<center><b>Pas de
Résultat</b></center>";
else
{
echo "<center><b>Résultat(s)</b></center><br>";
// début du tableau
echo '<center><table bgcolor="#FFFFFF">'."";
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo '<td bgcolor="#669999"><b><u><FONT face="Verdana"><FONT
size=2>Date</FONT></FONT></u></b></td>';
echo '<td bgcolor="#669999"><b><u><FONT face="Verdana"><FONT
size=2>Artiste</FONT></FONT></u></b></td>';
echo '<td bgcolor="#669999"><b><u><FONT face="Verdana"><FONT
size=2>Titre</FONT></FONT></u></b></td>';
echo '<td bgcolor="#669999"><b><u><FONT face="Verdana"><FONT
size=2>Position</FONT></FONT></u></b></td>';
echo '</tr>'."";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par
ligne.
while($row = mysql_fetch_array($result))
{
echo '<tr>';
echo '<td bgcolor="#CCCCCC"><FONT face="Tahoma"><FONT
size=1>'.$row['date'].'</FONT></FONT></td>';
echo '<td bgcolor="#CCCCCC"><FONT face="Tahoma"><FONT
size=1>'.$row['artiste'].'</FONT></FONT></td>';
echo '<td bgcolor="#CCCCCC"><FONT face="Tahoma"><FONT
size=1>'.$row['titre'].'</FONT></FONT></td>';
echo '<td bgcolor="#CCCCCC"><FONT face="Tahoma"><FONT
size=1>'.$row['position'].'</FONT></FONT></td>';
echo '</tr>'."";
}
echo '</table></center>'."";
// fin du tableau.
while($result = mysql_fetch_array($results))
{
echo $result["Max"];
}
}
mysql_free_result($result);
}
;
Merci d'avance
Voici mon problème : j'ai crée un formulaire où lorsqu'un utilisateur entre
un artiste et/ou un titre, le requête affiche dans un tableau la date,
l'artiste, le titre et une position (de 1 à 100).
Je voudrais afficher la position minimale (il peut y en avoir plusieurs pour
un artiste ayant le même titre - seul la date change). Seulement je n'arrive
pas :(
Qu'est-ce qui n'irait pas ? Il y aurait un problème au niveau de la ligne :
while($result = mysql_fetch_array($results))
Voici la requête :
if ( $allcriteres == "oui")
$operateur="AND";
else
$operateur="OR";
if ($artiste != "")
$finrequete .= " artiste LIKE '%$artiste%'";
if ($titre != "")
if ($finrequete != "")
$finrequete .= " $operateur (titre LIKE '%$titre%')";
else
$finrequete .= " (titre LIKE '%$titre%')";
if ($finrequete != "")
$sql="SELECT * FROM charts WHERE $finrequete ORDER BY `date` ASC" ;
else
$sql="SELECT * FROM charts ORDER BY `date` ASC" ;
// Meilleure position
$requete="SELECT MIN(position) FROM charts";
$results = mysql_query($requete);
$result=mysql_query($sql, $db) or die('Erreur de requete');
echo "Il y a ".mysql_num_rows($result)." résultats.";
if($result)
//si il n'y a pas de résultats
{
if(mysql_num_rows($result)==0) echo "<center><b>Pas de
Résultat</b></center>";
else
{
echo "<center><b>Résultat(s)</b></center><br>";
// début du tableau
echo '<center><table bgcolor="#FFFFFF">'."";
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo '<td bgcolor="#669999"><b><u><FONT face="Verdana"><FONT
size=2>Date</FONT></FONT></u></b></td>';
echo '<td bgcolor="#669999"><b><u><FONT face="Verdana"><FONT
size=2>Artiste</FONT></FONT></u></b></td>';
echo '<td bgcolor="#669999"><b><u><FONT face="Verdana"><FONT
size=2>Titre</FONT></FONT></u></b></td>';
echo '<td bgcolor="#669999"><b><u><FONT face="Verdana"><FONT
size=2>Position</FONT></FONT></u></b></td>';
echo '</tr>'."";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par
ligne.
while($row = mysql_fetch_array($result))
{
echo '<tr>';
echo '<td bgcolor="#CCCCCC"><FONT face="Tahoma"><FONT
size=1>'.$row['date'].'</FONT></FONT></td>';
echo '<td bgcolor="#CCCCCC"><FONT face="Tahoma"><FONT
size=1>'.$row['artiste'].'</FONT></FONT></td>';
echo '<td bgcolor="#CCCCCC"><FONT face="Tahoma"><FONT
size=1>'.$row['titre'].'</FONT></FONT></td>';
echo '<td bgcolor="#CCCCCC"><FONT face="Tahoma"><FONT
size=1>'.$row['position'].'</FONT></FONT></td>';
echo '</tr>'."";
}
echo '</table></center>'."";
// fin du tableau.
while($result = mysql_fetch_array($results))
{
echo $result["Max"];
}
}
mysql_free_result($result);
}
;
Merci d'avance

Poser une question


Vous travailez avec mySQL ( et en quelle version) ou avec SQL Server ?
"Comte Hans Suisse" news:443370a8$0$11332$
entre
pour
n'arrive
: