|
|
|
|
Bonjourà tous !!
Voilà, je suis en train de programmer un WebZine en PHP avec BdD MySql, et j'ai une sacrée liste de chroniques, je propose donc les groupes dans l'ordre alphabétique sur mon site.
Pas de problème jusque là, je fait une requète par lettre, par exemple "A%" pour le A, etc... J'affiche donc page par page les chroniques des groupes qui commencent par A, B, etc.
Mon souci, c'est que certains groupes qui se croient + malins que les autres ont un nom qui est... un nombre (ou qui commence par un nombre)...
Ce qui se fait le + souvent, quand on dresse une liste alphabétique, c'est qu'on met un # pour signifier 'les groupes dont le nom commence par un nombre'.
Voilà mon soucis : comment aller chercher dans la table les groupes qui commencent par un nombre ??
Si qqu'un a la solution, je le remercie par avance !!
merci !!
Salut, et merci pour ta réponse...
if (isset ($auteur_chron))
{
$auteur_lien = "&auteur_chron=".$auteur_chron ;
$tri_par_auteur = "AND `auteur` LIKE CONVERT( _utf8 '".$auteur_chron."'USING latin1 ) COLLATE latin1_swedish_ci" ;
}
else
{
$auteur_lien ="" ;
$tri_par_auteur="";
}
$alpha = range("A","Z") ;
foreach ($alpha as $alettre)
{
echo "<a href='echo.php?page=chroniques&page_chron=toutes".$auteur_lien."&lettre=".$alettre."'>".$alettre."</a> - " ;
}
echo "<a href='echo.php?page=chroniques&page_chron=toutes".$auteur_lien."&lettre=0'>#</a>" ;
if (isset ($lettre))
{
if($lettre == "0")
{
$sql = "SELECT * FROM `critiques` WHERE `groupe` ".$tri_par_auteur." ORDER BY `groupe` ASC " ;
$result = mysql_query($sql,$connect) ;
}
else
{
$sql = "SELECT * FROM `critiques` WHERE `groupe` LIKE CONVERT(_utf8 '".$lettre."%' USING latin1) COLLATE latin1_swedish_ci ".$tri_par_auteur." ORDER BY `groupe` ASC " ;
$result = mysql_query($sql,$connect) ;
}
while($row = mysql_fetch_array($result))
{
list($groupe,$titre,$label,$critique,$auteur,$date_chron,$id,$lien) = $row ;
$groupe = strtoupper ($groupe) ;
$auteur = ucwords($auteur) ;
$critique = nl2br($critique) ;
echo "<div class='cadre_forum'><span class = 'groupes_chroniques'>".$groupe."</span> ".$titre." <span class='reponses'>".$label."</span></div>
<div class='texte_forum'>".$critique." <a href = 'http://".$lien."' target='_blank'>".$lien."</a><br>
<span class='auteur'>".$auteur."</span></div>" ;
}
}
|
Salut j'ai un ptit soucis j'ai aussi un table a tier j utilise ORDER BY mais ça ne marche pas.
<?
//AFFICHAGE:Display
// appel du serveur
$id = mysql_connect($server,$user,$password) OR die("Echec de la connexion au serveur");
//ouverture de la base de donne
$id_db = mysql_select_db($base) OR die("Echec de la connexion à la base de donnée");
//ouverture et ecriture dans la table
$result = mysql_query("INSERT INTO $table ( `N°` , `Item Name` , `Quantity` , `Brand` , `Serial Number` , `Part Number` , `Supplier` , `Destination Team` , `Destination Activity` , `Price` , `Buying date` , `Category` , `Status` , `observation` )
VALUES ('$N', '$Item_name', '$Quantity', '$Brand', '$Serial_Number', '$Part_number', '$Supplier', '$team','$Destination_activity', '$Price', '$Date_Bying ', '$Category ', '$Status ', '$Observation')
SELECT * FROM $table ORDER BY N ")
OR die("Echec de la reception des données");
//Tous les champs de toutes les fiches triées par ordre croissant du champ fldA
$resut=mysql_query("" );
mysql_close($id);
?>
|