Avatar billede Morten Professor
22. marts 2015 - 21:23 Der er 11 kommentarer og
1 løsning

Hjælp til if handling

Hej

Har et problem jeg ikke kan finde ud af.

<?php if ($row_rsVare_Salg['status'] == NULL)
                    {
                    echo "<b>Er solgt</b>";}
                   
                    else
                    {
                        Den siger fejl her fra = echo '<a style="
background-image: url(design/knap.png); border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; border-top-left-radius: 10px; border-top-right-radius: 10px; color:#FFF; font-size:12px; font-weight:bold;"
href="vare.php?id='$row_rsVare_Salg['id']'&amp;uk='$row_rsVare_Salg['id']'&amp;u=1&amp;privat='$_SERVER['REMOTE_ADDR']'&amp;prisid='$_SERVER['REMOTE_ADDR']'&amp;brugerid='$row_rsVare_Salg['id']'&amp;mainid='$row_rsVare_Salg['id']'&amp;idmain='$row_rsVare_Salg['id']'&amp;brugernavn='$_SESSION['MM_Username']'&amp;varer='$row_rsVare_Salg['vare']'&amp;budid=1">Se mere &amp; k&oslash;b</a>'}?>

Håber i kan hjælpe mig.

Med venlig hilsen
Morten
22. marts 2015 - 21:49 #1
Nu fortæller du ikke hvilken fejlmelding du får, men kan det have at gøre med den måde du indlejrer dine anførselstegn på?  Du har, for eksempel, dette:

href="vare.php?id='$row_rsVare_Salg['id']'

Skal det ikke være
href="vare.php?id='$row_rsVare_Salg["id"]'
Avatar billede Morten Professor
22. marts 2015 - 21:49 #2
<?php if ($row_rsVare_Salg['status'] == NULL)
                    {
                    echo "<b>Er solgt</b>";}
                   
                    else
                    {
                        echo '<a class="knap" style="color:#FFF;"
                        href="vare.php?id='$row_rsVare_Salg['id']
                        '&amp;uk='$row_rsVare_Salg['id']
                        '&amp;u=1&amp;privat='$_SERVER['REMOTE_ADDR']
                        '&amp;prisid='$_SERVER['REMOTE_ADDR']'&amp;brugerid='$row_rsVare_Salg['id']
                        '&amp;mainid='$row_rsVare_Salg['id']'&amp;idmain='$row_rsVare_Salg['id']
                        '&amp;brugernavn='$_SESSION['MM_Username']'&amp;varer='$row_rsVare_Salg['vare']
                        '&amp;budid=1">Se mere &amp; k&oslash;b</a>'}?>
Avatar billede olsensweb.dk Ekspert
22. marts 2015 - 21:55 #3
prøv dette, en masse concatenerings punktummer senere, og et enkelt ; til afslutning
(utested, men syntax mæssigt korrekt)

<?php
if ($row_rsVare_Salg['status'] == NULL) {
    echo "<b>Er solgt</b>";
} else {
    echo '<a style="background-image: url(design/knap.png); border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; border-top-left-radius: 10px; border-top-right-radius: 10px; color:#FFF; font-size:12px; font-weight:bold;"href="vare.php?id='.$row_rsVare_Salg['id'].'&amp;uk='.$row_rsVare_Salg['id'].'&amp;u=1&amp;privat='.$_SERVER['REMOTE_ADDR'].'&amp;prisid='.$_SERVER['REMOTE_ADDR'].'&amp;brugerid='.$row_rsVare_Salg['id'].'&amp;mainid='.$row_rsVare_Salg['id'].'&amp;idmain='.$row_rsVare_Salg['id'].'&amp;brugernavn='.$_SESSION['MM_Username'].'&amp;varer='.$row_rsVare_Salg['vare'].'&amp;budid=1">Se mere &amp; k&oslash;b</a>'; 
}
?>



lidt pænere

<?php
if ($row_rsVare_Salg['status'] == NULL) {
    echo "<b>Er solgt</b>";
} else {
    echo '<a style="background-image: url(design/knap.png); '
    . 'border-bottom-left-radius: 10px; '
    . 'border-bottom-right-radius: 10px; '
    . 'border-top-left-radius: 10px; border-top-right-radius: 10px; '
    . 'color:#FFF; font-size:12px; font-weight:bold;'
    . '"href="vare.php?id='.$row_rsVare_Salg['id'].'&amp;uk='.$row_rsVare_Salg['id'].'&amp;u=1&amp;privat='.$_SERVER['REMOTE_ADDR'].'&amp;prisid='.$_SERVER['REMOTE_ADDR'].'&amp;brugerid='.$row_rsVare_Salg['id'].'&amp;mainid='.$row_rsVare_Salg['id'].'&amp;idmain='.$row_rsVare_Salg['id'].'&amp;brugernavn='.$_SESSION['MM_Username'].'&amp;varer='.$row_rsVare_Salg['vare'].'&amp;budid=1">Se mere &amp; k&oslash;b</a>'; 
}
?>


jeg vil anbefale dig at bruge en editor der syntax hightligter feks NetBeans eller en meget skrabet men god editor notepad++
Avatar billede Morten Professor
22. marts 2015 - 22:04 #4
<?php if ($row_rsVare_Salg['status'] == NULL)
                    {
                    echo "<b>Er solgt</b>";}
                   
                    else
                    {
                        echo '<a class="knap" style="color:#FFF;"
                        href="vare.php?id='.$row_rsVare_Salg['id'].
                        '&amp;uk='.$row_rsVare_Salg['id'].
                        '&amp;u=1&amp;privat='.$_SERVER['REMOTE_ADDR'].
                        '&amp;prisid='.$_SERVER['REMOTE_ADDR'].'&amp;brugerid='.$row_rsVare_Salg['id'].
                        '&amp;mainid='.$row_rsVare_Salg['id'].'&amp;idmain='.$row_rsVare_Salg['id'].
                        '&amp;brugernavn='.$_SESSION['MM_Username'].'&amp;varer='.$row_rsVare_Salg['vare'].
                        '&amp;budid=1">Se mere &amp; k&oslash;b</a>'}
                        ?>

Fik rettet men kommer med en fejl

Parse error: syntax error, unexpected '}', expecting ',' or ';' in C:\wamp\www\odderloppetorv_webshop\testkoeb.php on line 14
Avatar billede Morten Professor
22. marts 2015 - 22:08 #5
Ups fandt fejlen manglede et ; :oP
Avatar billede Morten Professor
22. marts 2015 - 22:09 #6
ronols

Vil du gøre så jeg kan give dig point, det var din hjælp der gjorde det.
Avatar billede Morten Professor
22. marts 2015 - 22:14 #7
HAr lige et spørgsmål
Har en aktions side hvor jeg gerne vil have en time:minut:sek tæller på
Hvor det tæller ned af.

Er der en god løsning på det?

Har indtil videre denne code:

<?php
            if ($row_rsVare_Salg['hoejde'] == NULL){
 
echo "Aktion er afsluttet";
}

else {$day  = $row_rsVare_Salg['hoejde'];    // Dag
  $month = $row_rsVare_Salg['vaegt'];      // Måned
  $hour  = $row_rsVare_Salg['diameter'];    // Klokkeslet

  $calculation = ((mktime ($hour,0,0,$month,$day) - time(void))/3600);
  $hours = (int)$calculation;
  $days  = (int)($hours/24);

echo "$hours timer til aktion afsluttes";}
?>
Avatar billede olsensweb.dk Ekspert
22. marts 2015 - 22:28 #8
du får svaret her

dit problem ligger/lå i manglende punktummer i dette

'"href="vare.php?id='$row_rsVare_Salg['id']'&amp;'
skal skrives sådan
'"href="vare.php?id='.$row_rsVare_Salg['id'].'&amp;'

havde du valg at bruge dobbelt plinger om din php string, kunne du have skrevet sådan
"'href='vare.php?id="$row_rsVare_Salg['id']"&amp;"

bedst praksis er altid sætte concantenetion punktumer, så behøver man ikke tænke over om dt er enkelt plinger eller dobbelt


"'href='vare.php?id=".$row_rsVare_Salg['id']."&amp;"

det var en fejl der gik igen i samtlige variabler i stringen


>Er der en god løsning på det?
ja javascript
https://www.google.com/search?q=js+countdown
hvis det laves serverside skal brugeren lave en update hele tiden få at se ændringen, alternativt vha AJAX, men jeg tror serveren bliver ked af at få en request hvert sek
Avatar billede Morten Professor
23. marts 2015 - 08:34 #9
Tak for din gode forklaring.






Jeg har lige fået fat i denne gode scrip til ned tælling

Men vil gerne have den når den når til nul skal den sige Aktion afsluttet.

var before="Aktion afsluttes"
var current="Aktion afsluttet"
var montharray=new Array("Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Oct","Nov","Dec")

function countdown(yr,m,d){
theyear=yr;themonth=m;theday=d
var today=new Date()
var todayy=today.getYear()
if (todayy < 1000)
todayy+=1900
var todaym=today.getMonth()
var todayd=today.getDate()
var todayh=today.getHours()
var todaymin=today.getMinutes()
var todaysec=today.getSeconds()
var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec
futurestring=montharray[m-1]+" "+d+", "+yr
dd=Date.parse(futurestring)-Date.parse(todaystring)
dday=Math.floor(dd/(60*60*1000*24)*1)
dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1)
dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1)
dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1)
if(dday==0&&dhour==0&&dmin==0&&dsec==1){
document.forms.count.count2.value=current
return
}
else
document.forms.count.count2.value="Kun "+dday+ " dage, "+dhour+" timer, "+dmin+" min. og "+dsec+" sek. tilbage til "+before
setTimeout("countdown(theyear,themonth,theday)",1000)
}
//enter the count down date using the format year/month/day
countdown(2015,<?php echo $row_rsVare_Salg['vaegt']; ?>,<?php echo $row_rsVare_Salg['hoejde']; ?>)
</script>

