Avatar billede pykzdk Nybegynder
28. februar 2013 - 15:37 Der er 8 kommentarer og
1 løsning

Hjælp til if fuktion og æøå

Har denne kode, men ville gerne have den kun skal vise nyheder der er blevet godkendt = ja
har også et problem med den ikke viser æøå fordi den er hostet på 000webhost har prøvet <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> i min head

<?
session_start(); // Starter Sessionen
include "../config.php"; // Includere config.php
$antal1 = mysql_query("SELECT * FROM nyheder ORDER BY id DESC") or die(mysql_error());
$antal2 = mysql_num_rows($antal1);
print "Der er <b>$antal2</b> Nyheder ialt.";
mysql_set_charset('utf8');


$admin = $_SESSION["admin"]; // Forkorter sessionen admin
$pr_side = 5;
$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM nyheder"),0) or die(mysql_error());
$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0;
$query = mysql_query ("SELECT * FROM nyheder ORDER BY id DESC limit $vis_fra, $pr_side") or die(mysql_error());
while ($row = mysql_fetch_array($query)) { // Henter alt info fra tabellen nyheder
if($row['godkendt']==ja)

?>
<table border="1" width="400" height="150" bgcolor="#F6F9FB" bordercolor="#E1E1E1" cellpadding="2" style="border-collapse: collapse">
</div>
<tr>
<td height="100" width="100">
<?
echo "<img src='filer/$row[billede]' width='100' height='100' />";
?>
<br></a>
</td>
<td height="100" width="350">
<?
echo "<h2>";
echo "$row[overskrift]";
echo "</h2>";
echo "<a href='nyhed-vis.php?id=$row[id]'>";
echo htmlentities(substr(trim($row['nyhed']), 0, 350));
echo "...[laes mere]</a>";

if (admin==$admin){ // Hvis man er admin viser den
echo "<hr>";
echo "<a href='nyhed-ret.php?id=$row[id]'><img src='../billeder/change.png'></a>";
echo "&nbsp;";
echo "<a href='nyhed-slet.php?id=$row[id]'><img src='../billeder/delete.png'></a>";
echo "<hr>";
}
?>
</td>
</tr>
<tr>
<td height="20" width="450" colspan="2">
<?

?>
<? echo "Skrevet af:";

echo "<a href='profil.php?brugernavn=$row[navn]'><font color='#FF0000'>$row[navn]</font></a>";
echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
echo "Dato:";
echo "$row[dato]"?>

</td>
</tr>
</table>
<?
echo "<br><br><br><br>";
}

?>
<center>
<?php
mysql_set_charset('utf8');
if ($vis_fra > 0) {
$back= $vis_fra - $pr_side;
echo "<a href='?visfra=$back'>Forrige</a> ";
}
$page = 1;
for ($start = 0; $antal > $start; $start = $start + $pr_side) {
if($vis_fra != $page * $pr_side - $pr_side) {
echo "<a href='?visfra=$start'>$page</a> ";
} else {
echo $page." ";
}
$page++;
}
if ($vis_fra < $antal - $pr_side) {
$next = $vis_fra + $pr_side;
echo " <a href='?&visfra=$next'>Naeste</a>";
}
?>
</center>
Avatar billede olebole Juniormester
28. februar 2013 - 16:32 #1
<ole>

Det her sikkert intet med din host at gøre  =)

Alle dokumenter skal være gemt som utf-8. Det styrer du gennem din editor.

Din database skal være sat til utf-8 - og dine tabelkollationer skal være sat til utf8_danish_ci. (Hvis du ændrer dette, ændres bestående data i databasen ikke. Det virker kun på nyt indhold).

Og så skal du naturligvis bruge den meta, du viser i spørgsmålet.

/mvh
</bole>
Avatar billede pykzdk Nybegynder
28. februar 2013 - 17:00 #2
Tak det virker nu har ændret databasen til danish.
Kan du hjælpe med min if godkendt = ja, får ingen fejl koder den viser bare alle nyhederne
Avatar billede olebole Juniormester
28. februar 2013 - 17:17 #3
Ja, der skal formodentlig stå:

if($row['godkendt']=='ja') {

- men hvor slutklammen skal sættes, ved jeg ikke. Det ved kun du  =)

Derudover bør du hurtigts muligt skifte din databasekode ud med noget mindre forældet - f.eks. PDO eller MySQLI. Og med al respekt, så er din HTML-kode også temmelig 'antik'  =)
Avatar billede pykzdk Nybegynder
28. februar 2013 - 18:14 #4
Er igang med at tjekke op på mysqli, eller vil du hellere anbefale PDO?

Nu er der ikke meget html i denne kode, men jeg er jo også en gammel orginal så kan ikke rigtig se hvor problemet er.



