php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.09.2011, 13:35  
Erfahrener Benutzer
 
Registriert seit: 11.04.2011
Beiträge: 141
PHP-Kenntnisse:
Anfänger
EG2011 ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Erledigt] Frage zu Variablendeklaration

Servus allerseits,

Ich habe folgenden, funktionierenden Code geschrieben:

Code:
<body>
	<h2>Trainingslager</h2>
	<table>
	
<?php	
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$query = "SELECT teamID FROM team
			WHERE eigentuemerID = '{$_SESSION['EigentuemerID']}'
			LIMIT 1";
$data = mysqli_query($dbc, $query);
$row = mysqli_fetch_array($data);
	
$query2 = "SELECT * FROM spieler
				WHERE teamID = '{$row['teamID']}'";
				
$data = mysqli_query($dbc, $query2);

$counter = 0;
while ($row = mysqli_fetch_array($data)) {

	$counter += 1;
	echo	"<tr id=$counter>";
?>
			<td>
				<?php echo $row['vorname']; ?>
			</td>
			<td>
				<?php echo $row['nachname']; ?>
			</td>
			<td>
				<?php echo $row['staerken_zuwachs']; ?>
			</td>
			<td id='neuerZuw'>
				 <!-- Platzhalter für 2 Chars (z.B. +2) -->
			</td>
			<script type="text/javascript">
			var gewinne = new Array('0','0','0','1','1','2'); // Gewinn-Array erstellen. Kann beliebig verändert werden
			var gewinneLokal = gewinne;
			var neu = new Array();
			while (gewinneLokal.length > 0) {
				var zufall = Math.floor(Math.random() * gewinneLokal.length);
				var wert = gewinneLokal[zufall];
				gewinneLokal.splice(zufall, 1);
				neu.push(wert);
			}
			var zaehler = <?php echo $counter ?>;
			for (var i=0; i<neu.length; i++) {
				var td = document.createElement("td");
				var tdtext = document.createTextNode(neu[i]);
				td.appendChild(tdtext);
				var tr = document.getElementById(zaehler)
				tr.appendChild(td);
			}
			</script>
<?php	
	echo	'</tr>';
	}
?>
	</table>
</body>
</html>
Meine Frage hierzu:
Eigentlich wollte ich das Array "gewinne" nicht jedesmal in der PHP-Schleife über "var gewinne" neu initialisieren, sondern einmal global definieren. Hierzu hatte ich das Array am Anfang des Dokuments folgendermaßen implementiert::

Code:
<script type="text/javascript">
var gewinne = new Array('0','0','0','1','1','2');
</script>
Das Resultat war allerdings, dass das Array gewinne ab dem zweiten PHP-Schleifendurchlauf (beim Namen Peter Piffpaff) leer war. Der erste Durchlauf für Hans Himmel hatte wunderbar funktioniert.

Vielleicht steh ich grad aufem Schlauch, aber ich habe nicht verstanden, warum sich das Array plötzlich geleert hat. Wenn PHP sich über fetch_array den nächsten Datensatz holt, dann dürfte das Array doch eigentlich nicht seine Werte verlieren?!

Könnte mich vielleicht jemand aufschlauen?

Danke und Gruß, Seb
EG2011 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.09.2011, 13:50  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

In Zukunft überlege bitte zunächst, ob dein Problem ein client- oder ein serverseitiges ist – und poste dann auch nur entsprechenden Beispielcode.
Bei einem clientseitigen Problem ist serverseitiger Code uninteressant.

Zitat:
Zitat von EG2011 Beitrag anzeigen
Vielleicht steh ich grad aufem Schlauch, aber ich habe nicht verstanden, warum sich das Array plötzlich geleert hat. Wenn PHP sich über fetch_array den nächsten Datensatz holt, dann dürfte das Array doch eigentlich nicht seine Werte verlieren?!
PHP hat nicht das geringste damit zu tun.

Code:
var gewinneLokal = gewinne;
Das erzeugt keine Kopie von gewinne, sondern lediglich eine Referenz darauf.
Alle Manipulationen, die du jetzt an gewinneLokal vornimmst (Elemente mit splice herauslöschen), werden also auch an gewinne vorgenommen.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 04.09.2011, 14:05  
Erfahrener Benutzer
 
Registriert seit: 11.04.2011
Beiträge: 141
PHP-Kenntnisse:
Anfänger
EG2011 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@Chris
Mir war klar, dass PHP damit nix zutun haben kann. Ich musste aber irgendwie erläutern wann was noch angezeigt wird und wann nicht mehr. Daher habe ich von der PHP-Schleife gesprochen.

Besten Dank, dass du wieder so schnell warst.
Habe das Problem nun gelöst =)!!!

Thread kann geschlossen werden.

Gruß, Seb
EG2011 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP Test Frage (Variablen) Bloodcell PHP Einsteiger 12 04.08.2011 20:01
Eine Frage zum guten Code-Layout SilentSight JavaScript, Ajax und mehr 3 14.07.2010 09:18
[Erledigt] Frage zu JOIN Befehl und dem Auslesen desselben apo PHP Tipps 2010 11 13.06.2010 19:32
[PDO] Frage zur Portabilität freq.9 PHP-Fortgeschrittene 2 29.07.2005 13:28
[Erledigt] frage PHP Tipps 2005-2 9 15.06.2005 13:22
.htaccess - Frage Stümper PHP Tipps 2005 11 30.05.2005 11:56
Performence Frage PHP-Fortgeschrittene 10 06.05.2005 19:00
Frage zu einem Editformular PHP Tipps 2005 3 25.04.2005 14:58
Frage: gibt es bei PHP sowas wie target="_blank" PHP Tipps 2005 6 20.04.2005 06:27
mal ne Frage PHP Tipps 2005 7 14.04.2005 09:46
Technische Frage zur Realisation einer Online-Umfrage Stefano PHP Tipps 2005 5 16.03.2005 17:39
Frage zu einer Liste? HTML, Usability und Barrierefreiheit 2 15.02.2005 16:56
Hallo und Frage zu dynamischer Veränderung in Textfeldern. PHP Tipps 2004-2 2 27.12.2004 22:29
[Erledigt] Frage zur Funkrionen? PHP Tipps 2004-2 10 01.12.2004 09:42
Kurze Frage an die Php Profis PHP Tipps 2004-2 11 24.11.2004 17:38

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
variablendeklaration php

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum