/ Forside/ Teknologi / Udvikling / PHP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Dato
Fra : Kokane
Vist : 790 gange
100 point
Dato : 23-02-07 21:36

Jeg har ikke den store forstand på PHP, så i stedet for at lave et nyhedssystem har jeg lånt et her: http://www.phpuniverset.dk/show_source.phtml?script_id=65

Jeg har rettet nyhedssystemet til så det passer til denne side: www.dengulefar.dk

Jeg har dog dette problemer:

Nyhederne vises ikke med dato. PHP koden ser således ud:

<?php
$connect = mysql_connect("localhost","X","X");
mysql_select_db("X");

$query = mysql_query("SELECT * FROM news ORDER BY id DESC");
while ($row = mysql_fetch_array($query)){

echo "<font face=verdana size=1 color=gray><table height=150 width=300><td><img src=\"billedere/$row[billede]\" border=1 height=114 width=100></td><td><font face=verdana size=1 color=gray>";
echo substr($row["tekst"], 0, 50);
echo "...
<br>Skrevet af <b><font face=verdana size=1 color=gray>$row[navn]</b> d. <b><font face=verdana size=1 color=gray>$row[dato]</b><br><a href=vis_en.php?id=$row[id]><i>Læs mere her..</i></a><br><br><br><br><br></td></table><hr style=border: 1 dotted gray size=1 color=gray><br>";
}
?>

Er der nogen der ved hvorfor det ikke virker?

Jeg har endnu et problem! Når jeg opretter en lang nyhed, så vises kun dele af den! Se evt. den nyhed jeg har laget op på siden.

Håber der er nogen der kan give gode råd.

VH
Kokane

 
 
Kommentar
Fra : molokyle


Dato : 23-02-07 23:37

Nu er jeg bestemt ikke ekspert i PHP, men jeg kan da se du har vrøvl med dine echo kommentarer:
Citat
Webgeek - Nyhedsystem

--------------------------------------------------------------------------------
"; echo substr($row["tekst"], 0, 50); echo "...
Skrevet af $row[navn] d. $row[dato]
Læs mere her..





--------------------------------------------------------------------------------

"; } ?> Søg - Vis nyheder - Admin


..mig bekendt skal PHP kode parses ...ikke udskrives på siden med echo "..."

</MOLOKYLE>

Kommentar
Fra : molokyle


Dato : 23-02-07 23:43

Prøv f.eks. at benytte enkelte anførselstegn i:
Kode
<img src=\"billedere/$row[billede]\" border=1 height=114 width=100></


..i stedet for at escape med \" ..ellers må det da gå galt ..tror jeg?

..og skal:
Kode
substr($row["tekst"], 0, 50);


..ikke også være uden dobbelte anførselstegn?

</MOLOKYLE>

Kommentar
Fra : Kokane


Dato : 24-02-07 16:02

Hej </MOLOKYLE>,
tak for dit svar.

hvad mener du med parses?
Jeg har læst dette, men er stadig ikke helt med på havd du mener.

Jeg har ændret koden de to steder du har anvist det, så den nu ser således ud:

<?php
$connect = mysql_connect("localhost","X","X");
mysql_select_db("X");

$query = mysql_query("SELECT * FROM news ORDER BY id DESC");
while ($row = mysql_fetch_array($query)){

echo "<font face=verdana size=1 color=gray><table height=150 width=300><td><img src='billedere/$row[billede]' border=1 height=114 width=100></td><td><font face=verdana size=1 color=gray>";
echo substr($row['tekst'], 0, 50);
echo "...
<br>Skrevet af <b><font face=verdana size=1 color=gray>$row[navn]</b> d. <b><font face=verdana size=1 color=gray>$row[dato]</b><br><a href=vis_en.php?id=$row[id]><i>Læs mere her..</i></a><br><br><br><br><br></td></table><hr style=border: 1 dotted gray size=1 color=gray><br>";
}
?>

VH
Kokane

Kommentar
Fra : Kokane


Dato : 24-02-07 16:05

NY.....nu med link!

Hej </MOLOKYLE>,
tak for dit svar.

hvad mener du med parses?
Jeg har læst dette, men er stadig ikke helt med på havd du mener - http://en.wikipedia.org/wiki/Parsing

Jeg har ændret koden de to steder du har anvist det, så den nu ser således ud:

<?php
$connect = mysql_connect("localhost","X","X");
mysql_select_db("X");

$query = mysql_query("SELECT * FROM news ORDER BY id DESC");
while ($row = mysql_fetch_array($query)){

echo "<font face=verdana size=1 color=gray><table height=150 width=300><td><img src='billedere/$row[billede]' border=1 height=114 width=100></td><td><font face=verdana size=1 color=gray>";
echo substr($row['tekst'], 0, 50);
echo "...
<br>Skrevet af <b><font face=verdana size=1 color=gray>$row[navn]</b> d. <b><font face=verdana size=1 color=gray>$row[dato]</b><br><a href=vis_en.php?id=$row[id]><i>Læs mere her..</i></a><br><br><br><br><br></td></table><hr style=border: 1 dotted gray size=1 color=gray><br>";
}
?>

VH
Kokane

Kommentar
Fra : molokyle


Dato : 24-02-07 22:23

Med koden skal 'parses' ..mener jeg : Udføres på serveren.

Koden skal ikke blot gengives/udskrives på skærmen.

Jeg kan kode, men kender ikke det store til PHP. Dog ved jeg dette:

I (X-)HTML og Javascript for eksempel; skal nestede (indlejrede) anførselstegn veksle mellem enkelte og dobbelte for ikke at escape's (..eller afsluttes om du vil?).

Eks.1 :
Kode
<img src="BILLEDE.jpg" style="border:thin solid #000;;" onmouseover="this.style.border="medium double #6c6;"" onmouseout="this.style.border="thin solid #000;"" alt="MIT_BILLEDE">


..skal omskrives til;
Eks.2 :
Kode
<img src="BILLEDE.jpg" style="border:thin solid #000;;" onmouseover="this.style.border='medium double #6c6;'" onmouseout="this.style.border='thin solid #000;'" alt="MIT_BILLEDE">


..bemærk brugen af indlejrede anførselstegn.

Første Eks.1 ikke virker, men at Eks2. gør.

</MOLOKYLE>

Kommentar
Fra : molokyle


Dato : 24-02-07 22:25

UPS.... eksemplet er godt nok, men for at validere som XHTML er den korrekte kode:

Kode
<img src="BILLEDE.jpg" style="border:thin solid #000;" onmouseover="this.style.border='medium double #6c6;'" onmouseout="this.style.border='thin solid #000;'" alt="MIT_BILLEDE" />


Accepteret svar
Fra : ajuul

Modtaget 100 point
Dato : 17-04-07 15:56

Kære alle.
Jeg har rettet det til så det (burde) virke:
Det er som nævnt af andre bare et anførselstegn-problem - et godt råd er, at hvis man inde i sin sætning har tænkt sig at bruge "-tegn, så omslut det hele med '-tegn.

- Anders

<?php
$connect = mysql_connect("localhost","X","X");
mysql_select_db("X");

$query = mysql_query("SELECT * FROM news ORDER BY id DESC");
while ($row = mysql_fetch_array($query)){

echo '<font face=verdana size=1 color=gray><table height=150 width=300><td><img src="billedere/'.$row["billede"].'" border=1 height=114 width=100></td><td><font face=verdana size=1 color=gray>'.substr($row["tekst"], 0, 50).'...
<br>Skrevet af <b><font face=verdana size=1 color=gray>'.$row["navn"].'</b> d. <b><font face=verdana size=1 color=gray>'.$row["dato"].'</b><br><a href=vis_en.php?id='.$row["id"].'><i>Læs mere her..</i></a><br><br><br><br><br></td></table><hr style=border: 1 dotted gray size=1 color=gray><br>';
}
?>


Godkendelse af svar
Fra : Kokane


Dato : 15-05-07 20:22

Tak for svaret ajuul.

Kommentar
Fra : molokyle


Dato : 15-05-07 21:01

Citat
et godt råd er, at hvis man inde i sin sætning har tænkt sig at bruge "-tegn, så omslut det hele med '-tegn.


Ja ....eller omvendt

Ved dobbelt anførselstegn indlejret i dobbelte anførselstegn er metoden normalt:

..at omslutte koden med dobbelte " ..og indlejre med enkelte ' ...evt. med brug af escape karaktererne; \" ..eller \'

</MOLOKYLE>



Kommentar
Fra : ajuul


Dato : 20-05-07 21:40

Hej Molokyle.
Det er nemli' rigtigt, det der med \"; men tjek lige en sætning som den her:
echo "\"Korrekt udført af <span style=\"font-size=10pt\">".$p["navn"]."\"</span>." ...
Det er ikke ligefrem nemt at læse.
Derfor lad mig lige vise en sidste metode:

echo <<<TEKST
"Korrekt udført af <span style="font-size=10pt">$p["navn"]</span>"
TEKST;

Det ser nok mest overskueligt ud programmeringsmæssigt...

ajuul

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste