Multidesk.be » Forums » PHP » Alert met melding uit database

  • Pagina
  • 1 van 1
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door fawkes op dinsdag 7 oktober 2008 om 16:33:30.
fawkes' avatar
Multiviteit: 230
-
-
Hallo.

Ik heb deze code (ingekort):
PHP
  1. <?php
  2. // dit is als test
  3. $knelpunten="lala\nlala";
  4. $stemvorming="lala
  5. lala";
  6. /* dit komt uit de database.
  7. $knelpunten=$res[6];
  8. $stemvorming=$res[7];
  9. */
  10.  
  11. if(!empty($knelpunten)){
  12.         ?><td><img src='img/Knelpunt.png' title='Knelpunten' onclick='javascript:alert("<?php echo $knelpunten; ?>")' /><?php
  13. }
  14. else{
  15.         echo "<td width='19'>";
  16. }
  17. echo "<td width='5'>";
  18. if(!empty($stemvorming)){
  19.         ?><td><img src='img/stemvorming.gif' title='Stemvorming'  onclick="javascript:alert('<?php echo $stemvorming; ?>')" /><?php
  20. }
  21. else{
  22.         echo "<td width='19'>";
  23. }
  24. ?>


Ik weet niet of jullie al zien wat de bedoeling is, maar in de database staat een melding. Als iemand op de image klikt krijt hij die melding. Is er geen melding, is er geen image. Best logisch dacht ik.

Alleen nu werkt de nieuwe regel in de alert niet. Met de testen zit nu \n (ook met nl2br erbij werkt het niet) en een ander met een enter, maar beide testen weergeven niks als ik op de image klik.
Echter, als er geen nieuwe regel in zit (bijvoorbeeld: lala) werkt het zonder problemen.

Weet iemand waar het probleem zit? of denken jullie dat het beter is om met een pop-up te werken. Als dat zo is, zou iemand mij dan op weg kunnen helpen, want daar heb ik geen verstand van.
-
^ Reactie #1 geschreven door Martijn op dinsdag 7 oktober 2008 om 16:59:49.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
Die \n wordt omgezet naar een "echte" return. Wat je moet doen, is zorgen dat dit niet gebeurt en je de \n dus terugziet in je javascript string, in plaats van een fysiek regeleinde.
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #2 geschreven door fawkes op dinsdag 7 oktober 2008 om 17:13:50.
fawkes' avatar
Multiviteit: 230
-
-
en weet je ook hoe ik dat het beste kan doen?
-
^ Reactie #3 geschreven door Martijn op dinsdag 7 oktober 2008 om 17:33:32.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
Probeer eens een eenvoudige replace van de \n (of \r\n) door hetzelfde.
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #4 geschreven door fawkes op woensdag 8 oktober 2008 om 23:30:50.
fawkes' avatar
Multiviteit: 230
-
-
Ik heb dit erbij gevoegd:

PHP
  1. <?php
  2. $knelpunten=str_replace("\n","\n",$knelpunten);
  3. $stemvorming=str_replace("\n","\n",$stemvorming);
  4. ?>


maar ik denk dat ik je verkeerd begrepen heb, want door dit werkt het nog niet :S
-
^ Reactie #5 geschreven door thekid op donderdag 9 oktober 2008 om 00:31:22.
thekid's avatar
Multiviteit: 5273
Moderator
mijn indruk is dat je misschien beter

PHP
  1.  
  2. <?php
  3. $knelpunten=str_replace("\n", "\n",$knelpunten);
  4. $stemvorming=str_replace("\n", "\n",$stemvorming);
  5. ?>
  6.  


van kunt maken, mijn reden hiervoor is dat de \\n in de html output een \n als tekst zal plaatsen in de source (maar goed doen in javascript) en dat een gewoon \n nog steeds een nextline statement is ;)

Aanvulling

als je mijn code download zou je het verschil moeten zien tussen de \n en \\n :)
Misschien zou een \r door niks te vervangen of door \\r ook kunnen helpen moet je een vierkant blokje in je broncode staan hebben :)
Deze tekst werd het laatst bewerkt voor 12.41 % door thekid op donderdag 9 oktober 2008 om 00:34:53.
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
  • Pagina
  • 1 van 1

Snel-antwoordformulier
Toon uitgebreid antwoordformulier Bericht nalezen Bericht plaatsen