Een simpele FAQ met php

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stars satsr

stars satsr

01/03/2009 06:21:00
Quote Anchor link
Hoi,
Ik wil graag weten hoe ik een FAQ maak met php. Ik wil dat als je op een tekst klikt je in de tabel eronder de output ziet.

Ik heb al verschillende manieren geprobeerd maar kom er niet uit. Heb het met een form geprobeerd en dan in de onclick="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $vraag=1; ?>
"

En in de balk eronder : if ($vraag ==1) echo 'antwoord1'; Gewoon in de php tag in de tabel cel.

Hoe kan ik dit het beste oplossen ?

Bedankt
 
PHP hulp

PHP hulp

27/05/2026 09:03:51
 
Alexander de Jong

Alexander de Jong

01/03/2009 09:12:00
Quote Anchor link
MySQL is de oplossing.

Je maakt gewoon een database aan met het volgende:

id INT(9)
question VARCHAR(500)
answer TEXT

(een tabel kan je makkelijk aanpassen en maken in phpMyAdmin. Wat meestal wel geleverd wordt met bijv. wamp).

En dan het volgende php gebruiken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

$sql
= "SELECT question, answer FROM faq WHERE question=" . $_GET['question'];

$q = mysql_query($sql);
$row = mysql_fetch_array($q);
unset($q);

echo "<b>{$row['question']}</b><br />";
echo "<p>{$row['answer']}</p><br />";

?>


Dit is een vrij simpele voorbeeld hoe je een kleine faq systeem kan maken. Natuurlijk zijn er ook andere wegen.

Bijv:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$faq
= array(
array(
'question'  = 'Is my mother realy my mother?',
'answer'  = 'I quess so',
));


switch($_GET['vraag']) {
case
0:
echo $faq[0]['anser'];
break;
}

?>


Ik hoop dat je hier wat aan hebt.

!ATTENTIE! Deze scripts zelf zijn niet veilig om live te gebruiken. Als u ze toch wilt gebruiken bouw de veiligheid in a.u.b.
 
Frank -

Frank -

01/03/2009 09:30:00
Quote Anchor link
VARCHAR(500)

Hou dan wel even in de gaten welke versie van MySQL je gebruikt:
Quote:
The length can be specified as a value from 0 to 255 before MySQL 5.0.3, and 0 to 65,535 in 5.0.3 and later versions.
Tot versie 5.0.3 kon je maar 255 karakters opslaan in een VARCHAR, de rest wordt zonder enige waarschuwing weggegooid.

id INT(9)
Waarom die 9? Maak er gewoon een INT van en klaar ben je. Aanvullen tot 9 cijfers doe je wel in de weergave, daar ga je de database niet mee lastig vallen.
 
Stars satsr

stars satsr

01/03/2009 22:08:00
Quote Anchor link
Bedankt voor de reactie maar ik bedoel het eigenlijk nog simpeler.

Ik wil dat als je op de tekst klikt : Hoe heet mijn moeder?
Je dan in de tabel eronder de echo output ziet.

Volgens mij moet er dan gepost worden zodat je de juiste antwoord ziet.

en dan in de tabel met antwoorden de php code: if ($vraag==1) echo $antwoord1;
if ($vraag==2) echo $antwoord2;

etc

Volgens mij kan dit beter in een array. Ik weet ook niet of ik de tekst als link moet doen of in een form moet plaatsen met een action. Het lukt eigenlijk beide niet.

Ik probeer het nu met een $_SESSION[$antwoord]

Graag wat tips

Thanx
Gewijzigd op 01/01/1970 01:00:00 door stars satsr
 
Gerben Jacobs

Gerben Jacobs

01/03/2009 22:57:00
Quote Anchor link
Je kan met javascript werken.

Je bouwt in PHP een javascript array op.. en daarna plaats je alle vragen in een div, met daaronder nog een div waar het antwoord in staat.
De div van 't antwoord zet je op hidden en open je wanneer je op de vraag klikt..
 
Stars satsr

stars satsr

03/03/2009 00:51:00
Quote Anchor link
Okay ik denk dat dit meer is wat ik zoek.

Ik ben wel nog een newby en javascript ken ik niet. Heb het wel al geprobeerd met de ShowHide functie maar dat ging niet echt goed.

Heb je misschien een kleine voorbeeld zodat ik die kan aanpassen?

En hoe krijg ik die $Antwoord div van hidden wanneer er een vraag getoond moet worden ?

Het lukt me niet en het lijkt niet eens zo moeilijk.

Thanx,
 
Luc Zontrop

Luc Zontrop

03/03/2009 06:24:00
Quote Anchor link
@pgFrank

Quote:
Tot versie 5.0.3 kon je maar 255 karakters opslaan in een VARCHAR, de rest wordt zonder enige waarschuwing weggegooid.


Nog maar goed dat de rest wordt weggegooid. Waarom mysql hier verwijten dat 'm dit zonder waarschuwing?

Als iemand mij vraagt om 5 liter water te gaan halen met enkel een leeg fles melk, dan denk ik zo van 'ga jij die zelf maar halen...'

Als je een veld aanmaakt met enkel 255 tekens, dan moet je je daaraan houden. punt.
Wil je dan toch 5 liter water, dan zet je je fles desnoods in een grote kom.

We weten intussen wel dat je tegen mysql bent, maar dit vind ik dan weer onzinnige posts.
 

03/03/2009 08:02:00
Quote Anchor link
'Tumbler:
@pgFrank

Quote:
Tot versie 5.0.3 kon je maar 255 karakters opslaan in een VARCHAR, de rest wordt zonder enige waarschuwing weggegooid.


Nog maar goed dat de rest wordt weggegooid. Waarom mysql hier verwijten dat 'm dit zonder waarschuwing?

Ik vind dat niet zo goed, als je te veel data naar de db gooit omdat je bijvoorbeeld ergens een fout hebt gemaakt, en de database geeft dat niet aan, dat is toch slecht. Verder is het volgens mij overal zo waar je tot een bepaald maximum aan tekens kan invoeren dat je gewaarschuwd wordt dat je dat aantal overscheid.

'Tumbler:
Als iemand mij vraagt om 5 liter water te gaan halen met enkel een leeg fles melk, dan denk ik zo van 'ga jij die zelf maar halen...'

Ja, en dat zeg je dan, dus dan geef je toch een waarschuwing. Of ben je dan echt zo stom dat je dan dat denkt maar toch vijf keer op en neer gaat?

'Tumbler:
Als je een veld aanmaakt met enkel 255 tekens, dan moet je je daaraan houden. punt.

Ja, en als je niet weet dat je daar niet aan houd?
'Tumbler:
Wil je dan toch 5 liter water, dan zet je je fles desnoods in een grote kom.

Dat volg ik niet.

'Tumbler:
We weten intussen wel dat je tegen mysql bent, maar dit vind ik dan weer onzinnige posts.

Die van jou ook. Niet iedereen weet dat mysql de zooi gewoon afkapt. Dus als dat dan gebeurt bij iemand, en die heeft totaal geen idee van databases, dan gaat die hier weer een vraag stellen....
 
Stars satsr

stars satsr

03/03/2009 09:37:00
Quote Anchor link
Hoi Kari,

Ik vind wel dat je gelijk hebt, ik wist namelijk niet dat me tekst zonder waarschuwing werd afgekapt. Dit is in mijn geval zeer belangrijk om te weten.

Hierom wil ik de tekst die men invoert in de invulveld eerst naar een tekstfile saven, bv tekst1.txt en dan de .txt bestanden opslaan in mysql.

Hoe kan ik dit het makkelijkste doen ?

Thanx,
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.