J'ai rencontré un problème d'affichage des données sur mon canvas
. J'ai plusieurs instructions if
, else if
que je voulais évaluer pour déterminer quel texte afficher en fonction de l'entrée de l'utilisateur.Le canevas devient vide lorsque mes conditions if sont fausses
Si je crée la condition où une seule instruction if
est vraie, le texte qui doit être affiché le fait. Toutefois, lorsque j'ajoute des instructions else if
supplémentaires ou si l'instruction if
est évaluée comme étant fausse, le canvas
est complètement vide. Exemples ci-dessous:
if((<?php echo empty($row['civ1']);?>) &&
(<?php echo empty($row['civ2']);?>) &&
(<?php echo empty($row['civ3']);?>) &&
(<?php echo empty($row['civ4']);?>)){
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("", 705, 175);
}
Ceci fonctionne uniquement si c'est la seule condition évaluée et la condition est évaluée comme vraie. Si elle est évaluée comme fausse, mon canvas
devient vide.
Aussi, si j'ajoute else if
supplémentaires déclarations pour gérer d'autres cas, je veux évaluer, le canvas
reste toujours vide ....
if((<?php echo empty($row['civ1']);?>) &&
(<?php echo empty($row['civ2']);?>) &&
(<?php echo empty($row['civ3']);?>) &&
(<?php echo empty($row['civ4']);?>)){
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("", 705, 175);
}
else if((<?php echo !empty($row['civ1']);?>) &&
(<?php echo empty($row['civ2']);?>) &&
(<?php echo empty($row['civ3']);?>) &&
(<?php echo empty($row['civ4']);?>)){
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("Civilian Goal: <?php echo ($row['civ1']);?>", 705, 175);
}
else if((<?php echo !empty($row['civ1']);?>) &&
(<?php echo !empty($row['civ2']);?>) &&
(<?php echo !empty($row['civ3']);?>) &&
(<?php echo empty($row['civ4']);?>)){
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("Civilian Goal: <?php echo ($row['civ1']);?>", 650, 175);
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("<?php echo ($row['civ2']);?>", 760, 195);
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("<?php echo ($row['civ3']);?>", 760, 215);
}
Est-ce que cela a quelque chose à voir avec la façon dont j'utiliser la déclaration empty
dans php
ou est-ce que je manque quelque chose d'autre? J'utilise le code similaire à cela dans d'autres endroits de mon canvas
et cela fonctionne comme prévu.
[modifier]
est ici l'ensemble de javascript j'utiliser pour évaluer si l'utilisateur a des valeurs d'entrée ou si elles sont vides et ce texte que je veux afficher en fonction de ces entrées.
if((<?php echo empty($row['civ1']);?>) &&
(<?php echo empty($row['civ2']);?>) &&
(<?php echo empty($row['civ3']);?>) &&
(<?php echo empty($row['civ4']);?>)){
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("", 705, 175);
}
else if((<?php echo !empty($row['civ1']);?>) &&
(<?php echo empty($row['civ2']);?>) &&
(<?php echo empty($row['civ3']);?>) &&
(<?php echo empty($row['civ4']);?>)){
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("Civilian Goal: <?php echo ($row['civ1']);?>", 705, 175);
}
else if((<?php echo !empty($row['civ1']);?>) &&
(<?php echo !empty($row['civ2']);?>) &&
(<?php echo !empty($row['civ3']);?>) &&
(<?php echo empty($row['civ4']);?>)){
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("Civilian Goal: <?php echo ($row['civ1']);?>", 650, 175);
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("<?php echo ($row['civ2']);?>", 760, 195);
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("<?php echo ($row['civ3']);?>", 760, 215);
}
else if((<?php echo !empty($row['civ1']);?>) &&
(<?php echo !empty($row['civ2']);?>) &&
(<?php echo !empty($row['civ3']);?>) &&
(<?php echo !empty($row['civ4']);?>)){
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("Civilian Goal: <?php echo ($row['civ1']);?>", 650, 175);
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("<?php echo ($row['civ2']);?>", 760, 195);
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("<?php echo ($row['civ3']);?>", 760, 215);
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("<?php echo ($row['civ4']);?>", 760, 235);
}
else if((<?php echo empty($row['civ1']);?>) &&
(<?php echo !empty($row['civ2']);?>) &&
(<?php echo !empty($row['civ3']);?>) &&
(<?php echo !empty($row['civ4']);?>)){
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("Civilian Goal: <?php echo ($row['civ2']);?>", 760, 175);
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("<?php echo ($row['civ3']);?>", 760, 195);
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("<?php echo ($row['civ4']);?>", 760, 215);
}
else if((<?php echo empty($row['civ1']);?>) &&
(<?php echo empty($row['civ2']);?>) &&
(<?php echo !empty($row['civ3']);?>) &&
(<?php echo !empty($row['civ4']);?>)){
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("Civilian Goal: <?php echo ($row['civ3']);?>", 760, 175);
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("<?php echo ($row['civ4']);?>", 760, 195);
}
else if((<?php echo empty($row['civ1']);?>) &&
(<?php echo empty($row['civ2']);?>) &&
(<?php echo empty($row['civ3']);?>) &&
(<?php echo !empty($row['civ4']);?>)){
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("Civilian Goal: <?php echo ($row['civ4']);?>", 760, 175);
}
else if((<?php echo !empty($row['civ1']);?>) &&
(<?php echo empty($row['civ2']);?>) &&
(<?php echo !empty($row['civ3']);?>) &&
(<?php echo !empty($row['civ4']);?>)){
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("Civilian Goal: <?php echo ($row['civ1']);?>", 650, 175);
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("<?php echo ($row['civ3']);?>", 760, 195);
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("<?php echo ($row['civ4']);?>", 760, 215);
}
else if((<?php echo !empty($row['civ1']);?>) &&
(<?php echo !empty($row['civ2']);?>) &&
(<?php echo empty($row['civ3']);?>) &&
(<?php echo !empty($row['civ4']);?>)){
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("Civilian Goal: <?php echo ($row['civ1']);?>", 650, 175);
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("<?php echo ($row['civ2']);?>", 760, 195);
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("<?php echo ($row['civ4']);?>", 760, 215);
}
else if((<?php echo !empty($row['civ1']);?>) &&
(<?php echo empty($row['civ2']);?>) &&
(<?php echo empty($row['civ3']);?>) &&
(<?php echo !empty($row['civ4']);?>)){
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("Civilian Goal: <?php echo ($row['civ1']);?>", 650, 175);
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("<?php echo ($row['civ4']);?>", 760, 195);
}
else if((<?php echo empty($row['civ1']);?>) &&
(<?php echo !empty($row['civ2']);?>) &&
(<?php echo empty($row['civ3']);?>) &&
(<?php echo !empty($row['civ4']);?>)){
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("Civilian Goal: <?php echo ($row['civ2']);?>", 650, 175);
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("<?php echo ($row['civ4']);?>", 760, 195);
}
else if(((<?php echo empty($row['civ1']);?>) &&
(<?php echo !empty($row['civ2']);?>) &&
(<?php echo !empty($row['civ3']);?>) &&
(<?php echo empty($row['civ4']);?>)){
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("Civilian Goal: <?php echo ($row['civ2']);?>", 650, 175);
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("<?php echo ($row['civ3']);?>", 760, 195);
}
else if((<?php echo empty($row['civ1']);?>) &&
(<?php echo empty($row['civ2']);?>) &&
(<?php echo !empty($row['civ3']);?>) &&
(<?php echo !empty($row['civ4']);?>)){
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("Civilian Goal: <?php echo ($row['civ3']);?>", 760, 175);
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("<?php echo ($row['civ4']);?>", 760, 195);
}
else if((<?php echo empty($row['civ1']);?>) &&
(<?php echo empty($row['civ2']);?>) &&
(<?php echo !empty($row['civ3']);?>) &&
(<?php echo empty($row['civ4']);?>)){
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("Civilian Goal: <?php echo ($row['civ3']);?>", 760, 175);
}
else if((<?php echo empty($row['civ1']);?>) &&
(<?php echo !empty($row['civ2']);?>) &&
(<?php echo empty($row['civ3']);?>) &&
(<?php echo empty($row['civ4']);?>)){
ctx2.font = "16px Arial";
ctx2.fillStyle = "green";
ctx2.textAlign = "left";
ctx2.fillText("Civilian Goal: <?php echo ($row['civ2']);?>", 760, 175);
}
vous ne traitez pas le changement de contexte! –
S'il reste vide. S'il vous plaît jeter un oeil à la console des outils de développement s'il y a une erreur. –
Si le seul évalue comme faux, il ne tire sûrement rien. Par conséquent serait vide lol (son une chaîne vide aussi serait encore "vide") Et le reste, pouvez-vous coller le javascript final qui est créé ... peut-être que PHP crache des erreurs et le ruine. – Epirocks