2016-01-05 56 views
-2

我試圖從PHPmyadmin中的表中提取數據並根據某些客戶表單輸入將其過濾爲過濾掉不需要的行。下面的代碼很好。問題是我的兩列需要包含鏈接。添加鏈接到HTML表中的數據使用PHP和MYSQL數據庫

使用PHP將表格數據更改爲鏈接使用strtolower()str_replace()刪除空格,然後簡化「www.website.com/」和「.html」將很容易。但我正在使用foreach循環來獲取所需的所有行,並且我不知道如何僅更改每行的一個值。

我曾嘗試在PHPmyadmin中使用「Broswer Display Transformations」和「Input Transformations」,但似乎隻影響PHPmyadmin中的數據,而不是當我通過PHP訪問數據時。

我當前的代碼:

//* Code for Table 
$query = "SELECT $searchFields FROM `hose_reels` $searchPhrase ORDER BY `model` ASC"; 

$result = mysqli_query($cxn,$query); 

if ($row[$key] != "0") { 

echo '<table width="100%" border="1" class="table"><tr>'; 
$row = $result->fetch_assoc(); 
foreach ($row AS $key => $value) { 
    $key = ucwords(str_replace('_', ' ', $key)); 
    echo "<th>" . $key . "</th>"; 
    } 
echo "</tr>"; 
$result2 = mysqli_query($cxn,$query); 
while($row = $result2->fetch_assoc()) { 
    echo "<tr>"; 
    foreach ($row AS $key => $value) { 
      $row['$key'] = $value; 
      echo "<td>$row[$key]</td>"; 
     } 
    echo "</tr>"; 
    } 
echo "</table>"; 
} 
else { 
    echo "<p>No results match your selection. Please broaden your search.</p>"; 
} 
+0

你知道每列的'列名'嗎?我可以有一些示例輸出或一兩行嗎? – Derek

+0

我知道列名。我之前在代碼中通過建立'$ searchFields'變量來聲明它們包含哪些列。輸出是一個簡單的html表,它顯示了九列以及每行的相應字段(如果這些行是在表單中選擇的)。 – Evbo

+0

這是第2行'<表寬度= 「100%」 的邊界= 「1」 類= 「表」> 模型 系列 軟管內徑(英寸) 軟管OD(在) 入口(在) 插座(在) 軟管長度(英尺) 壓力(PSI)012 最高溫度(°F) ​​4400 OLP ​​4000 ​​0.250 ​​0.475 ​​0.375 ​​ ​​35 ​​300 ​​150 ' – Evbo

回答

0

就在你的PHP代碼添加<a>標籤。以下是代碼。還有一件事你在echo "<td>$row[$key]</td>";行有錯誤。它打印<td>$row[$key]</td>不是從數據庫中提取的結果。

echo '<table width="100%" border="1" class="table"><tr>'; 
$row = $result->fetch_assoc(); 
$i = 1; 
foreach ($row AS $key => $value) { 
    $key = ucwords(str_replace('_', ' ', $key)); 
     if($i == 1 || $i ==3){ 
     echo "<th><a href='".key ."'" . $key . "</a></th>"; 
     }else{ 
     echo "<th>" . $key . "</th>"; 
     } 
    $i++; 
    } 
echo "</tr>"; 
$result2 = mysqli_query($cxn,$query); 
$j =1; 
while($row = $result2->fetch_assoc()) { 
    echo "<tr>"; 
    foreach ($row AS $key => $value) { 
      $row['$key'] = $value; 
      if($i == 1 || $i ==3){ 
       echo "<td><a href='".$row[$key]."'".$row[$key]."</a></td>"; 
      }else{ 
       echo "<td>$row[$key]</td>"; 
      } 
     } 
    echo "</tr>"; 
    } 
echo "</table>"; 
+0

我不希望每個單元都是鏈接。只有第一和第二列中的單元格。關於回聲錯誤:我假設你的意思是我應該寫回聲「​​」。 $ row [$ key]。 「」;'而是。但它現在正常工作。 – Evbo

+0

@Evbo:檢查更新的答案。 – urfusion

+0

@Evbo:它工作嗎? – urfusion

相關問題