Men når den når til det vil der komme en masse minusser. og det der ikke lige så optimalt. det ser nu noget dumt ud.

Er der en god If løsning, jeg kan ikke lige se hvordan jeg gør det med script.
Avatar billede Morten Professor
23. marts 2015 - 08:35 #10
<form name="count">
<input type="text" size="69" name="count2">
</form>

Manglede lige.
Avatar billede olsensweb.dk Ekspert
23. marts 2015 - 09:59 #11
>HAr lige et spørgsmål
jeg vil anbefale dig at lave en ny tråd med spørgsmålet, så andre kan bidrage, og man kan bruge E til videns database hvor man kan søge efter løsninger.
det er ikke særlig hensigtsmæssigt at skifte emne i en tråd.
mange af hjælperne her på E bliver temmelig ireterede over, "jeg har lige et ekstra spørgsmål", hold dig til subject, når spørgsmålet i subject er besparet lukkes tråden, og man skiller et nyt spørgsmål i en ny tråd, ellers sidder man som hjælper og tænker hvornår kan vi lukke denne tråd, og så springer man fra.

kort og godt: 1 spørgsmål -- 1 tråd.

derfor gav jeg kun et kort svar.

du er selvføgelig opmærksom på at JS kan ændres af brugeren:
alt dette kommer fra brugeren ur

