Page 1 sur 1

melanger texte et chiffre dans colonnes base de données

Posté : 06 oct. 2005, 10:30
par sethipremier
bonjour je voudrais mélanger des chiffres et de la ponctuation dans mes colonnes de ma base de données!!
je m'explique : je suis en train de créer un tableau de resultats de courses automobiles! si le pilote n'a pas marqué de points je voudrais mettre ==>.. dans la colonne, si il a marqué des points mettre les points correspondant à sa position par ex : 10, et si la course n'a pas encore été effectuée ne rien mettre dans la colonne.

je voudrais donc savoir quel est le type du champ que je dois selectionner dans ma base de données, soit int, soit varchar, soit decimal, j'avoue etre un peu perdu!!!!!! :oops:

merci de votre aide
sethi

Posté : 06 oct. 2005, 10:33
par zeus
Et si tu marquais 0 quand il marqué .... 0 points :roll:

Si tu veux mettre les .., il te faut un champ de type VARCHAR et tu ne pourras plus faire d'opération mathématiques sur ces champs. Pour calculer le total de points par pilotes par exemple. Alors que si tu met 0, un INT suffit et tu peut avoir la possibilité de calculer la somme.

Si c'est une question d'affichage, au moment d'afficher,
if ($point = 0) { echo ".."; }
;)

Posté : 06 oct. 2005, 10:36
par heddicmi
Utilise du tinyint... Et place 0 s'il n'ont pas marqué de point... Ensuite, quand tu affiches le tableau, si la valeur est 0, tu pourras mettre des ..... Enfin, logiquement, les courses non disputés ne devrais être enregistrée dans ta base que lorsqu'elles auront été courues !

PS : Trop lent :lol:

Posté : 06 oct. 2005, 10:38
par sethipremier
oui c'est plus une question d'affichage qu'autre chose! je vais essayer avec les if! je te tiens au courant!
si quelqu'un a une autre suggestion pas de pb je suis preneur

merci
sethi

Posté : 06 oct. 2005, 10:40
par zeus
PS : Trop lent :lol:
:langue: :P

Posté : 06 oct. 2005, 10:50
par Augure
ou directement en SQL

Code : Tout sélectionner

select nom , ifnull(convert(point,char(10)),'...') from MaTable
Avec la colonne : point int null

Autre solution

Code : Tout sélectionner

select nom , case point when 0 then '...' else convert(point,char(10) end from MaTable
Avec la colonne : point null default (0) not null

Posté : 06 oct. 2005, 14:26
par sethipremier
me re! bon ben j'ai trouvé qu'une solution : c'est de mettre un chan noir (avec ma feuille de style)

Code : Tout sélectionner

echo "<TR>"; echo "<TD class='combold12'>"; echo mysql_result($Resultat , $Compteur , "prenom"); echo " "; echo mysql_result($Resultat , $Compteur , "nom"); echo "</TD>"; if (mysql_result($Resultat , $Compteur , "stg1") == 10) {echo "<TD align='center' class='menu4'>";} elseif (mysql_result($Resultat , $Compteur , "stg1") == 0) {echo "<TD align='center' class='menu7'>";} else echo "<TD align='center' class='menu6'>"; echo mysql_result($Resultat , $Compteur , "stg1"); echo "</TD>";
stg1 etant la premiere course, 10 les points maxi en rouge et 0 les points mini
menu 4 = rouge
menu 6 = orange
menu 7 = noir

si quelqu'un pense pouvoir optimiser mon code

merci
sethi