webForumDet fria alternativet

Alternativ visning - med eller utan länkning

PHP

8 svar · 625 visningar · startad av TomasA

Medlem sedan feb. 2003173 inlägg
Frågan#1

Kör MySQL och PHP.

Har en kalender som visar kommande händelser.
I databasen finns ett fält "externlank"

Vid visningen vill jag att om visad port har fältet"externlank" ifyllt skall visningen vara en länk till "externlank".
Om fältet för posten är tom skall posten visas men inte som länk.

Troligeh har jag missat något i if-satsen
Den ser ut så här:

<?php
if($externlank == ""){
}
<div><img border="0" src="../bilder/kuben.jpg" width="8" height="9"> <?php print $myrow["dag"];?> - <?php print $aktivitet;?></div>;
else
{
}
<div ><a href="kalender.php?go=en_artikel&artikelid=<?php print $myrow["kalendid"];?>" target="main" ><img border="0" src="../bilder/kuben.jpg" width="8" height="9"> <?php print $myrow["dag"];?> - <?php print $aktivitet;?></a></div>;

Var ligger felet?
Får följande felmeddelande på sidan

Parse error: parse error, unexpected '<' in /home2/hbsn/public_html/artikel/kalend.php on line 64

Tacksam för hjälp i mina trevande försök att praktisera PHP.

Medlem sedan dec. 200539 inlägg
#2

fel på { } samt <? ?>...

<?php
if($externlank == ""){
?>
<div><img border="0" src="../bilder/kuben.jpg" width="8" height="9"> 
<?php print $myrow["dag"];
print " - ";
print $aktivitet;
?>
</div>
<?php
} else {
?>
<div><a href="kalender.php?go=en_artikel&artikelid=<?php print $myrow["kalendid"];?>" target="main" ><img border="0" src="../bilder/kuben.jpg" width="8" height="9"> <?php print $myrow["dag"];?> - <?php print $aktivitet;?></a></div>
<? } ?>
Medlem sedan dec. 200539 inlägg
#3

eller snyggare

Du behöver inte använda PRINT varje gång, när man bäddar in PHP i HTML-koden. Använd <?=$variabel;?> istället för <? print $variabel; ?> - så blir det lättare att läsa...

//hampus brynolf

if($externlank == ""){
?>
<div><img border="0" src="../bilder/kuben.jpg" width="8" height="9"> 
<?=$myrow["dag"];?> - <?=$aktivitet;?>
</div>
<?
} else {
?>
<div><a href="kalender.php?go=en_artikel&artikelid=<?=$myrow["kalendid"];?>" target="main" ><img border="0" src="../bilder/kuben.jpg" width="8" height="9"> <?=$myrow["dag"];?> - <?=$aktivitet;?></a></div>
<? } ?>
Medlem sedan feb. 2003173 inlägg
#4

Tackar - mycket snyggare men blir ändå fel.
if-satsen selekterar inte posterna.
Den känner inte av om fältet "externlank" är ifyllt eller ej.
Passade på och ändrade lite på href också.

Så här är ser det hela ut nu:

<?php
if($externlank == ""){
?>
<div><img border="0" src="../bilder/kuben.jpg" width="8" height="9">
<?=$myrow["dag"];?> + <?=$aktivitet;?>
</div>

  	\<?php
  	} else {
  	?\>
  	\<div\>\<a href="http://\<a href="http://\<?=$externlank;?\>" target="main" \>\<img border="0" src="../bilder/kuben.jpg" width="8" height="9"\> \<?=$myrow\["dag"\];?\> - \<?=$aktivitet;?\>\</a\>\</div\>
  	\<? } ?\>

Men alla poster visas länkade.

Medlem sedan dec. 200539 inlägg
#5

då är det något fel i $externlank. är det rätt namn på variablen? hur fyller du den med information? vad visas om du lägger

<?php
echo $externlank;
if ($externlank == "") {
etc ...

//hampus brynolf

Medlem sedan feb. 2003173 inlägg
#6

Då visas alla poster som olänkade oavsett innehåll i fältet "externlank"

Jag skall kika vidare.
Får dock inga felmeddelanden.

Medlem sedan dec. 200539 inlägg
#7

Innehållet i $externlank är i ditt script ALLTID "" (tomt). Därför visas de alltid olänkade. Felet är inte i koden ovan utan tidigare, när du sätter externlank. Felet kan vara att variablen är felstavad, att det inte ligger något i variablen, etc.
(det var därför du skulle lägga på en echo - för att verifiera innehållet i $externlank). Eftersom den inte visar något, är den alltid tom...

Lägg upp lite mer kod så kan jag hjälpa.

//hampus brynolf

Medlem sedan feb. 2003173 inlägg
#8

Hej igen hampus brynolf

Först vill jag säga att jag som nybörjare i programmering i php och med
användning av databaser verkligeh uppskattar den hjälp och vänlighet
man möter i bland er i wF som har så rikligt med blandade kunskaper.

Men klart man måste själv anstränga sig och försöka hitta sina fel.
Du pekade på att kolla och åter kolla, stavning mm. Felet var att jag
inte i början efter <?php talat om att $externtext skulla vara samma
sak som myrow[$"externtext"]

Därför hittade den inte länkarna. Så nu fungerar det nästa helt som jag vill,
men då kommer nästa tanke.

Jag har tre fält
- Aktivitet
- eventuellt korttext
- eventuell externlänk

Jag behöver två if-satser.
Första för om det finns korttext då skriva den och avsluta med ett <br>

Sen fortsätta till Externlänken - skriva ut den om den finns.

Men jag vill inte ha extra radbrytningar om inte korttext och / eller
externtext finns.

Skall jag lägga en if-sats om korttexten med hela if-satsen om externlänk
både i if-satsen och i dess else-styrening?

Testsida ute på klubbsidan

Tackar på förhand

Medlem sedan dec. 200539 inlägg
#9

... kan du inte bara lägga in br om ifsatsen är uppfylld dvs att det finns externlänk? BÖRJA externlänken med <br> istället för att avsluta korttext med br, om du förstår vad jag menar...

ge mig lite kod att titta på är det enklare :)

allt gott,

//hampus

255 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)