Avatar billede zaittam Nybegynder
28. juni 2004 - 11:20 Der er 17 kommentarer og
1 løsning

CMS system med kategori

Se selve fejlen her: http://pia.zaittam.dk/

Jeg har min menu, hvor jeg gerne vil have så jeg kan putte de forskellige sider puttet i hver deres kategori. Til formålet har jeg i min tabel hvor jeg tilføjer siderne, lavet en ekstra kolonne der hedder menukat.

Jeg vil så have min side til at selecte alle menulinksne der hører til den kategori man lige er igang med at udføre, altså så jeg kan proppe de forskellige sider i forskellige tabeller i menuen.

Jeg har følgende kode til formålet:

<?
$query1 = mysql_query("SELECT menukat FROM zaiCMS_cms");
while($row = mysql_fetch_array($query1)) {
?>
<tr>
<td class="unnamed3"><p><strong>&nbsp;<?=$row[menukat]?><br></strong>
<?
$query3 = mysql_query("SELECT * FROM zaiCMS_cms WHERE forside='0'");
while($row = mysql_fetch_array($query3)) {
echo "<a href='side.php?id=$row[id]' target='_self'>$row[menu]</a><br>";
?>
                    </p>
                    </td>
                </tr>
<?
}
}
?>

Hvorfor laver den så meget rav i den?
Avatar billede dennismp Nybegynder
28. juni 2004 - 12:14 #1
du vælger alle rækker fra din tabel.. Lad os sige 10 stks.. I denne løkke vælger du så alle rækker hvor forside='0'. Hvis der er to rækker (hvor forside='0') bliver dette altså gentaget 10 gange..  Skal den nyderste sql ikke stå udenfor den første while() ?
Avatar billede zaittam Nybegynder
28. juni 2004 - 12:21 #2
Er du sikker på at du har forstået hvad jeg vil lave? Derfor skal den ikke udenfor..
Avatar billede dennismp Nybegynder
28. juni 2004 - 12:25 #3
Nej - for jeg forstår ikke spørgsmålet rigtigt, så jeg gætter.

Nyt gæt: Hvis problemet er, at den gentager kategorien så prøv:

$query1 = mysql_query("SELECT distinct menukat FROM zaiCMS_cms");
Avatar billede zaittam Nybegynder
28. juni 2004 - 12:27 #4
Så er vi ved at være der :)

Nu skal den så bare lige putte de enkelte links ind i deres kategorier.

http://pia.zaittam.dk/
Avatar billede voirsous Nybegynder
28. juni 2004 - 12:32 #5
Lige en ting, ville det ikke være en gode ide at skrive menu strukturen til en selvstændig fil ex. menu.php, hver gang hun opdatere menuen. For som jeg ser det er der ingen grund til at hente den ud hver gang?
Avatar billede dennismp Nybegynder
28. juni 2004 - 12:34 #6
prøv at rette indereste loop til

$query3 = mysql_query("SELECT * FROM zaiCMS_cms WHERE menukat='{$row['menukat']}'");
Avatar billede voirsous Nybegynder
28. juni 2004 - 12:37 #7
Ville det ikke være en god ide at skrive menu strukturen til en selvstændig fil. SÅ slipper du for at hente den ud hele tiden - for jeg regner ikke med den bliver opdateret flere gange dagligt? :)

Vh. Casper
Avatar billede voirsous Nybegynder
28. juni 2004 - 12:37 #8
hov troede ikke min første post var kommet med :)
Avatar billede zaittam Nybegynder
28. juni 2004 - 12:57 #9
Det med query3 hjalp ikke..:S

voirsous - det er netop derfor den ikke ligger i en selvstændig :) På min egen (zaittam.dk) ligger menuen i en selvstændig fil, men det er nu fordi jeg har så jeg kan flytte den fra højre til venstre og omvendt..:)
Avatar billede zaittam Nybegynder
28. juni 2004 - 12:57 #10
Andre forslag?
Avatar billede dennismp Nybegynder
28. juni 2004 - 13:06 #11
Hvad er der galt med den? Du giver mig ikke meget at arbejde med :-)

Skal den vise

kategori1
- menu1
- menu2
- menu3
kategori2
- menu1
- menu2
- menu3

.. osv ?
Avatar billede zaittam Nybegynder
28. juni 2004 - 13:49 #12
Jeps! Og den skal så hente kategorierne udfra hvad der er angivet ved menupunkterne.. (altså menu1, 2 og 3) :)
Avatar billede dennismp Nybegynder
28. juni 2004 - 13:55 #13
ok, jeg prøver lige fra bunden af.. Så må du fortæller mig hvad der er forkert (udover designet mangler):
<?php
$query1 = mysql_query("SELECT * FROM zaiCMS_cms ORDER BY menukat ");

$glkat = '';
while($row = mysql_fetch_array($query1)) {
  if( $glkat != $row['menukat'] ) {
    print "KATEGORI: {$row['menukat']}<br/>";
    $glkat = $row['menukat'];
  }

  echo "<a href='side.php?id={$row['id']}' target='_self'>{$row['menu']}</a><br>";
}
?>

hvorfor har du den forside='0' ?
Avatar billede zaittam Nybegynder
28. juni 2004 - 13:57 #14
Fordi at forsiden har forside=1 og vises i en anden menu
Avatar billede dennismp Nybegynder
28. juni 2004 - 14:06 #15
så skal du lige rette
$query1 = mysql_query("SELECT * FROM zaiCMS_cms ORDER BY menukat WHERE forside='0'");

men er det helt i skoven?
Avatar billede zaittam Nybegynder
28. juni 2004 - 14:09 #16
Efter rettelse af den sidste query du lige skrev, funker det udmærket :) Flyttede lige WHERE om foran ORDER :P

Tak skal du have!
Avatar billede zaittam Nybegynder
28. juni 2004 - 14:09 #17
I need a svar..
Avatar billede dennismp Nybegynder
28. juni 2004 - 14:13 #18
ooops :-)
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