Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [PHP] Pagina opbouwen (https://forum.scholieren.com/showthread.php?t=152091)

chatfreak2002 07-07-2002 15:02

[PHP] Pagina opbouwen
 
Voor ForumFAQ.

Ik heb nu voor elk subforum een aparte map met een aparte index.php. Nu wil ik alles veranderen zodat het onderhouden ook VEEL makkelijk (moet) worden.

Ik wil dus af van al die mappen, maar ik wil gebruik gaan maken van het bestand showforum.php

In mijn database zit een kolom "subforum". Ik heb alle fora afgekort tot 2 letters. (Software En multimedia wordt dus SM).

Nou wil ik het zo hebben dat als ik dit intyp: "showforum.php?subforum=SM" dat ik dan een lijst krijg met alle FAQ`s die er zijn voor dat forumonderdeel.

Ik heb al veel zitten proberen maar ik kom er niet uit. Wie heeft er tips voor mij of een pasklare oplossing?

(Als je meer info wilt hebben, vraag er dan even om.)

eddie 07-07-2002 15:30

huh?

toch gewoon
select topic form subforum where subforum = $subforum


Of snap ik je niet?

eddie 07-07-2002 15:53

1) Waarom geef je de TD's dezelfde achtergrondkleur en align als de TR?
2) Zelfde voor de font color...
3) welk bestand is dit? Als dit showforum is, gaat het fout, omdat de links die je maakt wijzen naar showforum...

Die links zou je dan bijv showvraag?id=$vraag ofzo kunnen maken

chatfreak2002 07-07-2002 16:26

1) Waarom geef je de TD's dezelfde achtergrondkleur en align als de TR? [Layout is zo overgenomen van S.com]
2) Zelfde voor de font color... [ach, ook van s.com overgenomen]
3) welk bestand is dit? Als dit showforum is, gaat het fout, omdat de links die je maakt wijzen naar showforum... [Dit is idd showforum, ik moet dus op mijn index.php die ene regel invoegen?]

eddie 07-07-2002 17:10

wat je zou kunnen doen, is het volgende:
Bij elke link roep je de index.php aan, met minimaal een action.

Bijvoorbeeld: index.php?action=showforum
Wanneer je als actie 'showforum' hebt, in de index.php het bestand showforum.php includen. Van hieruit de rest van de pagina opbouwen.

Bijvoorbeeld (php is niet mijn sterkste punt...):
index.php
PHP-code:

if ( $action == 'showforum' ){ include 'showforum.php';}
elsif $action == 'showfaq' ){ include 'showfaq.php';} 

showforum.php:
PHP-code:

$query*=*"SELECT * FROM forum WHERE forum=".$forumid

showfaq.php:
PHP-code:

$query*=*"SELECT * FROM faq WHERE faq=".$faqid

een link heeft dus zowieso een action, en daarnaast een forumid of faqid, afhankelijk van de actie.

dus
index.php?action=showforum&forumid=SM
index.php?action=showfaq&faqid=22

Hopelijk snap je het :)

[edit]
require veranderd in include :o
[/edit]

chatfreak2002 07-07-2002 17:20

Citaat:

eddie schreef:
Hopelijk snap je het :)
niet helemaal.

Ik zit op mijn index.php met 2 tabellen. 1 tabel waar alle faq`s in staan en 1 tabel met namen + afkortingen van de FAQ`s.

Hoe/waar moet ik die functie dan invoegen/veranderen?

Dit is mijn index.php op dit moment:

PHP-code:

<!-- Invoegen van de header -->
<?
include "/home/endoria/freak/public_html/ZZFAQZZ/data/indeling/header.php";
?>
<!-- / Invoegen van de header -->


    
<!-- Invoegen van het logo -->

<TABLE cellSpacing=0 cellPadding=0 width=630 align=center bgColor=#455c92 border=0>
    <TR>
            <TD width=1 bgColor=#455c92><IMG src=data/afbeeldingen/header.png></TD>
    </TR>
</TABLE>

<!-- / Invoegen van het logo -->

    
<!-- Opbouwen van de tabel  -->

<TABLE cellSpacing=0 cellPadding=0 width=630 align=center bgColor=#455c92 border=0>
 <TR><TD bgColor=#fad850>&nbsp;</TD><TD bgColor=#eac840>&nbsp;</TD></TR>



<?
include "dbconfig.php";
mysql_connect($dbhost, $dbuser, $dbpassword);
$query = "SELECT * FROM fora order by afdeling DESC";
$result = mysql_db_query($dbname2, $query) or die("Queryfout: " . mysql_error());


if ($result)
{
    while ($row = mysql_fetch_array($result))
        {
            $afdeling  = $row["afdeling"];
            $afkorting  = $row["afkorting"];
            $forum  = $row["forum"];
       
        echo "

    <TR vAlign=top>
        <TD vAlign=top bgColor=#fad850 width=25><IMG height=20 src=http://forum.scholieren.com/images/on.gif width=26 border=0></TD>
          <TD bgColor=#eac840><A href=http://chatfreak.endoria.net/FAQ/$afkorting><FONT 
            class=nf><B>$forum</B></FONT></A></TD>
    </TR>
 <TR><TD bgColor=#fad850>&nbsp;</TD><TD bgColor=#eac840>&nbsp;</TD></TR>
   
   ";
   
}


?>

</TABLE>


<!-- Afsluitende afbeelding -->
<TABLE cellSpacing=0 cellPadding=0 width=630 border=0>
    <TR>
        <TD vAlign=bottom align=left width=6><IMG height=12 src=http://forum.scholieren.com/images/footer.gif width=630></TD>
    </TR>
</TABLE> 
<!-- / Afsluitende afbeelding -->
    


<BR><P>



<!-- Invoegen van de footer -->
<?
include "/home/endoria/freak/public_html/ZZFAQZZ/data/indeling/footer.php";
?>
<!-- / Invoegen van de footer -->


eddie 07-07-2002 17:29

PHP-code:

<!-- Invoegen van de header -->
<?
include "/home/endoria/freak/public_html/ZZFAQZZ/data/indeling/header.php";
?>
<!-- / Invoegen van de header -->


    
<!-- Invoegen van het logo -->

<TABLE cellSpacing=0 cellPadding=0 width=630 align=center bgColor=#455c92 border=0>
    <TR>
            <TD width=1 bgColor=#455c92><IMG src=data/afbeeldingen/header.png></TD>
    </TR>
</TABLE>

<!-- / Invoegen van het logo -->

    
<!-- Opbouwen van de tabel  -->

<TABLE cellSpacing=0 cellPadding=0 width=630 align=center bgColor=#455c92 border=0>
 <TR><TD bgColor=#fad850>&nbsp;</TD><TD bgColor=#eac840>&nbsp;</TD></TR>



<?
---------------------------------------------
HIER JE INCLUDES INVOEGEN. 
De code die hier stond in 
showforum.php of showfaq zetten
---------------------------------------------
?>

</TABLE>


<!-- Afsluitende afbeelding -->
<TABLE cellSpacing=0 cellPadding=0 width=630 border=0>
    <TR>
        <TD vAlign=bottom align=left width=6><IMG height=12 src=http://forum.scholieren.com/images/footer.gif width=630></TD>
    </TR>
</TABLE> 
<!-- / Afsluitende afbeelding -->
<BR><P>



<!-- Invoegen van de footer -->
<?
include "/home/endoria/freak/public_html/ZZFAQZZ/data/indeling/footer.php";
?>
<!-- / Invoegen van de footer -->

Voordeel is, dat wanneer je bijvoorbeeld de footer wilt veranderen, je dat alleen maar in de index.php hoeft te doen.

chatfreak2002 07-07-2002 17:36

Op mijn index.php wordt mijn php code dan


PHP-code:

<?
if ( $action == 'showforum' ){ include 'showforum.php';}
elsif ( $action == 'showfaq' ){ include 'showfaq.php';}
?>

?????????? Ik kom er echt niet meer uit :(

eddie 07-07-2002 17:42

iets in die geest... beetje fantasie kan geen kwaad...

chatfreak2002 07-07-2002 17:58

heb van alles geprobeerd maar het wil gewoon maar niet lukken :(

eddie 07-07-2002 18:04

Resultaat:
http://www.erikdokter.nl/test/index....tion=showforum
http://www.erikdokter.nl/test/index.php?action=showfaq

code:
http://www.erikdokter.nl/test/index.php.txt
http://www.erikdokter.nl/test/showforum.php.txt
http://www.erikdokter.nl/test/showfaq.php.txt

Tussen het <!--- Opbouwen van de tabel > staat dus de PHP code

Het doet verder nog niks...

chatfreak2002 07-07-2002 19:42

Ik heb wat besloten, mijn beslissing kan je op deze pagina bekijken:

http://chatfreak.endoria.net/FAQ/

Chimera 07-07-2002 20:21

Jeez. Je kunt toch wel die FAQ gewoon zoals 'ie is online laten staan? Dit staat wel een beetje erg prutserig.

chatfreak2002 07-07-2002 20:23

Citaat:

Chimera schreef:
Jeez. Je kunt toch wel die FAQ gewoon zoals 'ie is online laten staan? Dit staat wel een beetje erg prutserig.
Nee, de boel werkt naar mijn zin SLECHT en ik wil dus eerst mijn kennis op PHP en MySQL gebied vergroten voordat ik verder ga hiermee.

eddie 08-07-2002 16:49

Citaat:

chatfreak2002 schreef:


Nee, de boel werkt naar mijn zin SLECHT en ik wil dus eerst mijn kennis op PHP en MySQL gebied vergroten voordat ik verder ga hiermee.

Je kunt het wel gewoon online laten, mits je niks veranderd in de oorspronkelijke code.

Als je alles gaat indelen zoals ik voorstelden, kun je misschien een extra parameter in de url opnemen om de 'nieuwe' code te testen..

iets als
index.php?action=showforum&forumid=SM&test=1
ofzo...

Zo kun je 'achter de schermen' doorgaan met het aanpassen van je script, zonder dat andere het merken en de FAQ gewoon online blijft (y)

chatfreak2002 08-07-2002 16:59

Voorruit dan...

TouchOfDarkness 08-07-2002 17:54

het is eigenlijk niet eens zo heel moeilijk...

de basis is index.php, daarin kan je alles wel regelen eigenlijk

je moet het maar aanpassen in wat je zelf nodig hebt :p

PHP-code:

if(!$action) {
    
// list hier de subcategorieën
    
$FetchSub mysql_query("SELECT afkorting,naam FROM subcategorie ORDER BY naam ASC");
    while(
$Sub mysql_fetch_object($FetchSub)) {
        echo 
"<a href=\"$PHP_SELF?action=showfaq&faqid=$Sub->afkorting\">$Sub->naam</a>";
    }
} else if (
$action == "showfaq") {
    
// list hier de topics in je sub FAQ
    
if($faqid) {
        
$FetchTopics mysql_query("SELECT id,onderwerp,vraag FROM topic WHERE faqid = '$faqid'");
        while(
$Topics mysql_fetch_object($FetchTopics)) {
            echo 
"<a href=\"$PHP_SELF?action=showtopic&topicid=$Topics->id\">$Topics->onderwerp $Topics->vraag</a>";
        }
    } else {
        echo 
"Er is geen FAQ categorie opgegeven";
    }
} else if (
$action == "showtopic") {
    
// laat de gekozen topic zien
    
if($topicid) {
        
$FetchTopic mysql_query("SELECT * FROM topic WHERE id = '$topicid'");
        
$Topic mysql_fetch_object($FetchTopic);
        echo 
"je bericht komt hier";
    } else {
        echo 
"Ongeldige of geen topic geselecteerd";
    }



Chimera 09-07-2002 13:08

Citaat:

eddie schreef:

iets als
index.php?action=showforum&forumid=SM&test=1
ofzo...

Veel simpeler om gewoon in een andere dir te ontwikkelen. Hoef je geen code aan te passen. Wijzigen van code leidt nl. onherroepelijk tot bugs.


Alle tijden zijn GMT +1. Het is nu 21:07.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.