/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Variabel i variabel
Fra : Henrik Bank


Dato : 23-08-02 07:35

Hej,

Jeg sidder med et problem jeg ikke er helt sikker på man overhovedet kan
løse - alligevel håber jeg på lidt hjælp.

Jeg har i en MySQL db en tabel hvor jeg har oprettet nogle html-sider -
koden til siden er med andre ord gemt i et enkelt felt.

I koden henviser jeg til variabler fx. $KUNDENAVN som jeg så gerne så
erstattet med de aktuelle data når jeg trækker koden ind i min mail-løkke!

Alt hvad der kommer ud er dog teksten $KUNDENAVN og ikke indholdet af
variablen

Jeg håber jeg har forklaret mig godt nok og at nogen kan hjælpe mig til at
"se lyset"

Med venlig hilsen
Henrik Bank




 
 
Sinkbæk (23-08-2002)
Kommentar
Fra : Sinkbæk


Dato : 23-08-02 08:15

Henrik Bank wrote:
> I koden henviser jeg til variabler fx. $KUNDENAVN som jeg så gerne så
> erstattet med de aktuelle data når jeg trækker koden ind i min mail-løkke!
>
> Alt hvad der kommer ud er dog teksten $KUNDENAVN og ikke indholdet af
> variablen

Hej!

Må vi se noget kode?

--
Med venlig hilsen
Thomas Sinkbæk
www.sinkbaek.com
- Broder Salsa: "København det er altid kokos"



Henrik Bank (23-08-2002)
Kommentar
Fra : Henrik Bank


Dato : 23-08-02 09:16

Joh da..
Håber nedenstående kan tydes

I databasen er feltet med kode - den kunne fx. se således ud:
"..<tr>
<td><a href='KLIK'>http://www.domæne.dk/mail.php?navn=$CUSTNAME'>KLIK
HER</a></td>
</tr>..."

Feltet bliver included læst ind som variablen $MAILBODY

...
// HENT MAILEN
$query = "select * from mailtabel where id = 'den valgte mail'";
$hentdata = MYSQL_QUERY($query);
$hentdatarows = MYSQL_NUM_ROWS($hentdata);

$i=0;
include (getenv('DOCUMENT_ROOT').'/inc/mailtabelvariabler.inc.php');

// NU KENDER JEG $MAILBODY

// SEND MAIL

{
$header = "From: XXXX <info@firma.com>\nReply-To:info@firma.com";
$header .= "\nContent-Type: text/html\n";
$queryhent = "select * from kundekartotek";
$hentdata = MYSQL_QUERY($queryhent);
$antalmails = MYSQL_NUM_ROWS($hentdata);
$i = 0;
while ($i < $antalmails)
{
include(getenv('DOCUMENT_ROOT').'/inc/kundekartotekvareliste.inc.php');
if ($CUSTACTIVE == 'JA')
{
$MAILBODY = $MAILBODY;
mail("$CUSTNAME <$CUSTEMAIL>","$MAILSUBJECT","$MAILBODY","$header");
..........."


mvh
Henrik Bank



"Sinkbæk" <thomas@FJERN_DETTEsinkbaek.com> skrev i en meddelelse
news:ak4ne9$hpe$1@sunsite.dk...
> Henrik Bank wrote:
> > I koden henviser jeg til variabler fx. $KUNDENAVN som jeg så gerne så
> > erstattet med de aktuelle data når jeg trækker koden ind i min
mail-løkke!
> >
> > Alt hvad der kommer ud er dog teksten $KUNDENAVN og ikke indholdet af
> > variablen
>
> Hej!
>
> Må vi se noget kode?
>
> --
> Med venlig hilsen
> Thomas Sinkbæk
> www.sinkbaek.com
> - Broder Salsa: "København det er altid kokos"
>
>



ndaieshndasoinc (23-08-2002)
Kommentar
Fra : ndaieshndasoinc


Dato : 23-08-02 09:57

> Jeg har i en MySQL db en tabel hvor jeg har oprettet nogle html-sider -
> koden til siden er med andre ord gemt i et enkelt felt.
>
> I koden henviser jeg til variabler fx. $KUNDENAVN som jeg så gerne så
> erstattet med de aktuelle data når jeg trækker koden ind i min mail-løkke!
>
> Alt hvad der kommer ud er dog teksten $KUNDENAVN og ikke indholdet af
> variablen
>
> Jeg håber jeg har forklaret mig godt nok og at nogen kan hjælpe mig til at
> "se lyset"

Det er lidt vagt forklaret, men det lyder som om at du har flere forskellige
rows, hvor du for hver row, skal løse det samme problem.

Jeg har set at du i din kode har kaldt dit resultset "hentdata". I
nedenstående har jeg kaldt den samme variabel for $result.

while ($row= mysql_fetch_array($result)) {
$modtagerNavn = row['modtagers_navn'];
echo 'Modtagerens navn er: '.$modtagerNavn.'<br>';
}

Hvis vi forestiller os at SQL'en SELECTer en masse "modtagernavne" fra en
tabel, vil ovenstående kode fx udskrive:
Modtagerens navn er: Birger<br>
Modtagerens navn er: Anne<br>
Modtagerens navn er: Knud<br>

While løkken, løber altså alle resultaterne igennem og "gør noget" hver
gang.



Henrik Bank (23-08-2002)
Kommentar
Fra : Henrik Bank


Dato : 23-08-02 10:22

> Jeg har set at du i din kode har kaldt dit resultset "hentdata". I
> nedenstående har jeg kaldt den samme variabel for $result.
>
> while ($row= mysql_fetch_array($result)) {
> $modtagerNavn = row['modtagers_navn'];
> echo 'Modtagerens navn er: '.$modtagerNavn.'<br>';
> }
>
> Hvis vi forestiller os at SQL'en SELECTer en masse "modtagernavne" fra en
> tabel, vil ovenstående kode fx udskrive:
> Modtagerens navn er: Birger<br>
> Modtagerens navn er: Anne<br>
> Modtagerens navn er: Knud<br>
>
> While løkken, løber altså alle resultaterne igennem og "gør noget" hver
> gang.

Jeg henter variablerne ind via inc-filerne som består af linier a'la dette:
$CUSTNAME = MYSQL_RESULT($hentdata, $i, "custname");

Alle mails bliver sendt ud så den finder fint nok data!

mvh
Henrik Bank



[5000] Jesper Brunho~ (23-08-2002)
Kommentar
Fra : [5000] Jesper Brunho~


Dato : 23-08-02 12:23

Henrik Bank wrote:
> Jeg har i en MySQL db en tabel hvor jeg har oprettet nogle html-sider -
> koden til siden er med andre ord gemt i et enkelt felt.
>
> I koden henviser jeg til variabler fx. $KUNDENAVN som jeg så gerne så
> erstattet med de aktuelle data når jeg trækker koden ind i min mail-løkke!
>
> Alt hvad der kommer ud er dog teksten $KUNDENAVN og ikke indholdet af
> variablen

Jeg har løst et lignende problem ved at lægge <!-- *KUNDENAVN * --> i
databasen, lægge $KUNDENAVN ind under key "KUNDENAVN" i et array, og
lave string-replace når jeg trækker ud af databasen.

Du skal sikkert kunne ændre i kundedata, så det er ikke fedt at skulle
bruge et array. Så lægger du kundedata i en tabel i databasen og henter
dem med en funktion når du skal string-replace.
(Jeg ville i øvrigt nok ændre til KUNDEID).

Kan du bruge det til noget?

mvh

Jesper Brunholm


Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste