Array Abfrage einzelne Tabellen klappt nicht

sab46sam

Grünschnabel
Hallo Leute,

habe folgendes Problem. ich arbeite zur Zeit an einem Projekt. Ich muss ein Add-ons für die Firma erstellen, welches von einer bestehende Datenbank die Daten ausliest.
Das heisst, es geht um ein Tool welches man verschiedene Clients in Netzwerk scannen kann. Dies auf Hard-/Software.

Die Datenbank wird von eine Software übernommen. Das heisst es muss nur Abfragen gemacht werden. Bei mir ist es so dass ich verschiedene Checkboxen gemacht habe, mit den Komponenten. Bei der mssql abfrage habe ich ein paar Problemen.


HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>ENTEO</title>
<link rel="stylesheet" type="text/css" href="css/enteo.css" />
<script type="text/javascript" src="javascript/functions.js"></script>
</head>
<body>
<div class="footer"></div>
<div class="body">
	<form name="search" action="index.php" method="post" enctype="multipart/form-data">
	<div class="navisearch">
		<b><center>Workstation-ID</center></b><br>
		<input type="text" name"suchfeld" size="28"><br>
	</div>
	
	<div class="navicomp">
		<input type="checkbox" onclick="check(this.form,this.checked,'[]')">All Component
		<div class="height10"></div>
		<div>
			<input type="checkbox" name="NC_Disk" value="LogicalDrives, RawTotalSpace" <?php if(isset($_POST['NC_Disk'])) echo 'checked'; ?>>DISK
		</div>
		<div>
			<input type="checkbox" name="NC_CPU"  value="Speed, VendorIdentifier, CPUIDType, CPUIDFamily, CPUIDModel, CPUIDStepping, IsMMX, L1CacheSize"<?php if(isset ($_POST['NC_CPU'])) echo 'checked';?>>CPU
		</div>
		<div>
			<input type="checkbox" name="NC_DMI"  value=""<?php if(isset($_POST['NC_DMI'])) echo 'checked'; ?>>DMI<br>
		</div>
		<div>
			<input type="checkbox" name="NC_BIOS" value="Version, ReleaseDate, DMICompVersion, IsAPMSupport, IsACPICompatible,FamilyCode"<? if (isset($_POST['NC_BIOS']))echo 'checked';?>>BIOS<br>
		</div>
		<div>
			<input type="checkbox" name="NC_Floppy" value="Capacity, Driveletter"<?php if (isset($_POST['NC_Floppy']))echo 'checked';?>>FLOPPY<br>
		</div>
		<div>
			<input type="checkbox" name="NC_System" value="ChassisType, ThermalState, CoverRemoved, Fingerprint"<?php if(isset ($_POST['NC_System']))echo 'checked';?>>SYSTEM<br>
		</div>
		<div>
			<input type="checkbox" name="NC_Monitor" value="EISAManufacturer, VESAProduct, YearManufactured, WeekManufactured,DiagonalSize"<?php if (isset ($_POST['NC_Monitor'])) echo 'checked';?>>MONITOR<br>
		</div>
		<div>
			<input type="checkbox" name="NC_Software" value="Path, StartupCount, TotalRuntimeSeconds, TotalActiveSeconds"<?php if(isset ($_POST['NC_Software'])) echo 'checked';?>>SOFTWARE<br>
		</div>
		<div>
			<input type="checkbox" name="NC_OperatingSystem" value="Build, ServicePack, BootDriveLetter"<?php if (isset($_POST['NC_OperatingSystem']))echo 'checked';?>>OPERATINGSYSTEM<br>
		</div>
		<div>
			<input type="checkbox" name="NC_LANAdapter" value="LANAddress, IPAddress"<?php if (isset($_POST['NC_LANAdapter']))echo 'checked';?>>LANDADAPTER<br>
		</div>
		<div>
			<input type="checkbox" name="NC_SerialPort" value="LogicalName"<?php if (isset ($_POST['NC_SerialPort']))echo 'checked';?>>SERIALPORT<br>
		</div>
		<div>
			<input type="checkbox" name="NC_MemoryModule" value="MemoryType, ModuleSize, Speed, SocketDesignator, FormFactor, Parity, ECC"<?php if (isset ($_POST['NC_MemoryModule']))echo 'checked';?>>MEMORYMODULE<br>
		</div>
		<div>
			<input type="checkbox" name="NC_VideoAdapter" value="MinRefreshRate, MaxRefreshRate, MemoryType, MemorySize, MinVertResolution, MinHorizResolution, MaxVertResolution, MaxHorizResolution, NumberBitsPerPixel"<?php if (isset ($_POST['NC_VideoAdapter']))echo 'checked';?>>VIDEOADAPTER<br>
		</div>
		<div>
			<input type="checkbox" name="NC_Parallelport" value="LogicalName, IsEPP, IsECP"<?php if (isset ($_POST['NC_ParallelPort']))echo 'checked';?>>PARALLELPORT<br>
		</div>
		<div>
			<input type="checkbox" name="NC_LogicalDrive" value="DriveNumber, DriveLetter, AvailableSpace, TotalSpace, LogicalNumber, IsRemote, FileSystem, VolumeLabel, VolumeSerialNumber, UNCPath"<?php if (isset ($_POST['NC_LogicalDrive']))echo 'checked';?>>LOGICALDRIVE<br>
		</div>
		<div>
			<input type="checkbox" name="NC_SystemBoard" value="Revision, Bus1type, Bus1slots, Bus2type, Bus2slots, L2CacheSize, L2CacheSpeed, L2CacheWritePolicy, SystemBoardld"<?php if (isset ($_POST['NC_SystemBoard']))echo 'checked';?>>SYSTEMBOARD<br>
		</div>
		<div>
			<input type="checkbox" name="NC_NetworkDriver" value="FileVersion, Filename, Description"<?php if (isset($_POST['NC_NetworkDriver']))echo 'checked';?>>NETWORKDRIVE<br>
		</div>
		<div>
			<input type="checkbox" name="NC_Printer" value="IsRemote, UNCPath, Port, DriverName, WindowsName"<?php if (isset ($_POST['NC_Printer']))echo 'checked';?>>PRINTER
		</div>
		<div class="height10"></div>
		<div>
			<input type="submit"   name="CheckAll"  value=" Scan Now " onClick="checkAll(document.myform.list)">
		</div>
	</div>
	</form>
	<div class="bgLeft"></div>
	<div class="bgRight"></div>
	<div class="bcontent">

PHP:
<?php
			
			if(isset($_POST['CheckAll'])) {
				$str_sql = 'SELECT TOP 1 NCW.MachineName,CAST(NCC.ComponentOID AS VARCHAR(36)) AS NCCCID FROM ' .
						   '[NC_Workstation] AS NCW '.
						   'LEFT JOIN [NC_Component] AS NCC ON ' .
						   		'NCC.WorkstationOID=NCW.WorkstationOID ' .
							'' .
						   ';';
				$query =  mssql_query($str_sql,$con);
				if(mssql_num_rows($query)) {
					while($row = mssql_fetch_array($query)) {
						//build sql queries
//						echo mssql_guid_string($row['NCCCID']).'<br>'						
						if(isset($_POST['NC_Disk'])) {
							$arr_tmp = explode(",", $_POST['NC_Disk']);
							$str_sql = 'SELECT ComponentOID ';
							if(!empty($arr_tmp)) {
								foreach($arr_tmp as $k => $v) {
									$str_sql .= ','.$v;
								}
							}
							$str_sql .= " FROM [NC_DISK] WHERE ComponentOID='{".$row['NCCCID']."}';";
							$queryAdd = mssql_query($str_sql, $con);
							$arr_disk = array();
							while($rowAdd = mssql_fetch_array($queryAdd)) {
								$arr_disk[] = $rowAdd;
							}
							$row['disk'] = $arr_disk;
						}
					    
						echo '<pre>';
						echo  print_r($row);
						echo '<pre>';		
					}
															
				} else {
					?>
						<div class="bcontentpadd">
							Es wurden keine Ergebnisse mit Ihren Suchkriterien gefunden.
						</div>
					<?php
				}
				
			} else {
					?>
					<div class="bcontentpadd">
						Bitte wählen geben Sie Ihre gewünschten Suchkriterien aus.
					</div>
					<?php
			}
			?>
HTML:
</div>
	<div class="bbutton"></div>
	<div class="egbgleft"></div>
	<div class="egbgright"></div>
	<div class="content"></div>
</div>	
</body>
</html>

Dies ist nur eine Abfrage einer Tabelle. Pro Checkbox hat es alle Spalten die in der Tabelle der jeweiligen Datenbank befinden als value angegeben.

Könnte mir jemand helfen ? Das wäre sehr lieb !
:confused:
 
Hallo danke für deine schnelle Antwort.

Also nochmals,

ich habe einen Array gebaut wo die einzelne Tabellen anspricht. Jetzt weiss ich aber nicht,
wie ich den inhalt (spalte,zeile) herausgeben kann.

Bei der abfrage steht nur noch:
Code:
Array
(
    [0] => NBOBO05JF10
    [MachineName] => NBOBO05JF10
    [1] => F2330190-5FF8-43AF-91DA-00A21C68C041
    [NCCCID] => F2330190-5FF8-43AF-91DA-00A21C68C041
    [disk] => Array
        (
        )

    [cpu] => Array
        (
        )

    [dmi] => Array
        (
        )

)

dort wo array steht sollte natürlich ein query über die tabellenspalte gemacht werden. ich weiss aber nicht wo ich die query erweitern muss.

Der Code wurde von mein Projektleiter als Beispiel demonstriert. Jetzt sollte ich es selber machen. Damit ich ihn nicht immer fragen muss, wollte ich eben euch fragen. Ich will nicht das jemand mir das Projekt fertig macht, sondern nur ein Beispiel, damit ich dan alle andere Checkboxen abfragen kann.


Es wäre sehr lieb von dir, wenn du mir helfen kannst.


Danke nochmals .:)
 
Zurück