/ 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
PHP og javascript...
Fra : Dennis Munding


Dato : 06-09-09 20:45

Hej NG!

Jeg sidder med et problem, som jeg håber en venlig sjæl kan hjælpe mig i
gang med...

Situation:

iframe med kald til en html-fil.
denne kalder på en javascript-fil
i denne fil er der flg. 4 poster (jeg kalder det et sæt), som går igen x
antal gange:

titlea[0] = "OVERSKRIFT";
texta[0] = "INDHOLD";
linka[0] = "EVT. LINK";
trgfrma[0] = "_parent";

De 3 første poster skal hentes fra en database og køres i et loop.
Tallet i [] SKAL starte på 0(nul) og tælle op sammen med antallet af poster
i db.

Har ingen problem med at hente data, men kan ikke gennemskue, hvordan løkken
skal strikkes sammen...

Det er et news-script, som jeg har hentet (med tilladelse!) fra en anden
side, som skal bruges til en non-kommerciel side...:
http://pgsquad.com/main.com

Hvis man går ind på ovennævnte side, vil man kunne se scriptet i aktion -
posterne er blot indsat manuelt af undertegnede, hvilket gerne skulle
ændres.

På forhånd tusind tak for alt input!


Med venlig hilsen
--
Dennis Munding


 
 
Kim Emax (06-09-2009)
Kommentar
Fra : Kim Emax


Dato : 06-09-09 14:37

On Sep 6, 9:44 pm, "Dennis Munding" <inva...@invalid.org> wrote:

> titlea[0] = "OVERSKRIFT";
> texta[0] = "INDHOLD";
> linka[0] = "EVT. LINK";
> trgfrma[0] = "_parent";
>
> De 3 første poster skal hentes fra en database og køres i et loop.
> Tallet i [] SKAL starte på 0(nul) og tælle op sammen med antallet af poster
> i db.
>
> Har ingen problem med at hente data, men kan ikke gennemskue, hvordan løkken
> skal strikkes sammen...

ca. sådan her:

$result = mysql_query(din_forespørgsel_til_Database);

$count = 0;
while($row = mysql_fetch_array($result)) {
print "titlea[$count] = '{$row['OVERSKRIFT']}'\n";
print "texta[$count] = '{$row['INDHOLD']}'\n";
print "linka[$count] = '{$row['EVT. LINK']}'\n";
print "trgfrma[$count] = "_parent\n";
$count++;
}

$count tæller en op for hvert loop af dit database udtræk
--
mvh
Kim Emax

Dennis Munding (07-09-2009)
Kommentar
Fra : Dennis Munding


Dato : 07-09-09 17:13

Hej igen NG!
"Dennis Munding" skrev:
> Hej NG!
>
> Jeg sidder med et problem, som jeg håber en venlig sjæl kan hjælpe mig i
> gang med...

Glemte lige en meget væsentlig detalje...

Flg. er forsøgt:
(Der er selvfølgelig lavet et kald til db, og indholdet ER hentet)

while($data = mysql_fetch_array($result)) {
$title = $data['title'];
$text = $data['text'];
$url = $data['url'];

$x = mysql_num_rows($result);
for($i=0;$i<=$x;$i++) {
echo "titlea[".$i."] = '".$title."';\n";
echo "texta[".$i."] = '".$text."';\n";
echo "linka[".$i."] = '".$url."';\n";
echo "trgfrma[".$i."] = '_parent';\n";
}
}

Giver ingen udskrift på skærmen, men flg. i kildekoden:

titlea[0] = 'THIS IS NEWS TEST #1';
texta[0] = 'Here you'll soon be able to read the latest news about The
PosseGrim Squad...';
linka[0] = 'http://pgsquad.com/main.php';
trgfrma[0] = '_parent';
titlea[1] = 'THIS IS NEWS TEST #1';
texta[1] = 'Here you'll soon be able to read the latest news about The
PosseGrim Squad...';
linka[1] = 'http://pgsquad.com/main.php';
trgfrma[1] = '_parent';
titlea[2] = 'THIS IS NEWS TEST #1';
texta[2] = 'Here you'll soon be able to read the latest news about The
PosseGrim Squad...';
linka[2] = 'http://pgsquad.com/main.php';
trgfrma[2] = '_parent';
titlea[0] = 'News Test';
texta[0] = 'News Test';
linka[0] = 'http://';
trgfrma[0] = '_parent';
titlea[1] = 'News Test';
texta[1] = 'News Test';
linka[1] = 'http://';
trgfrma[1] = '_parent';
titlea[2] = 'News Test';
texta[2] = 'News Test';
linka[2] = 'http://';
trgfrma[2] = '_parent';

Hvilket i bund og grund er en dobbeltpostering af alle felter.
Som jo er logisk nok (tror jeg), idet der er en for-løkke indeni en
while-løkke...?


Skriver jeg derimod:

while($data = mysql_fetch_array($result)) {
$title = $data['title'];
$text = $data['text'];
$url = $data['url'];
}

$x = mysql_num_rows($result);
for($i=0;$i<=$x;$i++) {
echo "titlea[".$i."] = '".$title."';\n";
echo "texta[".$i."] = '".$text."';\n";
echo "linka[".$i."] = '".$url."';\n";
echo "trgfrma[".$i."] = '_parent';\n";
}

Får jeg flg. udskrevet på skærmen...:

News Test (titlea)
News Test (texta)

News Test (titlea)
News Test (texta)

....og dette i kildekoden, hvilket jeg ikke helt forstår...:

titlea[0] = 'News Test';
texta[0] = 'News Test';
linka[0] = 'http://';
trgfrma[0] = '_parent';
titlea[1] = 'News Test';
texta[1] = 'News Test';
linka[1] = 'http://';
trgfrma[1] = '_parent';
titlea[2] = 'News Test';
texta[2] = 'News Test';
linka[2] = 'http://';
trgfrma[2] = '_parent';

Her bliver første postering i databasen sprunget over, og post nr. 2 bliver
udskrevet 2 gange, men vises 3 gange i kildekoden...?

Jeg har en ide om, at jeg måske skal bruge foreach(), men her løber jeg
panden mod muren. Er helt blank!

PS:
Den rigtige kildekode og udskrift skulle gerne se således ud:

titlea[0] = 'THIS IS NEWS TEST #1';
texta[0] = 'Here you'll soon be able to read the latest news about The
PosseGrim Squad...';
linka[0] = 'http://pgsquad.com/main.php';
trgfrma[0] = '_parent';
titlea[1] = 'News Test';
texta[1] = 'News Test';
linka[1] = 'http://';
trgfrma[1] = '_parent';


THIS IS NEWS TEST #1 (link til: http://pgsquad.com/main.php)
Here you'll soon be able to read the latest news about The PosseGrim
Squad...

News Test (Ingen link)
News Test


Håber virkelig, der er venlig sjæl, som vil give et indspark...


Med venlig hilsen
--
Dennis Munding
a.k.a. The Eye - Member of the PosseGrim Squad
http://pgsquad.com/
"Når du hører vinden, er du allerede død..."


Birger Sørensen (07-09-2009)
Kommentar
Fra : Birger Sørensen


Dato : 07-09-09 17:38

Dennis Munding formulerede spørgsmålet:
> Hej igen NG!
> "Dennis Munding" skrev:
>> Hej NG!
>>
>> Jeg sidder med et problem, som jeg håber en venlig sjæl kan hjælpe mig i
>> gang med...
>
> Glemte lige en meget væsentlig detalje...
>
> Flg. er forsøgt:
> (Der er selvfølgelig lavet et kald til db, og indholdet ER hentet)
>
> while($data = mysql_fetch_array($result)) {
> $title = $data['title'];
> $text = $data['text'];
> $url = $data['url'];
>
> $x = mysql_num_rows($result);
> for($i=0;$i<=$x;$i++) {
> echo "titlea[".$i."] = '".$title."';\n";
> echo "texta[".$i."] = '".$text."';\n";
> echo "linka[".$i."] = '".$url."';\n";
> echo "trgfrma[".$i."] = '_parent';\n";
> }
> }
>
8X

$cnt = 0;
while($data = mysql_fetch_assoc($result)) {
$title = $data['title'];
$text = $data['text'];
$url = $data['url'];

echo "titlea[$cnt] = '$title';\n";
echo "texta[$cnt] = '$text';\n";
echo "linka[$cnt] = '$url';\n";
echo "trgfrma[$cnt] = '_parent';\n";
$cnt++;
}

burde vist virke.
Ellers må du nok forklare lidt mere om hvad det er du vil.
Du skriver data fra databasen ud til arrays i js, ser det ud somom.
At de ikke kommer på skærmen, kan skyldes mange ting.

Dine egne forsøg med løkken går galt fordi der ikke er sammenhæng med
rækken fra databasen og løkken.

I øvrigt er dit link til eksemplet i funktion, en 404, og altså ikke
til så meget hjælp :/

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Dennis Munding (07-09-2009)
Kommentar
Fra : Dennis Munding


Dato : 07-09-09 19:08

Hej Birger!
"Birger Sørensen" skrev:
> $cnt = 0;
> while($data = mysql_fetch_assoc($result)) {
> $title = $data['title'];
> $text = $data['text'];
> $url = $data['url'];
>
> echo "titlea[$cnt] = '$title';\n";
> echo "texta[$cnt] = '$text';\n";
> echo "linka[$cnt] = '$url';\n";
> echo "trgfrma[$cnt] = '_parent';\n";
> $cnt++;
> }
>
> burde vist virke.

Både og - det kan ses i kildekoden men ikke på skærmen...??

> Ellers må du nok forklare lidt mere om hvad det er du vil.
> Du skriver data fra databasen ud til arrays i js, ser det ud somom.
> At de ikke kommer på skærmen, kan skyldes mange ting.

At det også bliver vist på skærmen...
Øøøhh...? Ja, det er vist det, der sker (som nævnt, er det et script jeg har
hentet med tilladelse fra en anden side).
Så som?

> Dine egne forsøg med løkken går galt fordi der ikke er sammenhæng med
> rækken fra databasen og løkken.

Ok.
Jeg må læse noget mere om løkker.
Det må da sive ind på et eller andet tidspunkt!

> I øvrigt er dit link til eksemplet i funktion, en 404, og altså ikke til
> så meget hjælp :/

Ja det var selvfølgelig en fejl 40...
Her er det rigtige link:
http://pgsquad.com/main.php

Beklager.

Tak for dit svar.


Med venlig hilsen
--
Dennis Munding
a.k.a. The Eye - Member of the PosseGrim Squad
http://pgsquad.com/
"Når du hører vinden, er du allerede død..."


Birger Sørensen (07-09-2009)
Kommentar
Fra : Birger Sørensen


Dato : 07-09-09 22:26

Dennis Munding forklarede den 07-09-2009:
> Hej Birger!
> "Birger Sørensen" skrev:
>> $cnt = 0;
>> while($data = mysql_fetch_assoc($result)) {
>> $title = $data['title'];
>> $text = $data['text'];
>> $url = $data['url'];
>>
>> echo "titlea[$cnt] = '$title';\n";
>> echo "texta[$cnt] = '$text';\n";
>> echo "linka[$cnt] = '$url';\n";
>> echo "trgfrma[$cnt] = '_parent';\n";
>> $cnt++;
>> }
>>
>> burde vist virke.
>
> Både og - det kan ses i kildekoden men ikke på skærmen...??
>
>> Ellers må du nok forklare lidt mere om hvad det er du vil.
>> Du skriver data fra databasen ud til arrays i js, ser det ud somom.
>> At de ikke kommer på skærmen, kan skyldes mange ting.
>
> At det også bliver vist på skærmen...
> Øøøhh...? Ja, det er vist det, der sker (som nævnt, er det et script jeg har
> hentet med tilladelse fra en anden side).
> Så som?
>
>> Dine egne forsøg med løkken går galt fordi der ikke er sammenhæng med
>> rækken fra databasen og løkken.
>
> Ok.
> Jeg må læse noget mere om løkker.
> Det må da sive ind på et eller andet tidspunkt!
>
>> I øvrigt er dit link til eksemplet i funktion, en 404, og altså ikke til så
>> meget hjælp :/
>
> Ja det var selvfølgelig en fejl 40...
> Her er det rigtige link:
> http://pgsquad.com/main.php
>
> Beklager.
>
> Tak for dit svar.
>
>
> Med venlig hilsen

Der må være et script, der anvender de data der lægges i arrayene.
Arrayene skal fyldes før de kan bruges.
Den del du har nu, som altså viser data rigtigt i kilden, skal stå det
rigtige sted i HTML kildekoden.
Hvis det foregår i en funktion, skal den kaldes.
osv. etc.

Det er ikke umiddelbart muligt at sætte fingeren på hvad der er galt,
uden at kunne se resten også.
Et link?
Evt. kopi af aktuel del af kildekoden?

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Dennis Munding (07-09-2009)
Kommentar
Fra : Dennis Munding


Dato : 07-09-09 22:43

