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">'."\n";
// 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>'."\n";
// 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>'."\n";
}
echo '</table></center>'."\n";
// fin du tableau.
while($result = mysql_fetch_array($results))
{
echo $result["Max"];
}
}
mysql_free_result($result);
}
;
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Synopsis
C'est du PHP... Vous travailez avec mySQL ( et en quelle version) ou avec SQL Server ?
"Comte Hans Suisse" a écrit dans le message de 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 '<center><table bgcolor="#FFFFFF">'."n"; // 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>'."n";
// 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>'."n"; } echo '</table></center>'."n"; // fin du tableau. while($result = mysql_fetch_array($results)) { echo $result["Max"]; } } mysql_free_result($result); } ;
Merci d'avance
C'est du PHP...
Vous travailez avec mySQL ( et en quelle version) ou avec SQL Server ?
"Comte Hans Suisse" <dsqknfsdlk@aol.com> a écrit dans le message de
news:443370a8$0$11332$636a55ce@news.free.fr...
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">'."n";
// 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>'."n";
// 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>'."n";
}
echo '</table></center>'."n";
// fin du tableau.
while($result = mysql_fetch_array($results))
{
echo $result["Max"];
}
}
mysql_free_result($result);
}
;
C'est du PHP... Vous travailez avec mySQL ( et en quelle version) ou avec SQL Server ?
"Comte Hans Suisse" a écrit dans le message de 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 '<center><table bgcolor="#FFFFFF">'."n"; // 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>'."n";
// 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>'."n"; } echo '</table></center>'."n"; // fin du tableau. while($result = mysql_fetch_array($results)) { echo $result["Max"]; } } mysql_free_result($result); } ;