Avatar billede jalmer Nybegynder
10. august 2003 - 11:23 Der er 13 kommentarer og
1 løsning

Kan ikke finde på if - sætning

Jeg har et lille nyhedssystem med billeder som jeg skal have gjort lidt mere avanceret.
I indsendelsesformularen skal man nemlig uploade 4 billeder, og hvis man ikke gør det, viser fremkaldelsessiden bare 4 billeder uden noget i (det er jo klart). Billedernes navn bliver gemt i databasen, i hvert deres felt. Altså billede1, billede2, billede3, og billede4.
I får lige fremkaldesessiden:

<?php
      $id = $_REQUEST["id"];
      if(isset($id)) {
        mysql_connect("localhost", "user", "pass")
        or die("could not connect");
        mysql_select_db("database")
        or die("could not select database");
        $result = mysql_query("SELECT * FROM nyheder WHERE id='".$id."'");
    while ($row = mysql_fetch_array($result)) {
    if(Hvis der er angivet billedenavn) {
    extract($row);
      echo"
      <h3>$titel</h3><br>
      <b>$undertitel</b><br>
      <p>$nyhed</p><br>
      <a target='blank' href='screens/".$billede1."'><img height='75' width='75' src='screens/".$billede1."'></img></a>&nbsp;<a target='blank' href='screens/".$billede2."'><img height='75' width='75' src='screens/".$billede2."'></img></a>&nbsp;<a target='blank' href='screens/".$billede3."'><img height='75' width='75' src='screens/".$billede3."'></img></a>&nbsp;<a target='blank' href='screens/".$billede4."'><img height='75' width='75' src='screens/".$billede4."'></img></a>
      <p>Kilde: $kilde</p>
      <p>Skribent: $skribent</p>
";
}
}
}
        else {
    $result = mysql_query("SELECT * FROM nyheder WHERE id='".$id."'");
    $entry = mysql_fetch_object($result);       
    echo"
    <h3>$entry->titel</h3><br>
    <b>$entry->undertitel</b><br>
    <p>$entry->nyhed</p><br>
        <p>Kilde: $entry->kilde</p>
    <p>Skribent: $entry->skribent</p>
    ";
}

Som sagt har jeg ikke if sætningen...
Avatar billede dash Nybegynder
10. august 2003 - 11:27 #1
hvad med at tjekke længden af strengen, der skulle angive navnet på billedet.
if(strlen($row[x]!=0) {

}
Avatar billede jalmer Nybegynder
10. august 2003 - 11:51 #2
Er du sikker på den skal være lig med 0 når det er et navn der skal udfyldes?
For i feltet kommer der jo fx til at stå "kat34.jpg"
Avatar billede jalmer Nybegynder
10. august 2003 - 11:55 #3
den siger Parse error: parse error, unexpected '{' in /customers/thegameviewer.dk/thegameviewer.dk/httpd.www/TGV3.0/vis_nyhed.php on line 173
hvis jeg bruger din if sætning
Avatar billede detox Nybegynder
10. august 2003 - 12:13 #4
Der mangler en afsluttende parentes:
if(strlen($row[x]) != 0) {

}
Avatar billede detox Nybegynder
10. august 2003 - 12:15 #5
Ellers kan du måske bruge:

if ($row[x] != "") {

}
Avatar billede dash Nybegynder
10. august 2003 - 12:19 #6
strlen(string s) returnerer længden af den valgte streng s. Derfor skal den være ulig 0, hvis der står noget i feltet - og brugeren altså har angivet et billede
Avatar billede jalmer Nybegynder
10. august 2003 - 13:59 #7
nu hedder if sætningen:
if(strlen($row[billede1]) != "0")
og der står tallet 0 i feltet billede1, men alligevel vil den vise et billede, som jo ikke er der...
Avatar billede cyfer Nybegynder
10. august 2003 - 15:20 #8
Det er jo klart.... Lav dog det sådan her..:

if ($row[billede1] != "") {
echo 'det som skal vises hvis der er et billede';
} else {
echo 'det som skal vises når der IKKE er noget billede';
}


Så skal standard værdien i din database med billede1 bare være NULL, så der intet kommer til at stå ¨når der intet billede bliver uploaded.....

Håber ikke det var for kompliceret forklaret :P

Mvh. Christoffer
Avatar billede jalmer Nybegynder
10. august 2003 - 16:40 #9
den sidste hjælper heller ikke noget, selvom jeg laver det på din måde. Den vil vise billeder uanset om man har udfyldt navnefeltet eller ej...
Avatar billede cyfer Nybegynder
10. august 2003 - 16:50 #10
Tag lige et screenshot af din database.... 1 af strukturen og et af posterne....

Og så tag din "fremkaldesesside" (som du kaldte den) og kopier den... Lav derefter filtypen om fra .php til .phps og upload den og smid URL her...

Så skal jeg se nærmere på det!
Avatar billede jalmer Nybegynder
10. august 2003 - 17:34 #11
bare kig løs: www.thegameviewer.dk/vis_nyhed.phps
screen med post uden billede: www.thegameviewer.dk/udenbillede.jpg
screen af struktur: www.thegameviewer.dk/struktur.jpg
screen af post med billede: www.thegameviewer.dk/medbillede.jpg
Avatar billede cyfer Nybegynder
10. august 2003 - 17:45 #12
udenbillede......
ka godt forstå det ikke virker... Du har ikke sat den til default NULL
du skal lave den til default NULL, sådan at der er kryds i nulværdi

Forstår du ?

Altså prøv at tage et dump, så ka du se det...
Det skal være
`billede1` varchar(150) default NULL
Avatar billede cyfer Nybegynder
10. august 2003 - 17:47 #13
Hvis du stadig ikke kan få det til at virke, så kontakt mig på:

msn: cyfer_offer@hotmail.com
icq: 36946323
Avatar billede cyfer Nybegynder
10. august 2003 - 19:07 #14
Jamen mange tak for points....

Forklaring på problemet:
Hvis i prøver at læse hans kode igennem, vil i opdage at:
1: den er meget rodet og uigennemskuelig
2: han bruger en masse funktioner som ikke hører hjemme der
3: forkert tegnsætning
4: behøver jeg nævne mere.....

Så jeg rensede alt koden ren for snavs, og lavede det i korrekt php kodning, og så funkede det!

Cya all around, CyFeR^ signing out!
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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