variable übergeben

kN0k_kN0k

Grünschnabel
in dem array $arraylink hab ich etwas aus
einer db eingelesen und das will ich jetzt dem
array 'array2' übergeben aber er übergibt mir
immer nur den inhalt von $arraylink[0]
also er erhöt m nicht....
wie kann ich das lösen?

var array2 = new Array();

for(var h=0;h<'$x';h++)
{
array2[h]='$arraylink[$m]';

'$m++;'
}
 
Hi,


PHP:
<?php

echo("var array2 = new Array();");

for ($i=0; $i<$x; $i ++) {
    echo("array2[".$i."] = ".$arraylink[$i].";");
}

?>

Gruß
.
 
hmm wenn ich das mache geht das mit den popups nichtmehr
hier der komplette javascript teil:

PHP:
echo"
		<p>
		<button onclick=\"popup(array2[i]);\">button</button>
	";

	
echo"
<script type=\"text/javascript\"> 
    <!-- 

	 var array2 = new Array(); 
	 
	 for(var h=0;h<'$x';h++)
	 {
		array2[h]='$arraylink[$m]';
		
		'$m++;'
	 }

	 function rand(min,max)
	  {
        var div = (max - min) + 1
        var randNum = Math.random()
        for (var i = 0; i <= div - 1; i++)
        {
                if (randNum >= i / div && randNum < (i+1) / div)
                        {return i + min}
        }
	  }

	  var hWin = null; 
	  var i=0; 

	   function popup(strPage)
	   {  	
			hWin = window.open(strPage, \"test\"); 
	   		window.setTimeout(\"closeWin()\", (rand(7,20)*1000));
	   } 
	   
	   function closeWin()
	   { 
	   		hWin.close(); 
	   		hWin = null; 
			
			i++; 
	   
	   		if(i < array2.length)
			{ 
				popup(array2[i]); 
			}
			
			else 
			{
				i=0;
			}
		}
	    //--> 
</script> 
";
 
hmm also bekommt array2 immer den wert von $arraylink[0]....

PHP:
<script type="text/javascript"> 
    <!-- 

	 var array2 = new Array(); 
	 
	 for(var h=0;h<'5';h++)
	 {
		array2[h]='inhalt von $arraylink[0]';
		
		'0++;'
	 }

	 function rand(min,max)
	  {
        var div = (max - min) + 1
        var randNum = Math.random()
        for (var i = 0; i <= div - 1; i++)
        {
                if (randNum >= i / div && randNum < (i+1) / div)
                        {return i + min}
        }
	  }

	  var hWin = null; 
	  var i=0; 

	   function popup(strPage)
	   {  	
			hWin = window.open(strPage, "test"); 
	   		window.setTimeout("closeWin()", (rand(7,20)*1000));
	   } 
	   
	   function closeWin()
	   { 
	   		hWin.close(); 
	   		hWin = null; 
			
			i++; 
	   
	   		if(i < array2.length)
			{ 
				popup(array2[i]); 
			}
			
			else 
			{
				i=0;
			}
		}
	    //--> 
</script>

so siehts aus wenn ich das von dir reinbaue:

PHP:
<script type="text/javascript"> 
    <!-- 

	 var array2 = new Array(); 
	 
	 
	
	for(h=0; h<'5';h++) 
	{
    	array2[h] = ;}  

	 function rand(min,max)
	  {
        var div = (max - min) + 1
        var randNum = Math.random()
        for (var i = 0; i <= div - 1; i++)
        {
                if (randNum >= i / div && randNum < (i+1) / div)
                        {return i + min}
        }
	  }

	  var hWin = null; 
	  var i=0; 

	   function popup(strPage)
	   {  	
			hWin = window.open(strPage, "test"); 
	   		window.setTimeout("closeWin()", (rand(7,20)*1000));
	   } 
	   
	   function closeWin()
	   { 
	   		hWin.close(); 
	   		hWin = null; 
			
			i++; 
	   
	   		if(i < array2.length)
			{ 
				popup(array2[i]); 
			}
			
			else 
			{
				i=0;
			}
		}
	    //--> 
</script>
 
Das glaub ich nicht. Poste mal den PHP-Quellext mit der Änderung.

Die Schleife sollte im JS garnicht mehr auftauchen, sondern eher so etwas:
Code:
var array2 = new Array();
array2[0] = [Inhalt von $arraylink[0]];
array2[1] = [Inhalt von $arraylink[1]];
array2[2] = [Inhalt von $arraylink[2]];
array2[3] = [Inhalt von $arraylink[3]];
...
(allerdings ohne Zeilenumbrüche)

Grund: Du kannst JavaScipt- und PHP-Schleifen nicht so mischen, wie Du Dir das vorstellst, da PHP auf dem Server ausgeführt wird, bevor die Seite an den Browser gesendet wird. Soll der Inhalt eines PHP-Arrays in einem JavaScript-Array zur Verfügung stellen, musst Du alle Arrayelemente direkt in den Seitenquelltext schreiben.

Gruß
.
 
so hab ich das von dir eingebaut:

PHP:
echo"
		<p>
		<button onclick=\"popup(array2[i]);\">automatisch versenden</button>
	";

	
echo"
<script type=\"text/javascript\"> 
    <!-- ";

########
echo("var array2 = new Array();");

for ($i=0; $i<$x; $i ++) {
    echo("array2[".$i."] = ".$arraylink[$i].";");
}
#####
echo"

	 function rand(min,max)
	  {
        var div = (max - min) + 1
        var randNum = Math.random()
        for (var i = 0; i <= div - 1; i++)
        {
                if (randNum >= i / div && randNum < (i+1) / div)
                        {return i + min}
        }
	  }

	  var hWin = null; 
	  var i=0; 

	   function popup(strPage)
	   {  	
			hWin = window.open(strPage, \"test\"); 
	   		window.setTimeout(\"closeWin()\", (rand(7,20)*1000));
	   } 
	   
	   function closeWin()
	   { 
	   		hWin.close(); 
	   		hWin = null; 
			
			i++; 
	   
	   		if(i < array2.length)
			{ 
				popup(array2[i]); 
			}
			
			else 
			{
				i=0;
			}
		}
	    //--> 
</script> 
";

und das steht im seitenquelltext:

PHP:
<script type="text/javascript"> 
    <!-- var array2 = new Array();
########
      array2[0] = [Inhalt von $arraylink[0]];
      array2[1] = [Inhalt von $arraylink[1]];
      array2[2] = [Inhalt von $arraylink[2]];
      array2[3] = [Inhalt von $arraylink[3]];
#####
	 function rand(min,max)
	  {
        var div = (max - min) + 1
        var randNum = Math.random()
        for (var i = 0; i <= div - 1; i++)
        {
                if (randNum >= i / div && randNum < (i+1) / div)
                        {return i + min}
        }
	  }

	  var hWin = null; 
	  var i=0; 

	   function popup(strPage)
	   {  	
			hWin = window.open(strPage, "test"); 
	   		window.setTimeout("closeWin()", (rand(7,20)*1000));
	   } 
	   
	   function closeWin()
	   { 
	   		hWin.close(); 
	   		hWin = null; 
			
			i++; 
	   
	   		if(i < array2.length)
			{ 
				popup(array2[i]); 
			}
			
			else 
			{
				i=0;
			}
		}
	    //--> 
</script>

jetzt funktioniert das mit den popups aber nicht mehr
 
Hi,

bei mir geht das soweit. In dem Array stehen Links (Strings), oder? Dann sollten natürlich die Anführungszeichen mit ausgegeben werden (sofern sie inm PHP-Array nicht enthalten sind):
PHP:
echo("var array2 = new Array();");

for ($i=0; $i<$x; $i ++) {
    echo("array2[".$i."] = \"".$arraylink[$i]."\";");
}

Gruß
.
 
die links und alles ist drin, nur wenn ich auf den button klicke:

PHP:
echo"
        <p>
        <button onclick=\"popup(array2[i]);\">automatisch versenden</button>
    ";

passiert gar nix mehr
 
... hast Du nun die Anführungszeichen mit ausgegeben, wie ich es in meinem letzten Posting beschrieben habe?

Bei mir funktioniert Dein Script, sofern in dem Array so etwas steht:
Code:
array2[0] = "seite1.htm";
array2[1] = "seite2.htm";
...
(Mit Anführungszeichen)

Gruß
.
 

Neue Beiträge

Zurück