2013-04-07 42 views
0

我開發了一個PHP頁面,顯示來自MySQL表的所有itens。現在,我想在用戶點擊此頁面上的某個itens時顯示特定項目。我如何獲得此特定ID以及如何配置<a href="">鏈接?如何顯示來自MySQL的特定ID - 新手

更新問題:

這是cars.php頁的頭部(的結果):

<? 

require("admin/db/connect.php"); 

$sql = "SELECT * FROM tb_carros"; 

$limite = mysql_query("$sql"); 

$dados = array(); 
while ($sql = mysql_fetch_array($limite)) { 
    $dados[] = $sql; 
} 

?> 

和HTML:

<?php foreach ($dados as $row): ?> 

    <div id="containerResumo"> 

     <a href="#"> <!-- this is the key problem --> 

     <div class="dadosResumo"> 
      <?=$row['carro']?><br /><br /> 
      Ano: <?=$row['ano']?><br /><br /> 
      Câmbio: <?=$row['cambio']?><br /><br /> 
      R$ <?=$row['valor']?> 
     </div><!-- END of dadosItem --> 
     </a> 

    </div><!-- END of containerResumo --> 

    <?php endforeach ?> 

現在,當用戶點擊一個項目我想打開頁面carro_item.php加載項目的數據。

從數據庫參考ID是id_carro

我嘗試了很多類型的代碼,但沒有奏效。即使我把完整的URL瀏覽器上的數據不負載:

http://adrianomachado.com/testesClientes/carro_item.php?id_carro=1

這是carro_item.php的PHP:

<? 

require("admin/db/connect.php"); 

$id = (int)$_GET['id_carro']; 

$sql = "SELECT * FROM tb_carros WHERE id = $id"; 

?> 

和HTML:

  <div class="dadosItem"> 
       R$ <?php $valor ?><br /><br /> 
       Ano: <?php $ano ?><br /><br /> 
       Kilometragem: <?php $km ?><br /><br /> 
       Cor: <?php $cor ?><br /><br /> 
       Portas: <?php $portas ?><br /><br /> 
       Combustível: <?php $combustivel ?><br /><br /> 
       Câmbio: <?php $cambio ?><br /><br /> 
       Final da placa: <?php $final_placa ?><br /><br /> 
       Carroceria: <?php $carroceria ?> 
      </div><!-- END of dadosItem --> 

任何幫助?

更新02:

這是carro_item查詢:

<? 

require("admin/db/connect.php"); 

$sql = "SELECT * FROM tb_carros"; 

$limite = mysql_query("$sql"); 

$dados = array(); 
while ($sql = mysql_fetch_array($limite)) { 
    $dados[] = $sql; 
} 


?> 

但是,很明顯它返回所有的結果,如cars.php頁面。問題是如何將結果過濾爲用戶點擊的鏈接的相同ID?

我不知道如何編碼$ sql =「SELECT * FROM tb_carros」;要做到這一點。

回答

1

你可以利用$_GET variables

如果該鏈接被格式化這樣在頁面上:

<a href="mypage.php?id=5"> 

然後在你的PHP頁面,你就可以通過全球$_GET數組訪問此值。

$id = mysqli_real_escape_string($_GET['id']); // $id will have the value passed to it by the link 

要小心,不要給自己開SQL Injection雖然通過兩種消毒你的論點或使用參數化查詢。

參考

編輯:

要建立正確的方式格式化的鏈接,你會先檢索所有的IDS的需要,並將其儲存在一個數組中。我將以$ids爲例。

$ids = array(1, 50, 25, 62, ...); // This was populated from the database 

// Loop through all ids and output link code for each one 
foreach ($ids as $link_id) { 
    echo '<a href="mypage.php?id=' . $link_id . '">Click me</a>'; 
} 

EDIT2:

cars.php格式的鏈接是這樣的:

<a href="/testesClientes/carro_item.php?id_carro=<?= $row['id'] ?>"> 

EDIT3:

carro_item.php應該是這個樣子:

<?php 

    require("admin/db/connect.php"); 

    $id = (int)$_GET['id_carro']; 

    $sql = "SELECT * FROM tb_carros WHERE id = $id"; 

    $result = mysql_query($sql); 

    $row = mysql_fetch_array($result); 

    // ... 
?> 

<!-- And your HTML should look something like this --> 
<!-- ... --> 

<div class="dadosItem"> 
    R$ <?= $valor ?><br /><br /> 
    Ano: <?= $row['ano'] ?><br /><br /> 
    Kilometragem: <?= $row['km'] ?><br /><br /> 
    Cor: <?= $row['cor'] ?><br /><br /> 
    Portas: <?= $row['portas'] ?><br /><br /> 
    Combustível: <?= $row['combustivel'] ?><br /><br /> 
    Câmbio: <?= $row['cambio'] ?><br /><br /> 
    Final da placa: <?= $row['final_placa'] ?><br /><br /> 
    Carroceria: <?= $row['carroceria'] ?> 
</div><!-- END of dadosItem --> 

<!-- ... --> 

此外,您應該使用mysql_ *形式的函數,因爲它們已被棄用。有關更多信息,請參閱Why shouldn't I use mysql_* functions in PHP?

+0

感謝Aiias,但我需要鏈接以獲得ID dinamicly。例如,我開發的頁面將返回'n'結果:item01,item02,itemN。這個結果將由客戶端管理。他將包括並從數據庫中排除itens。所以我不知道鏈接ID是5還是100.你知道我怎麼能做到這一點? – 2013-04-07 22:02:57

+0

@AdrianoMachado - 將html輸出到頁面時,您只需遍歷所有想要點擊的id。看我的編輯。 – Aiias 2013-04-07 22:09:07

+0

哎呀,我嘗試了很多,但沒有奏效。我用部分代碼解決了這個問題。 – 2013-04-08 00:30:06

0

PHP:

$id = (int)$_GET['id']; 

HTML:

<a href="page.php?id=<?= $id; ?>"> 

查詢:

SELECT * FROM table WHERE id = $id; 
相關問題