Hej Birger!
"Birger Sørensen" skrev:
> Der må være et script, der anvender de data der lægges i arrayene.
> Arrayene skal fyldes før de kan bruges.
> Den del du har nu, som altså viser data rigtigt i kilden, skal stå det
> rigtige sted i HTML kildekoden.
> Hvis det foregår i en funktion, skal den kaldes.
> osv. etc.

Det er der selvfølgelig.
Jeg ligger det lige op på pastebin, og så kommer jeg lige med et link til
det...

> Det er ikke umiddelbart muligt at sætte fingeren på hvad der er galt, uden
> at kunne se resten også.
> Et link?
> Evt. kopi af aktuel del af kildekoden?

Du får det hele - ingen hemmeligheder der - ville blot ikke poste for meget
kode.


Med venlig hilsen
--
Dennis Munding
a.k.a. The Eye - Member of the PosseGrim Squad
http://pgsquad.com/
"Når du hører vinden, er du allerede død..."


Dennis Munding (08-09-2009)
Kommentar
Fra : Dennis Munding


Dato : 08-09-09 18:34


"Dennis Munding" skrev:
> Hej Birger!
> "Birger Sørensen" skrev:
>> Der må være et script, der anvender de data der lægges i arrayene.
>
> Det er der selvfølgelig.
> Jeg ligger det lige op på pastebin, og så kommer jeg lige med et link til
> det...

Så lykkedes det...
Det er godt nok en lang smørre, så der skal nok et par kopper kaffe eller 2
til...

Hvis ikke jeg lige svarer de næste par dage, så skyldes det, at jeg skal
opereres imorgen.
Men jeg svarer hurtigst muligt.

På forhånd endnu en gang tak for din hjælp.


Med venlig hilsen
--
Dennis Munding
a.k.a. The Eye - Member of the PosseGrim Squad
http://pgsquad.com/
"Når du hører vinden, er du allerede død..."


Dennis Munding (08-09-2009)
Kommentar
Fra : Dennis Munding


Dato : 08-09-09 19:04

Hej igen...
"Dennis Munding" skrev:
> Så lykkedes det...

(Ja fjols! Det kunne være du skulle huske at poste et link så....?!?)...

Det kommer så her..:
http://pastebin.com/m16ce05b3


Med venlig hilsen
--
Dennis Munding
a.k.a. The Eye - Member of the PosseGrim Squad
http://pgsquad.com/
"Når du hører vinden, er du allerede død..."


Kim Emax (07-09-2009)
Kommentar
Fra : Kim Emax


Dato : 07-09-09 13:33

Hej Dennis

Hvorfor kigger du ikke på det eksempel jeg gav dig i aftes?

On Sep 7, 6:13 pm, "Dennis Munding" <inva...@invalid.org> wrote:

> Flg. er forsøgt:
> (Der er selvfølgelig lavet et kald til db, og indholdet ER hentet)
>
> while($data = mysql_fetch_array($result)) {

Her starter din while løkke

>  $title = $data['title'];
>  $text = $data['text'];
>  $url = $data['url'];
>
>  $x = mysql_num_rows($result);
>  for($i=0;$i<=$x;$i++) {
>   echo "titlea[".$i."] = '".$title."';\n";
>   echo "texta[".$i."] = '".$text."';\n";
>   echo "linka[".$i."] = '".$url."';\n";
>   echo "trgfrma[".$i."] = '_parent';\n";
>  }

Her laver du en for løkke for _alle_ rækker i din forespørgsel.

> }

Her slutter din while løkke, _derfor_ får du mere output end du
forventer...

> Giver ingen udskrift på skærmen, men flg. i kildekoden:

Ja, det er dit javascript array. Nu skal du få javascriptet til at
virke.

> titlea[0] = 'THIS IS NEWS TEST #1';
> texta[0] = 'Here you'll soon be able to read the latest news about The
> PosseGrim Squad...';
> linka[0] = 'http://pgsquad.com/main.php';
> trgfrma[0] = '_parent';
> titlea[1] = 'THIS IS NEWS TEST #1';
> texta[1] = 'Here you'll soon be able to read the latest news about The
> PosseGrim Squad...';
> linka[1] = 'http://pgsquad.com/main.php';
> trgfrma[1] = '_parent';
> titlea[2] = 'THIS IS NEWS TEST #1';
> texta[2] = 'Here you'll soon be able to read the latest news about The
> PosseGrim Squad...';
> linka[2] = 'http://pgsquad.com/main.php';
> trgfrma[2] = '_parent';
> titlea[0] = 'News Test';
> texta[0] = 'News Test';
> linka[0] = 'http://';
> trgfrma[0] = '_parent';
> titlea[1] = 'News Test';
> texta[1] = 'News Test';
> linka[1] = 'http://';
> trgfrma[1] = '_parent';
> titlea[2] = 'News Test';
> texta[2] = 'News Test';
> linka[2] = 'http://';
> trgfrma[2] = '_parent';
>
> Hvilket i bund og grund er en dobbeltpostering af alle felter.
> Som jo er logisk nok (tror jeg), idet der er en for-løkke indeni en
> while-løkke...?

Ja, det er en underlig fremgangsmåde, kig på den jeg poste i aftes
> Skriver jeg derimod:
>
> while($data = mysql_fetch_array($result)) {
>  $title = $data['title'];
>  $text = $data['text'];
>  $url = $data['url'];
>
> }
>
>  $x = mysql_num_rows($result);
>  for($i=0;$i<=$x;$i++) {
>   echo "titlea[".$i."] = '".$title."';\n";
>   echo "texta[".$i."] = '".$text."';\n";
>   echo "linka[".$i."] = '".$url."';\n";
>   echo "trgfrma[".$i."] = '_parent';\n";
>  }
>
> Får jeg flg. udskrevet på skærmen...:
>
> News Test (titlea)
> News Test (texta)
>
> News Test (titlea)
> News Test (texta)
>
> ...og dette i kildekoden, hvilket jeg ikke helt forstår...:
>
> titlea[0] = 'News Test';
> texta[0] = 'News Test';
> linka[0] = 'http://';
> trgfrma[0] = '_parent';
> titlea[1] = 'News Test';
> texta[1] = 'News Test';
> linka[1] = 'http://';
> trgfrma[1] = '_parent';
> titlea[2] = 'News Test';
> texta[2] = 'News Test';
> linka[2] = 'http://';
> trgfrma[2] = '_parent';
>
> Her bliver første postering i databasen sprunget over, og post nr. 2 bliver
> udskrevet 2 gange, men vises 3 gange i kildekoden...?

Fordi du overskriver variablerne i while løkken.

> Jeg har en ide om, at jeg måske skal bruge foreach(), men her løber jeg
> panden mod muren. Er helt blank!

Kig på mit eksempel fra i aftes.

> Håber virkelig, der er venlig sjæl, som vil give et indspark...

Start med at få dit javascript til at virke med et enkelt element i
arrayet, altså uden at hente indhold fra database.
Når det spiller, så kan du trække de data ud af databasen du vil ha og
checke i kildekoden at det ser ud som det skal.

--
Mvh
Kim Emax

Dennis Munding (14-09-2009)
Kommentar
Fra : Dennis Munding


Dato : 14-09-09 02:16

Hej Gruppe!
"Dennis Munding" <invalid@invalid.org> skrev i meddelelsen
news:4aa4114f$0$36563$edfadb0f@dtext01.news.tele.dk...
> Hej NG!
>
> Jeg sidder med et problem, som jeg håber en venlig sjæl kan hjælpe mig i
> gang med...

Det gør jeg så ikke længere...

Lidt flytten rundt med php-koden gjorde udfaldet.
Nu virker det.

Tak til Birger for det store indspark!


Med venlig hilsen
--
Dennis Munding
a.k.a. The Eye - Member of the PosseGrim Squad
http://pgsquad.com/
"Når du hører vinden, er du allerede død..."


Birger Sørensen (14-09-2009)
Kommentar
Fra : Birger Sørensen


Dato : 14-09-09 09:28

Dennis Munding skrev:
> Hej Gruppe!
> "Dennis Munding" <invalid@invalid.org> skrev i meddelelsen
> news:4aa4114f$0$36563$edfadb0f@dtext01.news.tele.dk...
>> Hej NG!
>>
>> Jeg sidder med et problem, som jeg håber en venlig sjæl kan hjælpe mig i
>> gang med...
>
> Det gør jeg så ikke længere...
>
> Lidt flytten rundt med php-koden gjorde udfaldet.
> Nu virker det.
>
> Tak til Birger for det store indspark!
>
>
> Med venlig hilsen

Selvtak Dennis.

Den kode du postede, var ikke så meget hjælp til lokalisering af
problemet.
Jeg havde nok en idé om, at det kom et forkert sted - men der kunne
være mange andre årsager også.

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



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

Månedens bedste
Årets bedste
Sidste års bedste