får denne fejl : Parse error: syntax error, unexpected '}', expecting ',' or ';' in /home/index.php on line 86

hvilket jo betyder at min slutklamme skal være i samme <? ?> som if funktionen men kan jo ikke echo mine tables ?
ny opdateret kode:

<?
session_start(); // Starter Sessionen
include "../config.php"; // Includere config.php
$antal1 = mysql_query("SELECT * FROM nyheder ORDER BY id DESC") or die(mysql_error());
$antal2 = mysql_num_rows($antal1);
print "Der er <b>$antal2</b> Nyheder ialt.";
mysql_set_charset('utf8');


$admin = $_SESSION["admin"]; // Forkorter sessionen admin
$pr_side = 5;
$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM nyheder"),0) or die(mysql_error());
$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0;
$query = mysql_query ("SELECT * FROM nyheder ORDER BY id DESC limit $vis_fra, $pr_side") or die(mysql_error());
while ($row = mysql_fetch_array($query)) { // Henter alt info fra tabellen nyheder
if($row['godkendt']=='ja') {


?>
<table border="1" width="400" height="150" bgcolor="#F6F9FB" bordercolor="#E1E1E1" cellpadding="2" style="border-collapse: collapse">
</div>
<tr>
<td height="100" width="100">
<?
echo "<img src='filer/$row[billede]' width='100' height='100' />";
?>
<br></a>
</td>
<td height="100" width="350">
<?
echo "<h2>";
echo "$row[overskrift]";
echo "</h2>";
echo "<a href='nyhed-vis.php?id=$row[id]'>";
echo htmlentities(substr(trim($row['nyhed']), 0, 350));
echo "...[laes mere]</a>";
?>
</td>
</tr>
<tr>
<td height="20" width="450" colspan="2">
<?

?>
<? echo "Skrevet af:";

echo "<a href='profil.php?brugernavn=$row[navn]'><font color='#FF0000'>$row[navn]</font></a>";
echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
echo "Dato:";
echo "$row[dato]"
}
?>

</td>
</tr>
</table>
<?
echo "<br><br><br><br>";
} -----------------------------------SLUTKLAMME HER
?>
<center>
<?php
mysql_set_charset('utf8');
if ($vis_fra > 0) {
$back= $vis_fra - $pr_side;
echo "<a href='?visfra=$back'>Forrige</a> ";
}
$page = 1;
for ($start = 0; $antal > $start; $start = $start + $pr_side) {
if($vis_fra != $page * $pr_side - $pr_side) {
echo "<a href='?visfra=$start'>$page</a> ";
} else {
echo $page." ";
}
$page++;
}
if ($vis_fra < $antal - $pr_side) {
$next = $vis_fra + $pr_side;
echo " <a href='?&visfra=$next'>Naeste</a>";
}
?>
Avatar billede chriz7913 Nybegynder
28. februar 2013 - 22:06 #5
Hvis vi kigger på din kode:

......

echo "                 ";
echo "Dato:";
echo "$row[dato]"  <----------- Mangler du et ; her
}
?>

</td>
</tr>
</table>
<?
echo "<br><br><br><br>";
} -----------------------------------SLUTKLAMME HER
?>
<center>
<?php

....


Derfor du får fejlen
syntax error, unexpected '}', expecting ',' or ';'
Avatar billede pykzdk Nybegynder
01. marts 2013 - 15:46 #6
Den havde jeg slet ikke set, perfekt tak for hjælpen Ole og Chriz det virker perfekt nu læg et svar hver :)
blev desværre aldrig klogere på mysqli syntes godt nok det ser forvirrende ud og faktisk ikke særlig mange der kan finde ud af og bruge det
Avatar billede olebole Juniormester
01. marts 2013 - 17:28 #7
Ellers tak, jeg samler ikke point, så de må være chriz7913's  =)

Der er faktisk ikke ret mange, som ikke kan finde ud af MySQLI - og de få tilbageværende, kommer frygteligt på spanden, når MySQL-API'et som planlagt helt forsvinder fra PHP i en af de næste versioner. MySQLI er såmænd ikke mere kompliceret end MySQL  =)
Avatar billede chriz7913 Nybegynder
01. marts 2013 - 18:41 #8
Synes det var olebole der gav dig svaret, så hvis ikke han vil have pointene, snupper du dem bare selv :)
Avatar billede pykzdk Nybegynder
01. marts 2013 - 18:46 #9
Jamen jeg siger tak for super hjælpsomme svar.
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



IT-JOB

Cognizant Technology Solutions Denmark ApS

Azure Architect

Aller Media A/S

Fullstack Developer

Normann Copenhagen ApS

Product Data Specialist

AURA A/S

IT-administrator