php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 2 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 01-02-2014, 11:53
Simbo_der_Baer
 Registrierter Benutzer
Links : Onlinestatus : Simbo_der_Baer ist offline
Registriert seit: Jan 2014
Beiträge: 18
Simbo_der_Baer befindet sich auf einem aufstrebenden Ast
Standard php array in eine javascript function

Hallo Leute!
Ich hoffe ich habe den richtigen Thread gewählt.
Ich habe vor ein php array in eine js function zu bringen. Jedoch soll diese function nicht einfach nur das array ausgeben sondern immer nur ein Teil. Ich weiß nicht ganz wie ich hier weiter kommen soll. Ich habe im Netz nur gefunden wie man das ganze array ausgibt. Hier mein Quellcode, der eine Reihe buttons ausgibt auf denen beim click die Werte 11,12,13...,20 stehe sollen. Momentan kommt bei einem click nur die 20 zu stande weil er sich nur das letzte Element des Arrays merkt:
Code:
<?php
$array=array();
for($i=0;$i<=10;$i++){
	$array[$i]=$i+10;
}
echo "<script type='text/javascript' src='jquery.js'></script>";
echo "<table border='1'>";
for($i=0;$i<=10;$i++){
	echo "<td><input type='submit' name='button[]' value='  '</td>";
	echo "<script type='text/javascript'>
		var Wert=".$array[$i].";
		$(document).ready(function(){
			$('input').click( function(){
				$(this).attr('type','submit').val(Wert);
			});
		});
		</script>";
	}
		
?>

Geändert von Simbo_der_Baer (01-02-2014 um 11:58 Uhr)
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 01-02-2014, 12:27
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist gerade online
Registriert seit: Mar 2008
Beiträge: 3.741
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Warum gibst du immer wieder den selben JavaScript-Code aus? Warum schreibst du den Wert von $array nicht einfach in eine JavaScript-Variable und verwendest diese dann? Mal davon abgesehen, dass dein HTML-Code fehlerhaft ist. Den solltest du reparieren.

Hilfreiches Werkzeug:

http://validator.w3.org/
Mit Zitat antworten
  #3 (permalink)  
Alt 01-02-2014, 13:23
Simbo_der_Baer
 Registrierter Benutzer
Links : Onlinestatus : Simbo_der_Baer ist offline
Registriert seit: Jan 2014
Beiträge: 18
Simbo_der_Baer befindet sich auf einem aufstrebenden Ast
Standard

danke für die schnelle antwort aber dazu noch fragen.
1. Du meinst also ich sollte das ganze array in javascript speichern? z.B. json_encode($array) oder meinst du ausserhalb der for-Schleife ??? aber mein Problem ist dabei das ich ja nicht das ganze array ausgibt, sondern nur den aktuellen Wert.
2. Meinst du zum 'kaputen' HTML-code das ich bsw table nicht schließe?tr nicht öffne schließe? habe das programm nur schnell als test geschrieben.

