Stefan: Array PHP in Array Javascript

Hallo

Aus einer DB erhalte ich Inhalte zurück (Abfrage mit PHP). Diese schreibe ich in ein PHP-Array. Die Inhalte dieses PHP Arrays sollten nun in ein Javascript Array umgewandelt werden, damit die Ausgabe in einem Marquee Tag erfolgen kann. Im vorhandenen Code wird das Array im JS selbst erstellt (siehe im JS Code unten leftrightslide Array).

Ich möchte dieses Array aber dynamisch mit den DB Inhalten füllen. Kann mir jemand weiterhelfen?

// die Breite der SlideShow (in Pixel)
var sliderwidth=400
// die Hoehe der SlideShow (in Pixel - wegen NS)
var sliderheight=145
// die Geschwindigkeit der SlideShow
var slidespeed=5

// Funktion um Scrollen zu beschleunigen
function increase_scrollAmount()
{
 ieslider.scrollAmount = ieslider.scrollAmount + 1;
 slidespeed = ieslider.scrollAmount
}

// Funktion um Scrollen zu verlangsamen
function decrease_scrollAmount()
{
 ieslider.scrollAmount = ieslider.scrollAmount - 1;
 slidespeed = ieslider.scrollAmount
}

// Funktion um Scroll Richtung zu ändern
function change_direction()
{
 if(ieslider.direction == "left")
  {
   ieslider.direction = "right"
  }
    else
      ieslider.direction = "left"
}

// hier werden die Bilder definiert - auch mit Links
var leftrightslide=new Array()
var finalslide=''

leftrightslide[0]='<a href="pictures/usa/bryce_canyon.jpg" target="bild"><img src="pictures/usa/TN_bryce_canyon.JPG" border=0></a>'
leftrightslide[1]='<a href="pictures/usa/bryce_canyon2.jpg" target="bild"><img src="pictures/usa/TN_bryce_canyon2.JPG" border=0></a>'

var copyspeed=slidespeed
//copy contents of leftrightslide into one variable
for (m=0;m<leftrightslide.length;m++)
finalslide=finalslide+leftrightslide[m]+"  "

if (document.all){
//dynamically write out the marquee tag
document.write('<marquee id="ieslider" direction="right" scrollAmount=5 style="width:'+sliderwidth+'">'+finalslide+'</marquee><br>')

//stop marquee when mouse is over it
ieslider.onmouseover=new Function("ieslider.scrollAmount=0")
//re-enable marquee when mouse is out
ieslider.onmouseout=new Function("if (document.readyState=='complete') ieslider.scrollAmount=slidespeed")

}

function regenerate(){
window.location.reload()
}

function regenerate2(){
if (document.layers){
document.ns_slider01.visibility="show"
setTimeout("window.onresize=regenerate",450)
intializeleftrightslide()
}

if (document.all)
ieslider.scrollAmount=slidespeed
}

  1. Hallo, ich kann Dir nur einen Ansatz bieten, aber vielleicht hilfts Dir ja.

    Aus einer DB erhalte ich Inhalte zurück (Abfrage mit PHP). Diese schreibe ich in ein PHP-Array.

    Gut, wenn Du das Array erstmal hast, musst Du die Werte nur noch per echo in ein Javascript Array schreiben, ich hab soetwas mal per for-Schleife über $x so gemacht:

    echo  " = new Array("";
    echo implode("","",$array[$x]); //Inhalt des Arrays für JS
    echo "");\n";

    Bei mir besteht das $array wieder aus arrays, aber wie Du siehst, kann man soetwas recht einfach über implode mit den richtigen Trennzeichen schreiben, das erste und das letzte Anführungszeichen muß man da noch extra hinzufügen.

    Viel Erfolg!
    barb :)