Avatar billede peder77 Nybegynder
13. januar 2005 - 08:46 Der er 15 kommentarer og
1 løsning

phpbb overskrifter i flash

Hej

Jeg har lavet et forum for en ven. (phpbb)
www.andersd241.dk/forum

jeg vil gerne trække de 5 nyeste indlæg ud af databasen og linke til dem på forsiden af hjemmesiden som er i flash.
Hans side er lavet i flash.

www.andersd241.dk/test.php

Som du kan  se har jeg fået overskrifterne ud med test.php men hvordan får jeg overskrifterne ind i flash?
jeg har før brugt:
---------------------------------------------------
loadVarsTxt = new LoadVars();
loadVarsTxt.load("http://www.andersd241.dk/test.php");
loadVarsTxt.onLoad = function (success){

if (success){
    tekst.htmlText = this.nPos1;
    }
else {
    tekst.htmlText = "Damn, det virker ikke :o(";
    }
}
---------------------------------------------------------
Menn det var til .asp
Avatar billede _k Nybegynder
13. januar 2005 - 09:35 #1
Du skal formatere dit php-output til noget i stil med:
&titel1=<a href="viewtopic.php?p=7#7">For Solsurfers only.</a>&
&forfatter1=af Anders<br />&
&titel2<a href="viewtopic.php?p=6#6">Alrø d. 7. januar 2005</a>&
&forfatter2=af Anders<br />&
&titel3=<a href="viewtopic.php?p=5#5">Velkommen</a>&
&forfatter3=af Anders<br />&

..som du så nok har prøvet før, kommer disse variable ind og ligge i LoadVars objektet. (der hvor du har en "this.nPos1" nu)
Strukturen og inddelingen af variable bestemmer du naturligvis selv.
Avatar billede peder77 Nybegynder
13. januar 2005 - 10:30 #2
her er test.php

----------------------------
  if (!mysql_connect("$server","$bruger","$kodeord")) {
    echo "Kunne ikke oprette en forbindelse til MySQL.";
  }

  if(!mysql_select_db("$database")) {
    echo "Kunne ikke vælge databasen: $database";
  }
 
   
    $resultat = mysql_query("select post_id, topic_id, poster_id, post_time from phpbb_posts order by post_time desc limit 0, 5");
    echo "";
    while ($raekke = mysql_fetch_array($resultat)) {

    //Find bruger
    $bruger = mysql_query("select username from phpbb_users where user_id='".$raekke['poster_id']."'");
    extract(mysql_fetch_array($bruger));
 
    //Find indlæg
    $topic = mysql_query("select topic_title from phpbb_topics where topic_id='".$raekke['topic_id']."'");
    extract(mysql_fetch_array($topic));
 
  echo "<a href=\"viewtopic.php?p=".$raekke['post_id']."#".$raekke['post_id']."\">$topic_title</a> af $username<br />";
}
---------------------------------------------------

er det der det skal sættes ind?
Avatar billede peder77 Nybegynder
13. januar 2005 - 10:31 #3
eller rettere.
Hvor skal det sættes ind ;)
Avatar billede _k Nybegynder
13. januar 2005 - 10:46 #4
Hvor skal hvad sættes ind?

Hvis det er udskrivningen af variable er det i sidste linje, og noget i retning af:

echo "&titel".$nr."=<a href=\"viewtopic.php?p=".$raekke['post_id']."#".$raekke['post_id']."\">$topic_title</a>&forfatter".$nr."= af $username<br />&";
$nr++;

..og så skal du lige sætte $nr til 0 udenfor while-løkken.
Avatar billede peder77 Nybegynder
13. januar 2005 - 10:55 #5
jeg er tilbage i eftermiddag
Avatar billede peder77 Nybegynder
13. januar 2005 - 15:26 #6
Ahh, det er sku vist for langhåret til mig.
Jeg dropper det.
Tak for hjælpen anyways.
Avatar billede _k Nybegynder
13. januar 2005 - 15:32 #7
På en skala fra 1 til 10, hvor 10 er sværest, ville jeg give det her en 2'er. Du skal bare bruge et par timer på at se sammenhængen og logikken. Men: your call......
Avatar billede peder77 Nybegynder
13. januar 2005 - 17:24 #8
_K jamen så prøver jeg.
Min Test.php ser nu sådan her ud
----------
  if (!mysql_connect("$server","$bruger","$kodeord")) {
    echo "Kunne ikke oprette en forbindelse til MySQL.";
  }

  if(!mysql_select_db("$database")) {
    echo "Kunne ikke vælge databasen: $database";
  }
 
   
    $resultat = mysql_query("select post_id, topic_id, poster_id, post_time from phpbb_posts order by post_time desc limit 0, 5");
    echo "";
    while ($raekke = mysql_fetch_array($resultat)) {

    //Find bruger
    $bruger = mysql_query("select username from phpbb_users where user_id='".$raekke['poster_id']."'");
    extract(mysql_fetch_array($bruger));
 
    //Find indlæg
    $topic = mysql_query("select topic_title from phpbb_topics where topic_id='".$raekke['topic_id']."'");
    extract(mysql_fetch_array($topic));
 
 
echo "&titel".$nr."=<a href=\"forum/viewtopic.php?p=".$raekke['post_id']."#".$raekke['post_id']."\">$topic_title</a>&forfatter".$nr."= af $username<br />&";
$nr++;


}
-------------

http://www.andersd241.dk/test.php

Så er den vel klar til at importere i flash?

Men umiddelbart virker det ikke.
Skal jeg ændre noget i actionscriptet?
som ser sådan her ud:
-----------------------


loadVarsTxt = new LoadVars();
loadVarsTxt.load("http://www.andersd241.dk/test.php");
loadVarsTxt.onLoad = function (success){

if (success){
    tekst.htmlText = this.nPos1;
    }
else {
    tekst.htmlText = "Damn, det virker ikke :o(";
    }
}


-----------------------
Avatar billede _k Nybegynder
13. januar 2005 - 21:13 #9
...en miniændring af scrriptet: Fjern mellemrummet mellem = og Anders - der må ikke være mellemrum mellem lighedstegnet og det første tegn i den indkomne variabel.

Hvis du laver et par tekstfelter mere til de andre overskrifter og forfatter, så er det nice. Ellers kan du bare beholde dit ene tekstfelt, men så behøver du ikke splitte det hele op i mange variable. Så kan du nøjes med en.

Men lad os antage du vil bruge php'en nu, og du har 4 tekstfelter. "titel", "titel1", "forfatter" og "forfatter1" (det er altså tektsfelternes instancenavne. Husk at de også skal være dynamiske). Så erstatter du onLoad-funktionen med:

loadVarsTxt.onLoad = function(success) {
  if (success){
    titel.text = this.titel;
    titel1.text = this.titel1;
    forfatter.text = this.forfatter;
    forfatter.text = this.forfatter1;
    }
  else {
    tekst.htmlText = "Damn, det virker ikke :o(";
  }
}

Det skulle være det :o)
Avatar billede peder77 Nybegynder
13. januar 2005 - 21:28 #10
jeg vil gerne have det hele i et tekst felt.
Altså med kun en variable.

Titel virker, men selv om tekstfeltet er til HMTL så står der <h href=.... og derefter teksten. Altså det bliver ikke lavet til et link
Titel1: det samme koden først og derefter 7 jan 2005
forfatter virker, men der kan jeg også se koden<BR> efter navnet
Forfatter1 virker ikke.

Men det begynder at ligne noget.
Avatar billede peder77 Nybegynder
19. januar 2005 - 16:51 #11
Tak for hjælpen _K.
Jeg gik i stå der. og er ikke kommet videre.
Jeg lukker her imorgen hvis du ikke har mere at tilføje.
Svar hvis du vil have points for din indsats
Avatar billede _k Nybegynder
20. januar 2005 - 20:48 #12
Sorry at jeg overså din kommentar fra d. 13!

Hvis du vil have alt i samme tekstfelt skal du kæde det hele sammen på php-siden. Sig til hvis du har problemer med det, så kan jeg godt hjælpe med formateringen (hvis det ikke er helt uoverskueligt ;)

Og grunden til at du kan se html-tags'ne, er fordi du skal lave dit tekstfelt til et html-tekstfelt. Der er en lille knap nede ved siden af instance-navnet der hedder "html". Sørg for at den er trykket ned.
Du skal så også, når du sætter indholdets indhold, specificere at det er html:

loadVarsTxt.onLoad = function(success) {
  if (success){
    NavnetPåDitTekstfelt.htmlText = this.titel;
    }
  else {
    NavnetPåDitTekstfelt.htmlText = "Damn, det virker ikke :o(";
  }
}
Avatar billede peder77 Nybegynder
21. januar 2005 - 10:46 #13
jeg kigger på det ved lejlighed og vender tilbage. hvis jeg får flere problemer.
Tekstfeltet er sat til html?
Avatar billede _k Nybegynder
21. januar 2005 - 11:06 #14
Super. Og hvis dit tekstfelt allerede ER sat til html, så er det nok bare at sætte den indkomne variabel til html-tekst: NavnetPåDitTekstfelt.htmlText = this.titel;
Avatar billede peder77 Nybegynder
08. februar 2005 - 09:34 #15
jeg lukker.
Har ikke fået kigget på det. men vender måske tilbage?? hvem ved :)
Avatar billede _k Nybegynder
08. februar 2005 - 10:18 #16
Mange tak for point. Du smider bare et spørgsmål herinde hvis du får brug for det....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester