melanger texte et chiffre dans colonnes base de données

Petit nouveau ! | 3 Messages

06 oct. 2005, 10:30

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 oct. 2005, 10:33

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 ".."; }
;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 568 Messages

06 oct. 2005, 10:36

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:
Heddi s'est remis à développer pour lui même !
Martina Hingis - Étoile du Tennis
Heddi v. 2007

Petit nouveau ! | 3 Messages

06 oct. 2005, 10:38

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 oct. 2005, 10:40

PS : Trop lent :lol:
:langue: :P
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 91 Messages

06 oct. 2005, 10:50

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

Petit nouveau ! | 3 Messages

06 oct. 2005, 14:26

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