php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.12.2004, 09:28  
Gast
 
Beiträge: n/a
Standard [Erledigt] Verschachtelte Arrays ausgeben

Hallo an alle,

ich schätze mal, ich darf meine Frage hier platzieren. Sollte ich es überschätzt haben, kein Problem damit, dass der Admin mein Post zum Anfänger Forum verschiebt.

Ich möchte Feld nummer Tabelle "phpbb_users" in einer mySQL Datenbank mit den Werten aus dem Feld nummer Tabelle "Egal" in einer MS SQL Server Datenbank synchronisieren. Um Problem zu lösen, habe ich mir folgendes gedacht:


1. mySQL Datenbank auslesen
Code:
$query="SELECT user_id, username, user_avatar, user_email, user_sig
FROM `phpbb_users`
WHERE...";
2. Ergebniss in ein verschachteltes Array speichern
Code:
result = mysql_query($query,$link);
$num = mysql_numrows($result);
for ($i = 0; $i < $num; $i++) {
	$row = mysql_fetch_array($result);

	$arrUsers[] = array (
		$key => array (
			"id" => $row['user_id'],
			"username" => $row['username'], 
			"useremail" => $row['user_email'],
			"usersig" => $row['user_sig'],
			"nummer" => 0 //damit ich es später mit den Werten aus SQL Datenbank füllen kann
		) 
	);
3. Verbindung mit MS SQL Server Datenbank aufbauen, Schleife durch das verschacteltes Array, finde User aufgrund von username, useremail und usersig, Wert nummer in das Array $arrUsers (key nummer) schreiben.

4. Schleife durch das $arrUsers, Wert nummer in die mySQL Datenbank schreiben.

=============================
Meine Fragen sind:
# Gibt es vielleicht eine elegantere Lösung?
# Soll ich ein Objekt statt eines verschacteltes Arrays verwenden?
# Wie mache ich eine Schleife durch das verschachtelte Array?


Ich weiss, dass ich mich nicht optimal ausgedrückt habe, aber bin zuversichtlich, dass ihr versteht was ich meine.[/php]
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 09.12.2004, 15:38  
Gast
 
Beiträge: n/a
Standard

ich würd sagen du öffnest die beiden parallel, ließt die daten in einer schleife aus der msSQL aus und updatest gleichzeitig (falls entsprechender user ohne nummer vorhanden) in der mysql datenbank.
Dazu sind eigentlich weder arrays, noch objekte notwendig.
  Mit Zitat antworten
Alt 10.12.2004, 11:29  
Gast
 
Beiträge: n/a
Standard

nun, daran habe ich schon gedacht, das ist mir aber etwas heikel vorgekommen. anyway, ich habe es mit assoziativen array gelöst. falls wen interesiert, so:

1. zuerst lese ich tabelle phpbb_users und speichere sie in ein assoziatives array, und zwar so, dass dem index user_id zugewiesen ist, dazugehörige wert ist ein verschachteltes array mit restlichen daten. ich habe bereits "nummer" vorgesehen, das wird mit daten aus der sql server datenbank gefüllt.

Code:
$query = "SELECT user_id, username, user_avatar, user_email, user_sig
FROM `phpbb_users` WHERE ... ";
$result = mysql_query($query,$link);
$num = mysql_numrows($result);
for ($i = 0; $i < $num; $i++) {
	$row = mysql_fetch_array($result);
	$arrUsers[$row['user_id']] = array
		(
			"name" => $row['username'], 
			"mail" => $row['user_email'],
			"sig" => $row['user_sig'],
			"nummer" => 0
		);
}
2. das array lässt sich dann wie unten auslesen. wenn man dazu while einsetzt, wichtig ist nacher pointer reset durchzuführen, damit man ein nächstes mal das array auslisten kann. ich glaube, bei foreach ist das nicht der fall.

Code:
while(list($id) = each($arrUsers)) {
	echo $id."=>";
	echo $arrUsers[$id]['name']."=>";
	echo $arrUsers[$id]['sig']."=>";
	echo $arrUsers[$id]['mail'];
}
reset($arrUsers);
3. der rest ist easy, while schleife durch das array, abfrage der sql server datenbank, nummer feld des arrays mit entsprechenden wert füllen.

Code:
while(list($id) = each($arrUsers)) {
	$sqlquery="SELECT * FROM ... WHERE email = '".$arrUsers[$id]['mail']."'";
	$process=odbc_exec($sqlconnect, $sqlquery);
	$nummer = odbc_result($process,"nummer");
	$arrUsers[$id]['nummer'] = $nummer;
}
reset($arrUsers);
4. in diesem schritt gehe ich nochmal zur mySQL datenbank, mache eine schleife durch das array und aktuallisiere nummer feld. voila.

Code:
while(list($id) = each($arrUsers)) {
	$query = "
	UPDATE `phpbb_users` SET nummer = '".$arrUsers[$id]['nummer']."'
	WHERE user_id = '".$id."'";
	$result = mysql_query($query,$link);
}
by...
  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
[Erledigt] Referenzen auf Objekte innerhalb eines Arrays PHP-Fortgeschrittene 6 31.08.2009 17:06
Mehrere Arrays summieren buggybugga PHP-Fortgeschrittene 8 22.07.2008 11:51
verschachtelte Rubriken ausgeben / alle anzeigen prinzli PHP Tipps 2008 3 25.02.2008 22:37
eindimensionale arrays sortieren webazubi PHP Tipps 2007 5 23.03.2007 18:11
Arrays sortieren, Bezeichnung, Preis Ticos PHP Tipps 2006 4 07.09.2006 19:37
Arrays kreuzen PHP Tipps 2006 13 08.03.2006 11:36
[Erledigt] 2 Arrays miteinander vergleichen PHP Tipps 2007 3 17.12.2005 16:54
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
Value und Key(-namen) eines Arrays ausgeben winfo_cologne PHP Tipps 2005-2 5 27.09.2005 17:40
[Erledigt] Zahl innerhalb eines Arrays ausgeben PHP Tipps 2005 22 29.04.2005 13:53
2 Arrays vergleichen und unterschiede auslesen PHP Tipps 2005 6 25.02.2005 09:34
[Erledigt] Array ausgeben PHP Tipps 2004-2 4 05.12.2004 00:53
array ausgeben PHP Tipps 2004-2 2 26.11.2004 15:58
[Erledigt] Ganze Tabelle ausgeben PHP Tipps 2004-2 1 21.11.2004 16:48
Werte eines Arrays in eine MySQL schreiben PHP Tipps 2004 2 28.06.2004 13:32

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
verschachtelte arrays, php array in array ausgeben, php array im array ausgeben, php verschachtelte arrays, php verschachtelte arrays ausgeben, php array ausgeben, http://www.php.de/php-fortgeschrittene/13757-erledigt-verschachtelte-arrays-ausgeben.html, php array ausgeben while, verschachtelte array, verschachtelter array, verschachtelte arrays ausgeben, array im array ausgeben php, php verschachteltes array ausgeben, array ausgeben, verschachteltes array ausgeben, php array verschachtelt ausgeben, php verschachtelte array ausgeben, mehrere arrays ausgeben, verschachteltes array, php array verschachtelt

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:03 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.