2013-04-07 2 views
0

MySQL 테이블에서 모든 itens를 보여주는 PHP 페이지를 만들었습니다. 이제 사용자 클릭이이 페이지의 itens 중 하나 일 때 특정 항목을 표시하고 싶습니다. 이 특정 ID를 얻으려면 어떻게해야합니까? <a href=""> 링크를 구성하는 방법은 무엇입니까? 때 사용자, 지금MySQL에서 특정 ID를 표시하는 방법 - 초보자

<?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 ?> 

:

이 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

질문을 업데이트 항목을 클릭하십시오. carro_item.php 페이지에 해당 항목의 데이터가로드되기를 원합니다.

내가 코드의 여러 유형을 시도했지만 작동하지 않았다

id_carro 데이터베이스에서 참조 ID입니다.

<? 

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 --> 
이 carro_item.php의 PHP가

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

입니다 : 내가 브라우저에 전체 URL을 넣어 경우에도 데이터가로드되지 않습니다

어떤 도움이 필요합니까?

UPDATE 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 개방 자신을 떠나지 않도록주의

하지만 중 하나를 살균하여 인수하거나 매개 변수화 된 쿼리를 사용하여.

참조

편집 :

올바른 방식으로 서식 링크를 만들려면 먼저 당신이 필요로하는 모든 ID를 검색하고 저장할 것 배열로. 예를 들어 $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

감사합니다.하지만 ID를 얻기 위해 링크가 필요합니다. 예를 들어 내가 개발 한 페이지는 'n'결과를 반환합니다 : item01, item02, itemN. 이 결과는 클라이언트가 관리합니다. 그는 데이터베이스에서 itens를 포함시키고 배제 할 것입니다. 그래서 링크 ID가 5인지 100인지는 모르겠습니다. 내가 어떻게 이걸 만들 수 있을지 아십니까? –

+0

@AdrianoMachado - html을 페이지로 출력 할 때 클릭 할 수있는 모든 ID를 반복하면됩니다. 내 편집을 참조하십시오. – Aiias

+0

Aiias, 많이 시도했지만 제대로 작동하지 않았습니다. 나는 코드의 일부로 질문을 헛되이 읽었다. –

0

PHP :

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

HTML :

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

쿼리

SELECT * FROM table WHERE id = $id; 
관련 문제