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, 12: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 12:58 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 01-02-2014, 13:27
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.593
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, 14: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 14:29 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 01-02-2014, 15:00
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.593
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, 15: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 16:14 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 01-02-2014, 16:29
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.593
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, 16: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, 16:40
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.593
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, 16: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, 16: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, 16:51
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.593
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, 16: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, 16:56
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.593
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, 17: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, 17: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 07:28
php array an javascript array parsen problem lostindarkness PHP Developer Forum 3 06-03-2011 16:26
wie füge ich per php eine Variable in eine Javascript ein survider PHP Developer Forum 2 09-09-2007 20:32
PHP-Array in eine HTML-Tabelle einbinden beowulf1980 HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 5 11-04-2006 22:33
Javascript variable an PHP Function Arni PHP Developer Forum 21 09-02-2005 23: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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:49 Uhr.