Announcement

Collapse
No announcement yet.

Left Join auf 3 Tabellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Left Join auf 3 Tabellen

    HI LEUTE HABE NE FRAGE ,

    BIN NEU HIER UND AUCH NEU MIT VERARBEITUNG VON DATENBANKEN !
    ICH HABE IM GESCHÄFT EINEN AUFTRAG. UND ZWAR MUSS ICH EIN ADD-ONS
    FÜRS INTRANET ENTWICKELN, WELCHES INTERN EIGESETZT WIRD.

    DIE DATENBANK ENSTEHT SCHON. ICH MUSS NUR NOCH DIE QUERY ABFRAGE MACHEN. ES FÄLLT MIR SCHWER DIESE VERKNÜPFUNG ZU MACHEN. KANN MIR JEMAND HELFEN. ICH POSTE MAL DEN CODE SOWIE EN SCREENSHOT VON DER DATENBANK.

    Der Code sieht so aus:

    HTML Code:
    <!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="selectAll();">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">
    
    Anhand der gewählten Checkboxen soll dan per Submit Button eine Abfrage der Datenbank enstehen. Mit if Abfragen, ensteht die entsprechende query Abfrage.

    der PHP Code mit mssql query:

    PHP Code:
    <?php
                
                
    if(isset($_POST['CheckAll'])) {
                    
    $str_sql 'SELECT TOP 10 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 ' .
                               
    ';';
    //                        echo '<pre>'.__LINE__."<br/>";
    //                        echo  print_r($_POST);
    //                        echo '</pre>';        
                    
    $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>'
    //                        query Disk                        
                            
    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 ;
                            }

                            if(isset(
    $_POST['NC_CPU'])) {
                                
    $arr_tmp explode(","$_POST['NC_CPU']);
                                
    $str_sql 'SELECT ComponentOID ';
                                if(!empty(
    $arr_tmp)) {
                                    foreach(
    $arr_tmp as $k => $v) {
                                        
    $str_sql .= ','.$v;
                                    }
                                }
                                
    $str_sql .= " FROM [NC_CPU] WHERE ComponentOID ='{".$row['NCCCID']."}';";
                                
    $queryAdd mssql_query($str_sql$con);
                                
    $arr_cpu = array();
                                while(
    $rowAdd mssql_fetch_array($queryAdd)) {
                                    
    $arr_cpu[] = $rowAdd;
                                }
                                
    $row['cpu'] = $arr_cpu ;
                            }
                                
                                
                            if(isset(
    $_POST['NC_DMI'])) {
                                
    $arr_tmp explode(","$_POST['NC_DMI']);
                                
    $str_sql 'SELECT ComponentOID ';
                                if(!empty(
    $arr_tmp)) {
                                    foreach(
    $arr_tmp as $k => $v) {
                                        
    $str_sql .= ','.$v;
                                    }
                                }
                                
    $str_sql .= " FROM [NC_DMI] WHERE ComponentOID ='{".$row['NCCCID']."}';";        
                                
    $queryAdd mssql_query($str_sql$con);
                                
    $arr_dmi = array();
                                while(
    $rowAdd mssql_fetch_array($queryAdd)) {
                                    
    $arr_dmi[] = $rowAdd;
                                }
                                
    $row['dmi'] = $arr_dmi ;
                            }
                            
                                
                            echo 
    '<div>';
                            echo 
    $str_sql;
                            echo 
    '</div>';        
                        }
                        
                                                        
                                                        
                                                        
                    } 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
                
    }
                
    ?>
    ich muss oben bei der query abfrage eine erweiterte Verknüpfung machen um dan an die entsprechende Stelle z.B ( DISK ) die Daten aus der Tabelle bekomme.

    HTML Code:
    </div>
    	<div class="bbutton"></div>
    	<div class="egbgleft"></div>
    	<div class="egbgright"></div>
    	<div class="content"></div>
    </div>	
    </body>
    </html>
    Ich poste mal en screenshots von der Datenbank
    Falls jemand mir helfen kann ,wäre ich sehr dankbar

    Die Datei ist senkrecht hochgeladen worden. War ein Fehler von mir.

    Join Left die gecodet wurde bezieht sich auf der Tabelle Workstation. Die ist verbunden mit Component. Die Component ist dan verbunden mit diversen Tabellen wie Disk, CPU, Memory usw.....



    Danke
    Attached Files
Working...
X