[PHP] nieuwsbrief, var dynamische waarde geven uit database

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Sjoerd
  • Registratie: December 2003
  • Niet online
ik ben een nieuwsbrief aan het maken waarvan de "template" bestaat als zaken als {vak1}, {vak2},...

nu als hij verstuurd wordt doe ik het volgende

PHP:
1
2
3
4
5
$html = $inhoud_mail;
$html = str_replace( "{vak1}", $vak1, $html );
$html = str_replace( "{vak2}", $vak3, $html );
$html = str_replace( "{vak3}", $vak3, $html );
$html = str_replace( "{vak4}", $vak4, $html );


je kent het wel dit werkt allemaal super maar nu heb ik een probleem, ik heb data in mijn nieuwsbrief die variabel is en dus uit een db wordt gehaald.
alleen deze moet dan op de plaats van {vak4} dus wat ik doe is

PHP:
1
2
3
4
5
6
7
8
while ($row_rst_producten = mysql_fetch_assoc($rst_producten)){
$vak4='<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="75%">'.$row_rst_producten['tekst'].'</td>
<td width="25%"><div align="right">[img]"images/upload/'.$row_rst_producten['afbeelding'].'/></div></td>
</tr>
</table[/img]';
}


dit wil maar niet werken, ook een include bied geen oplossing, hoe krijg ik nu alle gegevens uit de database netjes in 1 variabele zodat ik deze kan vervangen in de nieuwsbrief....

[ Voor 30% gewijzigd door Sjoerd op 17-07-2006 11:16 ]

Modelbouw - Alles over modelbouw, van RC tot diorama


Acties:
  • 0 Henk 'm!

  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
Graag code definiëren, dat maakt het leesbaarder (dmv [code=] en dan php na de = )

Eerst en vooral door comments te verwijderen ;^)

Dan zou ik $vak4 niet steeds overschijven, maar 'appenden':
PHP:
1
2
$vak4 .= 'tekst die er steeds aan toegevoegd moet worden';
// (notice the dot :^)

[ Voor 71% gewijzigd door moozzuzz op 17-07-2006 11:25 ]


Acties:
  • 0 Henk 'm!

  • Sjoerd
  • Registratie: December 2003
  • Niet online
moozzuzz schreef op maandag 17 juli 2006 @ 11:15:
graag code definiëren, dat maakt het leesbaarder (dmv [code=] en dan php na de = )
thx voor de tip!

Modelbouw - Alles over modelbouw, van RC tot diorama


Acties:
  • 0 Henk 'm!

  • Kvn
  • Registratie: Maart 2001
  • Laatst online: 20-09 23:30

Kvn

Waarom heb je het als comment gemarkeerd?

[ Voor 0% gewijzigd door Kvn op 17-07-2006 11:17 . Reden: Grrr snel aanpassen he! :p ]


Acties:
  • 0 Henk 'm!

  • Sjoerd
  • Registratie: December 2003
  • Niet online
Kvn schreef op maandag 17 juli 2006 @ 11:17:
Waarom heb je het als comment gemarkeerd?
was rechtstreeks gekopieerd... ondertussen aangepast ;)

Modelbouw - Alles over modelbouw, van RC tot diorama


Acties:
  • 0 Henk 'm!

  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
Waarschijnlijk gaan die images niet werken, want een nieuwsbrief lees je meestal in een mailreader en niet op de website zou ik zo denken?

Acties:
  • 0 Henk 'm!

  • Sjoerd
  • Registratie: December 2003
  • Niet online
moozzuzz schreef op maandag 17 juli 2006 @ 11:23:
Waarschijnlijk gaan die images niet werken, want een nieuwsbrief lees je meestal in een mailreader en niet op de website zou ik zo denken?
dat klopt inderdaad, deze niet ik even laten linken naar het "volle" adres dan :+
maarja tot nu toe zie ik gewoon niets verschijnen, overigens als ik deze code in een aparte file doe zie ik wel alles gewoon goed zeg maar, maar op 1 of andere manier wil het in de nieuwsbrief zelf maar niet werken.,

Modelbouw - Alles over modelbouw, van RC tot diorama


Acties:
  • 0 Henk 'm!

  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
langezwieper schreef op maandag 17 juli 2006 @ 11:26:
maarja tot nu toe zie ik gewoon niets verschijnen
Volgens mij zie je enkel de laatste entry verschijnen, zie ook mijn (aangepaste) post hierboven.

Acties:
  • 0 Henk 'm!

  • Sjoerd
  • Registratie: December 2003
  • Niet online
ik zie gewoon niets verschijnen...

op de append manier wil het ook niet werken :?

Modelbouw - Alles over modelbouw, van RC tot diorama


Acties:
  • 0 Henk 'm!

  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
langezwieper schreef op maandag 17 juli 2006 @ 11:26:
[...]
overigens als ik deze code in een aparte file doe zie ik wel alles gewoon goed zeg maar
Is dat dan letterlijk dezelfde code? (zou me sterk verbazen vanwege die append). Wat gebeurt er als je gewoon echo't?
PHP:
1
2
3
4
5
6
7
8
9
10
11
// geen ervaring met mysql_fetch_assoc dus rudimentairder:
$n = mysql_num_row($r); // $r = resultaat query)
$c=0;
while ($c < $n)
{
     $v = mysql_fetch_row($r);
     $vak4 .= '<htmlcode>'.$v[0].'</htmlcode>';
     echo '<br>TEST ('.$n.', '.$c.')<htmlcode>'.$v[0].'</htmlcode>';
     $c++; // kan ook rechtstreeks in de while
}
echo $var4;

[ Voor 56% gewijzigd door moozzuzz op 17-07-2006 12:10 ]


Acties:
  • 0 Henk 'm!

  • Sjoerd
  • Registratie: December 2003
  • Niet online
moozzuzz schreef op maandag 17 juli 2006 @ 12:02:
[...]
Is dat dan letterlijk dezelfde code? (zou me sterk verbazen vanwege die append). Wat gebeurt er als je gewoon echo't?
PHP:
1
2
// geen ervaring met mysql_fetch_assoc dus rudimentairder
:...
bedankt voor alle moeite hiermee kwam ik er achter dat mijn script gewoon fout was. wat ik nu heb is

PHP:
1
2
3
4
5
6
7
8
9
10
11
mysql_connect("blalba.be", "blabla", "blabla");
    mysql_select_db("blabla_database3");
    $query = "select * from producten";
    $result = mysql_query($query);
    while ($row = mysql_fetch_assoc($result)) {

    $vak4= '<table width="100%" border="0" cellspacing="0" cellpadding="0">';
    $vak4.=  '<tr><td width="75%" VALIGN=TOP>'.$row['tekst'].'</td><td width="25%" VALIGN=TOP><div align="right"><img src="$serveradres'.$row["afbeelding"].'"/></div></td></tr>';
    $vak4.=  '</table>';
    }
    mysql_free_result($result);


dit werkt nu perfect O+

Echter loop ik nu tegen het probleem aan waar jij het over had, nl dat hij enkel de laatste weergeeft...

[ Voor 147% gewijzigd door NMe op 17-07-2006 12:44 ]

Modelbouw - Alles over modelbouw, van RC tot diorama


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Nogal wiedes, als je in de while eerst een normale toekenning doet met = en daarna 2 appends met .= ;)

Zorg dat de variabele voor de loop gelijk gezet wordt aan een lege string, en doe in de loop alleen maar appends, geen gewone toewijzingen. Ik denk zelfs dat je de <table> en </table> tags beter buiten de loop kunt halen.
edit:
De post hierboven per ongeluk geëdit in plaats van gequote. :P

[ Voor 26% gewijzigd door NMe op 17-07-2006 12:46 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Sjoerd
  • Registratie: December 2003
  • Niet online
-NMe- schreef op maandag 17 juli 2006 @ 12:44:
Nogal wiedes, als je in de while eerst een normale toekenning doet met = en daarna 2 appends met .= ;)

Zorg dat de variabele voor de loop gelijk gezet wordt aan een lege string, en doe in de loop alleen maar appends, geen gewone toewijzingen. Ik denk zelfs dat je de <table> en </table> tags beter buiten de loop kunt halen.
edit:
De post hierboven per ongeluk geëdit in plaats van gequote. :P
wat is het leven soms toch makkelijk :+
Sorry voor het lage gehalte van php niveau, ben nog maar een beginnertje en heb een mooi php for dummies boek naast me liggen maar dit zag ik toch even over het hoofd. Het is zo logisch nogmaals iedereen bedankt! _/-\o_

Modelbouw - Alles over modelbouw, van RC tot diorama

Pagina: 1