2016-01-17 3 views
0

Когда я добавляю $elan_category, я получаю category_id, а не category_title.Отображать значение вместо ID mysqli

Пробовал применять «левое соединение», но не удался. Я следующих таблиц в базе данных:

enter image description here

function getElanDetail() 
{ 
    global $con; 

    if (isset($_GET['elan_id'])) { 

     $elan_id = $_GET['elan_id']; 
     $get_elan = "select * from elan where elan_id='$elan_id'"; 
     $run_elan = mysqli_query($con, $get_elan); 

     while ($row_elan = mysqli_fetch_array($run_elan)) { 

      $elan_id = $row_elan['elan_id']; 
      $elan_category = $row_elan['elan_category']; 
      $elan_title = $row_elan['elan_title']; 
      $elan_description = $row_elan['elan_description']; 
      $elan_image = $row_elan['elan_image']; 
      $elan_contact = $row_elan['elan_contact']; 

      echo " 
       $elan_category //Getting ID of category instead Title :(
       $elan_title 
       $elan_description 
       $elan_image 
       $elan_contact 
"; 

     } 
    } 
} 
+0

Добавить '" 'к вашему эхо. –

+0

Да, пропустил его при копировании с ide – helgun

+0

Итак, вы сказали, что используете соединение. Где запрос с соединением? –

ответ

1

С join вы можете сделать что-то вроде:

$elan_id = $_GET['elan_id']; 
$get_elan = "SELECT * FROM `elan` 
    JOIN `categories` ON `categories`.category_id = `elan`.elan_category 
    WHERE `elan`.elan_id='$elan_id'"; 
$run_elan = mysqli_query($con, $get_elan); 
while ($row_elan=mysqli_fetch_array($run_elan)){ 
    print_r($row_elan); 
    // see the keys in $row_elan and use them accordingly 
} 

Для подкатегорий попробовать этот запрос:

SELECT * FROM `elan` 
JOIN `categories` ON `categories`.category_id = `elan`.elan_category   
JOIN `subcategories` ON `subcategories`.subcategory_id = `elan`.elan_subcategory 
WHERE `elan`.elan_id='$elan_id' 
+0

именно то, что мне нужно. Что делать, если у меня есть также «подкатегория», как я могу добавить ее в запрос, чтобы увидеть подкатегории id, заголовок также в строке? – helgun

+0

Кроме того, для защиты от инъекций: '$ elan_id = mysqli_real_escape_string ($ con, $ elan_id)' –

+0

Обновленный ответ в соответствии с вашей схемой db. Поскольку я не знаю ключей в таблице подкатегорий, измените, если необходимо. –

0
$elan_category = $row_elan['elan_category']; 

добавить эти две строки после кода выше

$cat = mysqli_fetch_row(mysqli_query($con,"SELECT category_title FROM categories WHERE category_id = $elan_category")); 
$cat_name = $cat[0]; 

$ cat_name это ваше имя категории пользуются