var todaym=today.getMonth()
var todayd=today.getDate()
var todayh=today.getHours()
var todaymin=today.getMinutes()
var todaysec=today.getSeconds()

har du styr på hvad klokken er på mit ur ??, (svar nej)

som alternativ til AJAX kan nævnes websocket, eller måske server-side-events
prøv at google php websocket countdown
prøv at google server-side-events countdown

ref https://www.google.com/search?q=websocket
https://developer.mozilla.org/en-US/docs/WebSockets

ved websocket: serveren pusher data til clienten når der er noget
ved AJAX: clienten polller serveren om der er noget, og henter det ned

havde du været ASP mand skulle du bruge signalr istedet for websocket
http://signalr.net/
http://www.asp.net/signalr/videos/getting-started/signalr-and-web-sockets

NB: når man henter code fra andre sider så kom med en referance (link), det er god skik, og man kan måske finde yderligere info
det er meget typisk af en bruger (ingen nævnt/ingen glemt, folk må selv føle sig truffet) skriver "jeg har fundet denne code" !!, og så sidder man og tænker, "ehh ja, hvor kan jeg få mere info om coden", kunne også være andre fandt linket anvendeligt.
Avatar billede Morten Professor
23. marts 2015 - 19:57 #12
Hej ronols

Ja det er også rigtig.
Jeg undskylder mange gange, jeg skal nok huske det til en anden gang.
Ja den der med code man har fundet er en rigtig god ide, så kan andre her inde også bruge den.

Jeg takker mange gange for dit svar, så har jeg en del at gå efter.

Du er god til at hjælpe, og er glad for du vil hjælpe.
Jeg lover dig at blive en bedre bruger, her inde.

Med venlig hilsen
Morten
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester