2015-12-23 34 views
-1

我有一個表格顯示來自數據庫中2個不同表格的一些數據。我的腳本正在工作,但我已爲每個表呼叫2 while while循環。我的問題是,我可以使用兩個表只有一個循環?謝謝所有!!!!!我有2個while循環,但我只想調用一個。可能嗎?

<?php 
    if(isset($_POST['check'])) { 
     $kontata_gas = "select id, supervizori, crt_gas, operatori, data, status, nome, cognome, tel, pdr, codice_fiscale from kontrata_gas where (data between '$data_e_inserimit' and '$data_e_inserimit_2' or tel='$tel' or codice_fiscale='$fiscale' or pdr='$POD_PDR')"; 
     $result_kontata_gas = mysqli_query($dbCon, $kontata_gas); 
     if(!$result_kontata_gas) { 
      die("Error1"); 
     } 

     $kontata_luce = "select id, supervizori, crt_luce, operatori, data, status, nome, cognome, tel, pod, codice_fiscale from kontrata_luce where (data between '$data_e_inserimit' and '$data_e_inserimit_2' or tel='$tel' or codice_fiscale='$fiscale' or pod='$POD_PDR')"; 
     $result_kontata_luce = mysqli_query($dbCon, $kontata_luce); 
     if(!$result_kontata_luce) { 
      die("Error2"); 
     } 

    echo "<table style='width:auto;'> 
     <tr> 
     <td>ID</td> 
     <td>TIPO CONTRATTO</td> 
     <td>OPERATOR</td> 
     <td>DATA</td> 
     <td>STATUS</td> 
     <td>NOME</td> 
     <td>COGNOME</td> 
     <td>TEL</td> 
     <td>PDR/POD</td> 
     </tr>"; 
    while ($row = mysqli_fetch_assoc($result_kontata_gas)) { //first loop 
     $id = $row['id']; 
     echo "<tr> 
      <td>"."<a href='main.php?backoffice=&mod_contratto=gas_$id'><img id='img' src='images/modify.png'></a>".$row['id']."</td> 
      <td>".$row['crt_gas']."</td> 
      <td>".$row['operatori']."</td> 
      <td>".$row['data']."</td> 
      <td>".$row['status']."</td> 
      <td>".$row['nome']."</td> 
      <td>".$row['cognome']."</td> 
      <td>".$row['tel']."</td> 
      <td>".$row['pdr']."</td> 
      </tr>"; 
      $id++; 
    } 
     "<tr> 
     <td>ID</td> 
     <td>TIPO CONTRATTO</td> 
     <td>OPERATOR</td> 
     <td>DATA</td> 
     <td>STATUS</td> 
     <td>NOME</td> 
     <td>COGNOME</td> 
     <td>TEL</td> 
     <td>PDR/POD</td> 
     </tr>"; 
    while ($row = mysqli_fetch_assoc($result_kontata_luce)) { // second loop 
     $id = $row['id']; 
     $luce = $row['crt_luce']; 
     echo "<tr> 
      <td>"."<a href='main.php?backoffice=&mod_contratto=luce_$id'><img id='img' src='images/modify.png'></a>".$row['id']."</td> 
      <td>".$row['crt_luce']."</td> 
      <td>".$row['operatori']."</td> 
      <td>".$row['data']."</td> 
      <td>".$row['status']."</td> 
      <td>".$row['nome']."</td> 
      <td>".$row['cognome']."</td> 
      <td>".$row['tel']."</td> 
      <td>".$row['pod']."</td> 
      </tr>"; 
      $id++; 
    } 

     echo "</table>"; 
     $_SESSION['$id'] = @$id; 
     $_SESSION['$gas'] = @$gas; 
     $_SESSION['$luce'] = @$luce; 
} 
?> 
+1

你能顯示你的kontata_gas查詢嗎? – jiboulex

+0

這就是它。 $ kontata_gas =「select data,supervizori,crt_gas,operatori,data,status,nome,cognome,tel,pdr,codice_fiscale from kontrata_gas其中('data_e_inserimit'和'data_e_inserimit_2'或tel ='$ tel'之間的數據或codice_fiscale ='$ fiscale'或pdr ='$ POD_PDR')「; \t \t $ result_kontata_gas = mysqli_query($ dbCon,$ kontata_gas); \t \t if(!$ result_kontata_gas){ \t \t \t die(「Error1」); \t \t} – Rafael

+0

編輯您的問題並粘貼到代碼中,在評論中閱讀代碼幾乎是不可能的。 – Epodax

回答

1

不知道,因爲你只顯示一個SQL查詢,但你很可能使用union(http://dev.mysql.com/doc/refman/5.7/en/union.html)同時SQL querys結合起來。

+0

請注意,聯合會禁止雙排值 – cutzero

+0

如果你想雙打然後使用聯合所有 –

+0

兩個查詢只有2個不同的行,其他所有的都是一樣的,$ kontata_gas有:crt_gas和pdr。 $ kontata_luce有:crt_luce和pod。 – Rafael

0

如果兩個數組都具有相同的字段,則可以將一個函數傳遞給數組並返回(或打印)該表。

printTable($result_kontata_gas); 
printTable($result_kontata_luce); 

function printTable($array) { 
    echo "<table style='width:auto;'> 
     <tr> 
     <td>ID</td> 
     <td>TIPO CONTRATTO</td> 
     <td>OPERATOR</td> 
     <td>DATA</td> 
     <td>STATUS</td> 
     <td>NOME</td> 
     <td>COGNOME</td> 
     <td>TEL</td> 
     <td>PDR/POD</td> 
     </tr>"; 
    while ($row = mysqli_fetch_assoc($array)) { //first loop 
     $id = $row['id']; 
     echo "<tr> 
      <td>"."<a href='main.php?backoffice=&mod_contratto=gas_$id'><img id='img' src='images/modify.png'></a>".$row['id']."</td> 
      <td>".$row['crt_gas']."</td> 
      <td>".$row['operatori']."</td> 
      <td>".$row['data']."</td> 
      <td>".$row['status']."</td> 
      <td>".$row['nome']."</td> 
      <td>".$row['cognome']."</td> 
      <td>".$row['tel']."</td> 
      <td>".$row['pdr']."</td> 
      </tr>"; 
      $id++; 
    } 

    echo "</table>"; 

或者你可以做一個函數,返回數組中取出已經做出2個不同的變量爲每個表和它們串聯各自爲陣的信息。

相關問題