1 pièce(s) jointe(s)
controler si un champ TEXT est vide
Si, il existe dans ma table mdl_211course une colonne fullname (par exemple programmation) et une colonne shortname (par exemple pgmc)
Donc la requete
Code:
1 2 3
|
SELECT fullname,shortname
FROM mdl_211course; |
donne le résultat suivant:
Pièce jointe 92751
est ce qu'on peut faire le controle avec ces données ??:(
controler si un champ TEXT est vide
oui biensur je teste mais ça bloque, car il y a un risque que le shortname du cours contient des espaces :( ce qui va générer des erreurs. Don j'ai fait autre chose, j'ai donné au champ TEXT l'id du courrs correspondant comme 'name' c'est ça:
Code:
1 2 3 4 5 6 7 8 9
|
while($ligne=mysql_fetch_assoc($resultat)){
echo '<b><h3><font color=#6495ED>';
echo $ligne['shortname'].'</h3>';
echo '<input type="text" name="coef[';
echo $ligne['courseid'];
echo ']" size="3" value="1">';
} |
Donc ça évite les espaces, les répétition des même shartname et évite de donner à tous les champs le même nom.
Mais je me trouve de nouveau au début :( comment faire mnt ? qu'est que vous proposez?
Donc maintenant, pour contrôler si les champs sont remplies ou pas on doit
3 pièce(s) jointe(s)
controler si un champ TEXT est vide
Je vais vous postez mon code, il est un peu long :( j’espère que vous pouvez m'aider à corriger la faute :( ben vous connaissez normalement tout à propos ce code car c'est avec votre help que je developpe ;)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
<html>
<head>
<title>
Moyenne Cours
</title>
<SCRIPT language="Javascript">
<!--
function Chargement() {
alert('Veuillez remplir les champs en saisissant les coefficients correpondants à chaque cours!!');
}
//-->
</SCRIPT>
<SCRIPT language="JavaScript">
<!--
function controle() {
var i, coef, erreur, i_erreur, msg_type, msg;
erreur = false;
msg = '';
msg_type = "ERREUR";
coef = document.getElementsByName("coef[]");
//alert("coef : " + coef);
if (coef) {
for (i = 0; i < coef.length; i++) {
//alert("coef : " + coef[i].value);
if (coef[i].value == "") {
i_erreur = i + 1;
msg += "[coef " + i_erreur + "] " + msg_type + "\n";
erreur = true;
}
}
}
if (erreur) {
alert(msg);
document.getElementById("coef_" + i_erreur).focus();
return false;
}
return true;
}
//-->
</script>
</head>
<body link="#FF6600" vlink="#FF9900" onload="Chargement();">
<form name="form" onsubmit="return controle();" action="res1.php" method="post">
<fieldset>
<fieldset>
<legend><h3><b>Les Coefficients</b></h3></legend>
<?php
//connect to the server
$connect=mysql_connect("localhost","root","");
//connect to the db
mysql_select_db("moodle211");
//controle du champ de la formule
//query the db
$requete='SELECT DISTINCT(fullname),shortname,courseid
FROM mdl_211course,mdl_211course_categories,mdl_211grade_items
WHERE mdl_211course_categories.name="'.mysql_real_escape_string($_GET["nom"]).'"
AND mdl_211course_categories.id = mdl_211course.category
AND mdl_211course.id=mdl_211grade_items.courseid';
$resultat=mysql_query($requete) or die ('<h4><b>Erreur SQL!</h4></b><br>'.$requete.'<br>'.mysql_error());
//fetch the result
$cpt =1;
while($ligne=mysql_fetch_assoc($resultat)){
echo '<b><h3><font color=#6495ED>';
?>
<p>
<label><?php echo $ligne['shortname'].'</h3>'; ?></label>
<input type="text" id="coef_<?php echo $cpt; ?>" name="coef[<?php echo $ligne['courseid']; ?>]" value="1" size="3" />
</p>
<?php
$cpt++;
}
?>
<br><br><center><input type='submit' name='appliquer' value='Appliquer' >
<a href=choixmoycat.php>
<input type=reset name=annuler value=Annuler></a>
</center>
</fieldset></fieldset></form>
</body>
</html> |
c'est l'affichage de la première page:
Pièce jointe 92778
lorsque je clique sur 'appliquer' je passe à la deuxième page:
Pièce jointe 92780
Mais mémé si je ne saisie pas de coefficient (champ TEXT non rempli) la redirection se fait:
Pièce jointe 92781
où est l'erreur?? :(:(