Geändert von Simbo_der_Baer (01-02-2014 um 13:29 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 01-02-2014, 14:00
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist gerade online
Registriert seit: Mar 2008
Beiträge: 3.741
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Simbo_der_Baer Beitrag anzeigen
Du meinst also ich sollte das ganze array in javascript speichern? z.B. json_encode($array) oder meinst du ausserhalb der for-Schleife ??? aber mein Problem ist dabei das ich ja nicht das ganze array ausgibt, sondern nur den aktuellen Wert.
Doch, dadurch wird das ganze Array ausgegeben.
Mit Zitat antworten
  #5 (permalink)  
Alt 01-02-2014, 14:47
Simbo_der_Baer
 Registrierter Benutzer
Links : Onlinestatus : Simbo_der_Baer ist offline
Registriert seit: Jan 2014
Beiträge: 18
Simbo_der_Baer befindet sich auf einem aufstrebenden Ast
Standard

genau das soll es doch nicht :/
ich will ja auf den Buttons nur einen Wert stehen haben. Wenn ich auf den ersten klicke dann soll da '10' draufstehen bei dem letzten eine '20'.
wenn ich mit Wert=".json_encode($array)." im javascript den wert 'Wert' fülle, dann weiß ich nicht wie ich genau den Wert ausgebe der grade geklickt wurde.

Geändert von Simbo_der_Baer (01-02-2014 um 15:14 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 01-02-2014, 15:29
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist gerade online
Registriert seit: Mar 2008
Beiträge: 3.741
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Simbo_der_Baer Beitrag anzeigen
genau das soll es doch nicht :/
ich will ja auf den Buttons nur einen Wert stehen haben. Wenn ich auf den ersten klicke dann soll da '10' draufstehen bei dem letzten eine '20'.
wenn ich mit Wert=".json_encode($array)." im javascript den wert 'Wert' fülle, dann weiß ich nicht wie ich genau den Wert ausgebe der grade geklickt wurde.
Dafür gibts ja Schleifen. Auch in JavaScript und nicht nur in PHP.
Mit Zitat antworten
  #7 (permalink)  
Alt 01-02-2014, 15:31
Simbo_der_Baer
 Registrierter Benutzer
Links : Onlinestatus : Simbo_der_Baer ist offline
Registriert seit: Jan 2014
Beiträge: 18
Simbo_der_Baer befindet sich auf einem aufstrebenden Ast
Standard

Das weiß ich ja aber das Problem bleibt erhalten. Ich weiß nicht wie ich javascript sage bei welchem Element des arrays ich grade bin.
Mit Zitat antworten
  #8 (permalink)  
Alt 01-02-2014, 15:40
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist gerade online
Registriert seit: Mar 2008
Beiträge: 3.741
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Jetzt kommts mir erst: Warum schreibst du die Werte nicht einfach in die value-Attribute?

Das Ganze sollte ja auch ohne JavaScript funktionieren und da musst du die Werte ja auch irgendwo hernehmen.
Mit Zitat antworten
  #9 (permalink)  
Alt 01-02-2014, 15:43
Simbo_der_Baer
 Registrierter Benutzer
Links : Onlinestatus : Simbo_der_Baer ist offline
Registriert seit: Jan 2014
Beiträge: 18
Simbo_der_Baer befindet sich auf einem aufstrebenden Ast
Standard

Ich möchte ja erst die Werte in den Button haben wenn ich draufklicke.
Ich bin grade am Minesweeper programmieren und habe alles fertig nur weiß ich nicht wie ich diesen Teil davon ausführe.
Mein versuch mit der Schleife in JS funktioniert auch nicht:
Code:
echo "<script type='text/javascript'>
		$(document).ready(function(){
			$('input:submit').click( function(){
				var Wert=".json_encode($array).";
				for(i=0;i<=10;i++){
					$(this).attr('name','button[i]').val(Wert[i]);
				}
			});
		});
		</script>";
Mit Zitat antworten
  #10 (permalink)  
Alt 01-02-2014, 15:45
Simbo_der_Baer
 Registrierter Benutzer
Links : Onlinestatus : Simbo_der_Baer ist offline
Registriert seit: Jan 2014
Beiträge: 18
Simbo_der_Baer befindet sich auf einem aufstrebenden Ast
Standard

Falls es interessiert hier der Quellcode von meinem MinesweeperEs kann sein dass noch irgendwo kontrollausgaben dabei sind)
Code:
<?php
print_r($_POST);
$x=10;
$y=10;
$minen=10;
function feld_erstellen($x,$y){
	$feld=array(array($y+2),array($x+2));
	for($i=0;$i<=$y+1;$i++){
		for($j=0;$j<=$x+1;$j++){
			$feld[$j][$i]=0;
		}
	}
	
	return $feld;
}

function minen_erstellen($feld,$x,$y,$minen){
	for($i=1;$i<=$minen;$i++){
		$random_x=rand(1,$x);
		$random_y=rand(1,$y);
		if($feld[$random_x][$random_y] == 0){
			$feld[$random_x][$random_y]='x';
			
			
		}
		else{
			$i--;
			//echo $random_x." ".$random_y."  ";
			//echo $feld[$random_x][$random_y]."<br>";
			
		}
	}
	return $feld;
}

function minen_aufsuchen($feld,$x,$y){
	for($i=1;$i<=10;$i++){
		for($j=1;$j<=10;$j++){
			$value=0;						//value gibt die Minen um die Zelle herum an
			$string="";						//tests
			if($feld[$j][$i]!=='x'){			//checken ob die Zelle keine Mine ist
				if($feld[$j-1][$i]==='x'){	//Links daneben
					$value++;
					$string=$string."L";
				}
				if($feld[$j-1][$i-1]==='x'){	//Links-unten daneben
					$value++;
					$string=$string."Lu";
				}
				if($feld[$j][$i-1]==='x'){	//Unten daneben
					$value++;
					$string=$string."U";
				}
				if($feld[$j+1][$i-1]==='x'){	//Rechts-unten daneben
					$value++;
					$string=$string."Ru";
				}
				if($feld[$j+1][$i]==='x'){	//Rechts daneben
					$value++;
					$string=$string."R";
				}
				if($feld[$j+1][$i+1]==='x'){	//Rechts-oben daneben
					$value++;
					$string=$string."Ro";
				}
				if($feld[$j][$i+1]==='x'){	//Oben daneben
					$value++;
					$string=$string."O";
				}
				if($feld[$j-1][$i+1]==='x'){	//Links-oben daneben
					$value++;
					$string=$string."Lo";
				}
				$feld[$j][$i]=$value;				//Wert der Zelle zuordnen
				//echo $j." ".$i."=".$value." und ".$string."<br>";
				//echo "<br> in function ".$feld[2][2];
			}
		}
	}
	//echo "<br> in function ".$feld[2][2];
	return $feld;
}

function feld_ausgeben($feld,$x,$y){
	echo "<script type='text/javascript' src='jquery.js'></script>";
	echo "<table border='1'>";
	//echo "<form method='POST' name='press'>";
	for($i=$y;$i>0;$i--){
		echo "<tr>";
		$variable=$i;
		for($j=1;$j<=$x;$j++){
			echo "<td><input type='submit' name='button[]' value='  '></td>";
			
			echo	"<script type='text/javascript'>
						var Wert= ".$feld[$i][$j].";
						$(document).ready(function() {
							$('input').click( function(){
								$(this).attr('type','submit').val(Wert);
							});
						});
					</script>";
		}
		echo "</tr>";
	}
	//echo "</form>";
	echo "</table>";
}
if(empty($_POST['feld'])){
	$feld=feld_erstellen($x,$y);
	$feld=minen_erstellen($feld,$x,$y,$minen);
	$feld=minen_aufsuchen($feld,$x,$y);
	echo "<form method='POST' name='Starten'>";
	$i=0;
	for($i=0;$i<=$x+1;$i++){
		//$j=0;						Ausgabetests
		foreach($feld[$i] as $value){
			echo "<input type='hidden' name='feld[]' value='".$value."'>";
			//$j++;
		}
		//echo $j."j<br>";
	}
	
	
	echo "<input type='submit' value='Starten'>";
	echo '</form>';
	//echo "works";
	
}
else{
	$feld=array(array(),array());
	$i=0;
	foreach($_POST['feld'] as $key){
		$new_x=$i%($x+2);
		$new_y=floor($i/($x+2));
		$feld[$new_x][$new_y]=$key;
		//echo "<br>".$new_x.",".$new_y."=".$key;
		$i++;
	}
	//echo "works";
	//echo $feld[9][8];		//test
	$feld=minen_aufsuchen($feld,$x,$y);
	feld_ausgeben($feld,$x,$y);
}
	//echo $feld[1][1];





?>
Mit Zitat antworten
  #11 (permalink)  
Alt 01-02-2014, 15:51
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist gerade online
Registriert seit: Mar 2008
Beiträge: 3.741
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Wozu dann überhaupt PHP? Wenn du zwingend JavaScript dafür brauchst, kannst du es ja gleich in JavaScript-Only schreiben. PHP ist dann nur ein Klotz am Bein.
Mit Zitat antworten
  #12 (permalink)  
Alt 01-02-2014, 15:55
Simbo_der_Baer
 Registrierter Benutzer
Links : Onlinestatus : Simbo_der_Baer ist offline
Registriert seit: Jan 2014
Beiträge: 18
Simbo_der_Baer befindet sich auf einem aufstrebenden Ast
Standard

Ich fühle mich mit php einfach sicherer. Javascript habe ich nur online gelernt. Ich habe das Programm auch so gut wie fertig nur fehlt halt dieser eine Teil. Wenn du eine Möglichkeit hast wie ich es auch mit PHP lösen kann, dann bin ich ganz Ohr. Ich wollte es nur nicht mit POST machen, sodass die Seite jedesmal neu lädt wenn ich einen Button klicke.
Mit Zitat antworten
  #13 (permalink)  
Alt 01-02-2014, 15:56
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist gerade online
Registriert seit: Mar 2008
Beiträge: 3.741
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Simbo_der_Baer Beitrag anzeigen
Ich fühle mich mit php einfach sicherer.
Dann lass JavaScript weg. Und wenns mal ohne JavaScript funktioniert, dann machst du JavaScript dazu! Stück für Stück und nicht alles auf einmal.
Mit Zitat antworten
  #14 (permalink)  
Alt 01-02-2014, 16:25
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

OffTopic:
Zitat:
Zitat von h3ll Beitrag anzeigen
Dann lass JavaScript weg. Und wenns mal ohne JavaScript funktioniert, dann machst du JavaScript dazu!
Yeah, Minesweeper server-side umgesetzt, da mach das Spielen Spaß, wenn jeder Klick erst mal neu laden der Seite erfordert
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #15 (permalink)  
Alt 01-02-2014, 16:27
Simbo_der_Baer
 Registrierter Benutzer
Links : Onlinestatus : Simbo_der_Baer ist offline
Registriert seit: Jan 2014
Beiträge: 18
Simbo_der_Baer befindet sich auf einem aufstrebenden Ast
Standard

das hatte ich ja auch grad gesagt :/
Aber wenn ihr mir nicht helfen könnt werde ich es erstmal so versuchen. Danke soweit
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
function in eine SESSION speichern ... JND_3004 PHP Developer Forum 5 25-11-2013 06:28
php array an javascript array parsen problem lostindarkness PHP Developer Forum 3 06-03-2011 15:26
wie füge ich per php eine Variable in eine Javascript ein survider PHP Developer Forum 2 09-09-2007 19:32
PHP-Array in eine HTML-Tabelle einbinden beowulf1980 HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 5 11-04-2006 21:33
Javascript variable an PHP Function Arni PHP Developer Forum 21 09-02-2005 22:07

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:29 Uhr.