24. april 2014 - 07:11
Der er
10 kommentarer og 1 løsning
if og else
Hej. Jeg har flg: <?php $wins = mysql_query("SELECT place, count(place) AS amount FROM cl_yellow WHERE name=$id"); while($wa=mysql_fetch_array($wins)){ echo "<span class='legend'>Completed: $wa[amount] time(s)</span><br>"; } ?> der virker udmærket. Blot kunne jeg tænke mig, at hvis amount er lig 1, skal der udskrives "time", men hvis mere end 1 "times" Er der en der vil være så rar at forfatte noget der kan bruges?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
24. april 2014 - 07:52
#1
echo "<span class='legend'>Completed: $wa['amount'] ". ($wa['amount'] > 1 ? 'times' : 'time') ."</span><br>";
24. april 2014 - 08:41
#2
Hej viperine. Tusind tak. Det var eddermame hurtig. Måtte fjerne ' om $wa[amount] ellers gav det en blank side: echo "<span class='legend'>Completed: $wa[amount] ". ($wa[amount] > 1 ? 'times' : 'time') ."</span><br>"; Lige et lille tillægsspørgsmål. Hvordan undgår jeg at den udskriver noget hvis amount = 0 (nul)?
24. april 2014 - 08:59
#3
En måske ikke så elegant løsning, men: switch($wa[amount]){ case 0: //Gør ingenting... break; case 1: echo "<span class='legend'>Completed: $wa[amount] time</span><br>"; break; default: echo "<span class='legend'>Completed: $wa[amount] times</span><br>"; }
24. april 2014 - 09:00
#4
Evt. kan du jo også lave: if($wa[amount] > 0){ echo "<span class='legend'>Completed: $wa[amount] ". ($wa[amount] > 1 ? 'times' : 'time') ."</span><br>"; }
24. april 2014 - 09:23
#5
Hej Jakobdo. Måtte ændre "if($wa[amount] > 0){" til "if($wa[amount] > 0)" og det virker. Dit første forslag har jeg ikke prøvet endnu. Er det i orden at jeg lige venter på et svar fra viperine, og evt dele pointene med jer?
24. april 2014 - 09:27
#6
Smid du bare point mod viperine.
24. april 2014 - 09:27
#7
Og jeg gætter du mener koden skal være sådan: if($wa["amount"] > 0){ er det ikke korrekt forstået ?
24. april 2014 - 09:34
#8
Korrekt; blot uden { til sidst.
24. april 2014 - 09:38
#9
Om du vil have { kode }eller ej. afhænger blot at om din if er efterfulgt af en eller flere linjer kode. Disse vil give samme resultat. if($wa['amount'] > 0) echo '<span class="legend">Completed: '.$wa['amount] . (($wa['amount'] > 1) ? ' times' : ' time') . '</span><br>'; if($wa['amount'] > 0){ echo '<span class="legend">Completed: '.$wa['amount] . (($wa['amount'] > 1) ? ' times' : ' time') . '</span><br>'; } men test så disse: $noget = true; if($noget){ echo "linje 1<br>"; echo "linje 2<br>"; } if($noget) echo "linje 1<br>"; echo "linje 2<br>"; kontra denne: $noget = false; if($noget){ echo "linje 1<br>"; echo "linje 2<br>"; } if($noget) echo "linje 1<br>"; echo "linje 2<br>";
24. april 2014 - 09:45
#10
Takker mange gange jakobdo. Der er noget jeg lige skal ha prøvet og nærstuderet lidt.
26. april 2014 - 09:34
#11
slutter
Vi tilbyder markedets bedste kurser inden for webudvikling