GNT sans publicité, site mobile, fonctionnalitées exclusives...

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
Lire la réponse

Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Synopsis
Le #11788371
C'est du PHP...
Vous travailez avec mySQL ( et en quelle version) ou avec SQL Server ?


"Comte Hans Suisse" news:443370a8$0$11332$
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 ' // 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 '
// 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 ' }
echo ' // fin du tableau.
while($result = mysql_fetch_array($results))
{
echo $result["Max"];
}
}
mysql_free_result($result);
}
;


Merci d'avance




Publicité
Suivre les réponses
Poster une réponse
Anonyme