2013-04-07 5 views
0

Я разработал страницу PHP, которая отображает все ионы из таблицы MySQL. Теперь я хочу показать конкретный элемент, когда пользователь нажимает на один из них на этой странице. Как получить этот конкретный идентификатор, как мне настроить ссылку <a href="">?Как показать определенный ID из MySQL - новичок

ОБНОВЛЕНИЕ ВОПРОС:

Это заголовок страницы 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

Это PHP из carro_item.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 --> 

Любая помощь?

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. Вопрос в том, как отфильтровать результаты с тем же идентификатором ссылки, которую пользователь нажал?

Я не знаю, как закодировать $ 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 хотя либо путем дезинфицирующих ваши аргументы или с помощью параметризованных запросов.

Ссылки

Edit:

Для создания ссылки отформатированы в правильном пути, вы бы первым получить все идентификаторы вам нужно и хранить их в массиве. В качестве примера я воспользуюсь $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, но мне нужна ссылка, чтобы получить идентификатор динамически. Например, страница, которую я разработал, вернет результаты «n»: item01, item02, itemN. Этими результатами будет управлять клиент. Он будет включать и исключать из базы данных. Поэтому я не знаю, имеет ли идентификатор ссылки 5 или 100. Знаете ли вы, как я могу это сделать? –

+0

@AdrianoMachado - при выводе html на страницу вы просто просматриваете все идентификаторы, которые хотите кликать. См. Мое редактирование. – Aiias

+0

Aiias, я много пробовал, но это не сработало. Я обдул вопрос частью кода. –

0

PHP:

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

HTML:

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

запрос:

SELECT * FROM table WHERE id = $id; 
Смежные вопросы