2013-08-22 37 views
0

我需要在查詢2表相冊和圖片PHP的MySQL ..不能在數據庫

我需要從數據庫中選擇一些幫助分配給字段名稱的變量,它之間的一些領域有一個user_id

查詢:

$album_query = mysql_query("SELECT `albums`.`album_id`, `albums`.`timestamp`, `albums`.`name`, LEFT(`albums`.`description`, 50) as `description`, COUNT(`images`.`image_id`) as `image_count` 
    FROM `albums` 
    LEFT JOIN `images` 
    ON `albums`.`album_id` = `images`.`album_id` 
    WHERE `albums`.`user_id` = '**here it must take the session created before**' 
    GROUP BY `albums`.`album_id`") or die(mysql_error()); 

這裏是代碼塊:

<?php 

ob_start(); 
if(!isset($_SESSION)) 
{ 
session_start(); 
} 

require_once('include/connect.php'); 



if(isset($_GET['user_id'])) 
{ 
    $id=$_GET['user_id']; 


} 
elseif(isset($_SESSION['user_id'])) 
{ 
    $id= $_SESSION['user_id']; 
} 

else 
{ 
    require_once('index.php'); 

    exit(); 

} 

//function to ge the data for the album 
function album_data($album_id) 
{ 

} 
//check if the album belong to the particular user 
function album_check($album_id) 
{ 
} 

//get thelist of albums 
function get_albums() 
{ 

    $albums = array(); 
    $album_query = mysql_query("SELECT `albums`.`album_id`, `albums`.`timestamp`, `albums`.`name`, LEFT(`albums`.`description`, 50) as `description`, COUNT(`images`.`image_id`) as `image_count` 
    FROM `albums` 
    LEFT JOIN `images` 
    ON `albums`.`album_id` = `images`.`album_id` 
    WHERE `albums`.`user_id` = '' 
    GROUP BY `albums`.`album_id`") or die(mysql_error()); 

    while($albums_row = mysql_fetch_array($album_query)) 
    { 
     $albums[] = array(
       'id' =>$albums_row['album_id'], 
       'timestamp'=>$albums_row['timestamp'], 
       'name'=>$albums_row['name'], 
       'description'=>$albums_row['description'], 
       'count'=>$albums_row['image_count'] 
     ); 

    } 
    return $albums; 
} 


     function create_album($album_name, $album_description) 
{ 
    $album_name= mysql_real_escape_string(htmlentities($album_name)); 
    $album_description= mysql_real_escape_string(htmlentities($album_description)); 

    mysql_query("INSERT INTO albums VALUES('', '" .$_SESSION['user_id']. "', UNIX_TIMESTAMP(), '$album_name','$album_description')"); 

    mkdir('uploads/'.mysql_insert_id(), 0744); 
    mkdir('uploads/thumbs/'.mysql_insert_id(), 0744); 


} 

?> 


*elseif(isset($_SESSION['user_id'])) 
    { 
     $id= $_SESSION['user_id']; 
    }* 

這是錯誤,因爲系統不允許我指定album.user_id = $ ID 和數據庫字段商店0

我不知道如果我在一個易於理解的方式解釋

我的問題

任何人都可以幫我嗎?

+0

什麼插入查詢? – allen213

+0

在編輯之前,第二個代碼中存在插入查詢。 – Maerlyn

+0

好的,我會再次編輯問題,並添加插入查詢 – LebDev

回答

0

你應該改變這一行

WHERE `albums`.`user_id` = '' 

這樣的:

WHERE `albums`.`user_id` = '".$id."' 
+0

我添加了'「。$ id。」'系統給這個錯誤**未定義的變量:ID **但在代碼中我確定$ ID – LebDev

+0

如果既不'$ _GET ['user_id']'或'$ _SESSION ['user_id']'被設置,你調用index.php:我想知道你是否應該使用'header('Location:/index.php')'。我假設在index.php中,用戶可以登錄,然後設置會話變量。 – RenkyaZ

+0

所以我需要刪除標題?但是在標題中的含義是,如果用戶試圖訪問此頁面而不想首先不允許他並將其重定向到主頁 – LebDev