Message par défault

duodiscus Messages postés 38 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 7 juin 2006 - 7 juin 2006 à 12:01
pastis51forever Messages postés 172 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 8 septembre 2006 - 7 juin 2006 à 17:04
bonjour, alors voilà,
je vous explique, j'ai une fiche de détail produit qui m'affiche donc les données d'un produit par rapport à la BDD
le soucis c'est que quand un caractéristique du produit manque, la fiche produit ne renseigne pas la ligne concerné ce qui semble évident, mais j'ai aussi cette erreur :
Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 14 in detail_produit.php on line 73

donc là en occurence, j'ai pas de précision sur l'étanchéité du produit, donc dans étanche sur le détail produit il n'y a rien

voici à quoi correspond la ligne 73 :
$etanche_nom = mysql_result ($req6, etanches.etanche, "etanche") ;

donc j'aimerai faire quelque chose, qui dit que si c'est vide (donc égal à "0" dans ma table), ça affiche quelque chose du genre :
Non renseigné

je l'ai fait, en faisant ceci:
$etanche_nom = mysql_result ($req6, etanches.etanche, "etanche") ;
if ($etanche == "0")
   $etanche_nom = "Non renseigné" ;

ça fonctionne pas :(
 pour l'exemple concerné, le champs s'apelle donc etanche dans la table produits
et c'est soit "0" (défault, donc vide) soit "1" (quelque chose a été inscrit)

ensuite dans le echo j'ai :
echo " $etanche_nom" ;

voilà si quelqu'un peut me dire comment je pourrais faire pour gérer l'erreur ce serait gentil :)
merci

6 réponses

pastis51forever Messages postés 172 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 8 septembre 2006 1
7 juin 2006 à 12:16
Bonjour
Tu peux mettre en valeur par défaut le texte 'Non renseigné'
Le type de la colonne du tableau peut etre enum('0', '1', 'Non renseigné')
0
duodiscus Messages postés 38 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 7 juin 2006
7 juin 2006 à 14:20
hm
mouais, merci pastis51forever
mais en fait ça va pas le faire
parce que dans ma table produit j'ai donc le champs etanche en tinyint(2)
et apres j'ai une table etanches   ou sont mes différentes étanchéité
et d'où la requete :
$req6 = mysql_query ("SELECT * FROM etanches WHERE id='$etanche'") ;


$etanche_nom = mysql_result ($req6, etanches.etanche, "etanche") ;

donc je peux pas faire comme tu dis
la seule solution "simple" serait de prévoir dans les choix possible de étanches, un choix sapellant "non renseigné"
mais ça veut dire le séléctionner en cas de non information
or le but est de remplir tout seul si ya pas eut de saisie

donc me faudra ce if ... :-(

ps: on prend l'apéro
0
pastis51forever Messages postés 172 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 8 septembre 2006 1
7 juin 2006 à 15:19
Je ne sais pas si tu m'as compris...
...a part pour l'apéro peut-être...
tu dis->la seule solution "simple" serait de prévoir dans les choix possible de étanches, un choix sapellant "non renseigné"
Je t'ai dit->Le type de la colonne du tableau peut etre enum('0', '1', 'Non renseigné')

tu dis->or le but est de remplir tout seul si ya pas eut de saisie
Je t'ai dit->Tu peux mettre en valeur par défaut le texte 'Non renseigné'

En gros, je pense qu'on a la meme idée...
De base, tu peux avoir une valeur par défaut dans tes champs, à régler directement dans phpmyadmin.
SI tu as une liste exhaustive (et pas trop grande) des différents choix possibles, c'est pratique de déclarer en enum
0
duodiscus Messages postés 38 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 7 juin 2006
7 juin 2006 à 16:01
hm
ok j'ai bien suivi ;)
mais heu là j'ai mis le champs étanche à ENUM('non renseigné','1')
donc la si je regarde la structure du champ étanche,j'ai dans défaut: non renseigné
quand jremplis pas l'étanchéité d'un produit, il retourne rien dans la base :(
c'est à dire que le champs reste vide, il met pas le defaut :-(
donc marche pas :-(

ps: pour l'apéro lol c'était par rapport au pastis et à franck dubosc mdr !
dsl pour l'apparté :D
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pastis51forever Messages postés 172 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 8 septembre 2006 1
7 juin 2006 à 16:31
C'est bizarre... Normalement, quand tu crées un nouveau produit sans rien mettre dans un champs qui a une valeur par défaut, ca devrait etre cette valeur qui s'inscrit...
Quand tu insere un enregistrement directement a partir de phpmyadmin, elle y est cette valeur?
0
pastis51forever Messages postés 172 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 8 septembre 2006 1
7 juin 2006 à 17:04
Si le champs dans ta table est crée comme ca:
ALTER TABLE `nomdelatable` ADD `etanches` ENUM( 'non renseigné', '1' ) DEFAULT 'non renseigné' NOT NULL ;
Chaque nouvel enregistrement est crée avec etanches='non renseigné'
0
Rejoignez-nous