PHP SQL waarde uit tabel ophalen met dubbele quotes
Ik heb een quizdatabase waarbij ik met MySQL vragen uit op haal en aan gebruikers presenteer. Sinds enige tijd kunnen zij daar zelf ook vragen aan toevoegen, maar nu komt het probleem dat ze daarin dubbele quotes gebruiken. Bijvoorbeeld: Dit is een "testvraag".
Wanneer ik deze vraag normaliter ophaal en in de quiz als vraag toon dan komt de vraag er netjes uit met "testvraag" tussen dubbelen quotes. Daarvoor gebruik ik dit segment code:
Code (php)
1
2
3
4
2
3
4
<?php
<b>Vraag " . $qno . " " . $q_new . "</b>";
echo " <b>" . utf8_encode($obj->question) . "</b></p>
?>
<b>Vraag " . $qno . " " . $q_new . "</b>";
echo " <b>" . utf8_encode($obj->question) . "</b></p>
?>
Maar wanneer ik deze quizvragen wil redigeren, dan kan ik doe ik dat met behulp van een formuliertje waar ik alleen als administrator bij kan en dan verdwijnt alles na de dubbele quotes. Code:
<tr><td>Vraag</td><td><input type="text" name="question" size="50" maxlength="255" value="" /></td></tr>
Ik ben geen newbie met PHP, maar deze zie ik echt even niet.
Wijzen van ophalen lijken me ook wel even belangrijk om te vermelden.
Behorende bij de eerste genoemde code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if(isset($upid))
{
$sql_get_question_for_edit = "SELECT * FROM qvdm_questions
WHERE id = $upid";
$res_get_question_for_edit = mysql_query($sql_get_question_for_edit ) or die(mysql_error());
while($obj = mysql_fetch_object($res_get_question_for_edit ))
{
$ques_question = $obj->question;
$ques_moderate = $obj->moderate;
}
?>
if(isset($upid))
{
$sql_get_question_for_edit = "SELECT * FROM qvdm_questions
WHERE id = $upid";
$res_get_question_for_edit = mysql_query($sql_get_question_for_edit ) or die(mysql_error());
while($obj = mysql_fetch_object($res_get_question_for_edit ))
{
$ques_question = $obj->question;
$ques_moderate = $obj->moderate;
}
?>
Behorende bij de tweede genoemde code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$sql_get_question = "SELECT * FROM `qvdm_questions`
WHERE `category` = '$playquiz'
AND `moderate` <> '1'
ORDER BY RAND() LIMIT 10";
// echo "De database bevraging is SQL: " . $sql . "<br>";
$res_get_question = mysql_query($sql_get_question ) or die(mysql_error());
while(($obj = mysql_fetch_object($res_get_question)) && ($teller <=10))
{
$Q = $obj->question;
}
?>
$sql_get_question = "SELECT * FROM `qvdm_questions`
WHERE `category` = '$playquiz'
AND `moderate` <> '1'
ORDER BY RAND() LIMIT 10";
// echo "De database bevraging is SQL: " . $sql . "<br>";
$res_get_question = mysql_query($sql_get_question ) or die(mysql_error());
while(($obj = mysql_fetch_object($res_get_question)) && ($teller <=10))
{
$Q = $obj->question;
}
?>
Belangrijk verschil met de ene methode van de vraag tonen is dus dat hiermee alleen de tekst readonly op het scherm getoond moet worden, waarbij in de tweede situatie de tekst in een formulier getoond en bewerkt moet kunnen worden.
Ik verwacht dat ik de string die ik uit de database ophaal nog door een functie heen moet trekken om de vraag zo op te maken dat hij goed wordt opgemaakt, maar ik kan toch niet vinden welke.
Vast bedankt voor de hulp!