Avatar billede delphiuser Mester
15. januar 2009 - 19:22 Der er 12 kommentarer og
1 løsning

hjælp til en blog

Hej eksperter...

Jeg sidder og arbejder lidt med et forum hvor jeg har nogle kategorier. den del virker fint. men mit problem er at de indlæg jeg lægger ind under mine kategorier vil ikke blive vist. jeg kan ikke rigtig finde ud af hvorfor.

her kommer min side hvor jeg skal have indlægende vist.

liste.php

<table border="0" width="600" cellpadding="0" cellspacing="0" align="center">
<tr>
    <td width="70" height="20" align="center">Dato</td>
    <td width="330" height="20" align="center">Overskrift</td>
    <td width="100" height="20" align="center">Navn</td>
    <td width="50" height="20" align="center">Stgr</td>
    <td width="50" height="20" align="center">Svar</td>
</tr>
<?php
*** $sql = mysql_query("select bid, title, dato, navn, stgr, cat from blog where cat='$cid' order by dato") or die(mysql_error());
if(mysql_num_rows($sql)) {
while($row1 = mysql_fetch_array($sql)) {
echo '<tr><td>'.$row1['dato'].'</td><td><a href="#">'.$row1['titel'].'</a></td><td>'.$row1['navn'].'</td><td>'.$row1['stgr'].'</td><td></td></tr>';
}
} else {
echo '<tr><td colspan="5" height="450" align="center" valign="middle">Det er ingen indlæg endnu...</td></tr>';
}
?>
</table>

*** der hvor jeg har dette stående cat='$cid' skulle gerne have gjort det at den skulle hente alle de indlæg som ligge i den kategori der hedder 1, 2, 3 osv. Men desværre har jeg bare en helt blank skærm. i får lige det link jeg bruger for at komme ind til den side der hedder liste.php

her er scriptet med linket i.

<?php
$sql = mysql_query("select * from blogcat order by cat") or die(mysql_error());
  if(mysql_num_rows($sql)) {
    while($row1 = mysql_fetch_array($sql)) {
        echo'<tr><td width="600"><a href="razzia.php?valg=liste$$cid='.$row1['cid'].'">'.$row1['cat'].'</a></td></tr>';
    }
} else {
    echo '<tr><td width="600" height="450" align="center" valign="middle">Der er ikke nogen indlæg endnu</td></tr>';
}
?>

jeg håber meget i kan hjælpe mig.

mvh. delphiuser
Avatar billede majbom Novice
15. januar 2009 - 20:12 #1
prøv at ret:

echo'<tr><td width="600"><a href="razzia.php?valg=liste$$cid='.$row1['cid'].'">'.$row1['cat'].'</a></td></tr>';

til:

echo'<tr><td width="600"><a href="razzia.php?valg=liste&cid='.$row1['cid'].'">'.$row1['cat'].'</a></td></tr>';
Avatar billede delphiuser Mester
15. januar 2009 - 22:22 #2
der kommer desværre ikke noget frem endnu? har jeg en fejl i min liste.php fil?`i php scriptet?
Avatar billede d_v Nybegynder
15. januar 2009 - 22:47 #3
Hvis du ikke har register_globals slået til.
Så skal du ændre:
$sql = mysql_query("select bid, title, dato, navn, stgr, cat from blog where cat='$cid' order by dato") or die(mysql_error());
til:
$sql = mysql_query("select bid, title, dato, navn, stgr, cat from blog where cat='" . $_GET['cid'] . "' order by dato") or die(mysql_error());

Dog vil den være unescaped, og derfor åben for sql injections. Så derfor bør du nok istedet skrive noget i stil med:

if (ctype_digit($_GET['cid']) {
$cid = $_GET['cid'];
} else {
$cid = 0;
}
$sql = mysql_query("select bid, title, dato, navn, stgr, cat from blog where cat='" . $_GET['cid'] . "' order by dato") or die(mysql_error());


Ved så heller ikke om de 3 stjerner foran $sql er bevidst... Men de burde ikke være der.
Avatar billede d_v Nybegynder
15. januar 2009 - 22:48 #4
typo fix:
if (ctype_digit($_GET['cid']) {
$cid = $_GET['cid'];
} else {
$cid = 0;
}
$sql = mysql_query("select bid, title, dato, navn, stgr, cat from blog where cat='" . $_GET['cid'] . "' order by dato") or die(mysql_error());

Skulle være:
if (ctype_digit($_GET['cid'])) {
$cid = $_GET['cid'];
} else {
$cid = 0;
}
$sql = mysql_query("select bid, title, dato, navn, stgr, cat from blog where cat='" . $_GET['cid'] . "' order by dato") or die(mysql_error());
Avatar billede delphiuser Mester
16. januar 2009 - 07:21 #5
der sker stadigvæk ikke noget. den kommer bare med blank skærm endnu... :-(
Avatar billede delphiuser Mester
16. januar 2009 - 07:23 #6
nu virker det. læg et svar begge to så kan i dele pointene...
Avatar billede delphiuser Mester
16. januar 2009 - 07:57 #7
Hvorfor vil den ikke vise min bid nu på min liste.php side?

<?php
$pagesize = 40; //Hvor mange brugere vi vil vise på hver side.

if (empty($_GET[start])) { // hvis $_GET[start] ikke er sat bliver $start 0 ellers $_GET[start]
$start = 0;
} else {
if (is_numeric($_GET[start])) {
$start = $_GET[start];
} else {
$start = 0;
}
}
$sql = mysql_query("select * from blog where cat='$cid' order by dato") or die(mysql_error());
if(mysql_num_rows($sql)) {
while($row1 = mysql_fetch_array($sql)) {
echo '<tr><td>'.$row1['dato'].'</td><td><a href="razzia.php?valg=visblog&&bid="'.$row1['bid'].'"" style="color:000066;">'.$row1['title'].'</a></td><td>'.$row1['navn'].'</td><td>'.$row1['stgr'].'</td><td></td></tr>';
}
} else {
echo '<tr><td colspan="5" height="450" align="center" valign="middle">Det er ingen indlæg endnu...</td></tr>';
}
$pages = ceil(mysql_num_rows(mysql_query("SELECT * from blog"))/$pagesize);
for ($i = 1; $i <= $pages; $i++) {
$startnow = $pagesize*$i;
$startnow = $startnow-$pagesize;
if ($startnow == $start) {
$sidehtml .= "<a href='razzia.php?valg=liste&&start=$startnow' style=\"color:000066;\">$i </a>";
}else{
$sidehtml .= "<a href='razzia.php?valg=lista&&start=$startnow' style=\"color:000066;\">$i </a>";
}
}
echo "Gå til side: ".$sidehtml;
?>
Avatar billede majbom Novice
16. januar 2009 - 11:03 #8
$sidehtml .= "<a href='razzia.php?valg=lista&&start=$startnow' style=\"color:000066;\">$i </a>";

hvorfor er det at du bruger 2 && foran dine variabler? der skal kun være 1.
Avatar billede delphiuser Mester
16. januar 2009 - 12:18 #9
splazz har jeg lave en fejl i denne del. for den vil ikke hente min bid fra min blog tabel

$sql = mysql_query("select * from blog where cat='$cid' order by dato") or die(mysql_error());
if(mysql_num_rows($sql)) {
while($row1 = mysql_fetch_array($sql)) {
echo '<tr><td>'.$row1['dato'].'</td><td><a href="razzia.php?valg=visblog&bid="'.$row1['bid'].'"" style="color:000066;">'.$row1['title'].'</a></td><td>'.$row1['navn'].'</td><td>'.$row1['stgr'].'</td><td></td></tr>';
}
} else {
echo '<tr><td colspan="5" height="450" align="center" valign="middle">Det er ingen indlæg endnu...</td></tr>';
}
Avatar billede majbom Novice
16. januar 2009 - 13:00 #10
du skal nok bruge $_GET-array'et, for at få fat i din $cid:

$sql = mysql_query("select * from blog where cat='$_GET[cid]' order by dato") or die(mysql_error());
Avatar billede majbom Novice
16. januar 2009 - 13:00 #11
skulle d_v ikke have haft de 30 point?
Avatar billede d_v Nybegynder
16. januar 2009 - 15:17 #12
Åbenbart ikke :-P
Avatar billede majbom Novice
17. januar 2009 - 08:14 #13
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