2 Arrays durchsuchen > Ergebnisse in ein Neues Array schreiben

Joints zerschießen nicht die DB, die verä#ndern sie ja nicht. Naja ein Join geht aber in deinem Fall nicht, denke ich ;)

Naja, versuch mal meinen Code da oben ;)
 
HIHI wisst ihr was er ausgibt nach print_r(array_keys($new));

Array ( )

:suspekt:

@firstlord18 : Warum meinst Du, dass der JOIN nicht klappen würde Sind doch 2 Tabellen und die müsste man doch zusammenführen können oder?
 
Zuletzt bearbeitet:
hm, ich dachte, eventuell wegen dfen vielen Where Abfragen. Weil manche nur auf die eine Tabellen bezogen, und manche auf die andere bezogen sind. Naja, mach doch mal

print_r($new);

bzw geb mir mal mehr Daten in deinen 2 Ausgangsarrays, damit ichs besser testen kann ;)
 
Geht leider immer noch nicht!

Aber das Array $new ist auch leer! Ich habe einfach mal folgendes probiert:
PHP:
echo $new[0][0].'<br>';
echo $new[0][1].'<br>';
echo $new[0][2].'<br>----------------------------';
da gibt er mir nichts aus!

Die anderen ARRAYS sind auch leer! Dann sollte ich wohl mal schnell was überprüfen! :-(
 
lol ja, wenn die anderen arrays leer sind, dann liegts ja nicht an meinem code.
geb doch ma den ganzen relevanten teil deines codes, + mysql dump (phpmyadmin => db auswählen => die tabellen exportieren)!
 
Okay! Aber das mit PHPmyadmin wird nichts -> Oracle-Datenbank *boooiiinnng*

Hier kommt mein Code:
PHP:
$new = array();
$seta = array();
$setb = array();
//Verbindung zum Server
// open a connection
if (!$db = @ora_logon("ipv@fpsdb1","ipv")) {
   $error = ora_error();
   printf("There was an connecting error. Error was: %s", $error);
   die();
}
	//Select auf die Datenbank
	else{
			$curs = ora_open($db);
			$sql = "select geraet_name, ip_adresse from ipv.fix_kommunikationsparameter where geraet_name != '' ";   
			$sql_b = "select geraet_name, geraet_typ  from obv.fix_lesegeraet_konfiguration where geraet_name not like '%BCK%' and geraet_name not like '065%' order by geraet_name";	
		
			if (!@ora_parse($curs,$sql)) {
			   echo "Error in parse. Error was :", ora_error($curs);
			} else {
			   ora_exec($curs);
			   ora_fetch_into($curs, $seta);
			   
			  }
			  
					if (!@ora_parse($curs,$sql_b)) {
					   echo "Error in parse. Error was :", ora_error($curs);
					} else {
					   ora_exec($curs);
					   ora_fetch_into($curs, $setb);
					  }
			
		
							if(count($seta) == count($setb)) {
							 
								 for($i = 0, $c = count($seta); $i < $c; $i++) {
									 for($j = 0, $d = count($setb2); $j < $d; $j++) {
										 if($seta[$i][0] == $setb[$j][0]) {
											 $new[][0] = $seta[$i][0];
											 $new[][1] = $seta[$i][1];
											 $new[][2] = $setb[$j][1];
										 }
									 }    
								 }    
							 }  
						 
	}
 
Zuletzt bearbeitet:
hm, ok, dann bringt mir der code recht wenig, da ich das nbicht testen kann. gut, dann poste mal bitte ca 4 datensätze jeden arrays ($seta und $setb)!
 
Array 1:
1110002OIS010...1
1110003OIS010...1
1110003OIS020...0
1110004OIS010...1


Array 2:
1123002RC_010...53.43.161.72
1123002RC_020...53.43.161.73
1123002RC_030...53.43.161.74
1123002RC_040...53.43.161.75


Datensätze sind getrennt durch ...
 
Habe jetzt mal was bereinigt! Die Arrays sind nun nicht mehr leer. Aber er sagt nach print_r(array_keys($new)); immer noch ARRAY();

Ich glaube man kommt auch nur so an die Daten ran:

PHP:
while (ora_fetch_into($curs, $seta)) {
  echo $seta[0].'...';
  echo $seta[1].'<br>';
}
Aber dann müsste Deine Array-Przedur anders ausehen oder?
 
Zuletzt bearbeitet:
Zurück