Функция "Добави в любими"

vankich

Registered
Така.. функцията съм си я направил по следния начин, за всеки файл съм сложил линк който отваря pop up и там има заявка, която добавя в таблицата с "любими" следните данни ID-то на файла и юзърнейм-а. После в цикъла, който изкарва файловете съм си направил проверка ако файла е в любими за потребителя да показва една картинка, а ако не е да показва друга, но проблема е че това работи само за 1 файл, а не за всичките добавени в "Любими"
Ето и малко код:

Код:
$query = " SELECT * FROM files WHERE active = 1 ORDER BY id DESC LIMIT 15"; 
		$result = mysql_query($query) or die(mysql_error());
while($data = mysql_fetch_assoc($result)) {
			$query_bmk = "SELECT * FROM bookmarks WHERE username = '$username'"; 
			$result_bmk = mysql_query($query_bmk) or die(mysql_error());
			$row_bmk = mysql_fetch_assoc($result_bmk);
			include "cats.php";
			if ($row_bmk['file_id'] != $data['id']) {	
				echo "<tr>
					<td><a href='$data[url]'>$data[title]</a></td>
					<td>$data[uploader]</td>
					<td>$category</td>
					<td>$class</td>
					<td><a href='add_bmk.php?id=".$data['id']."' target='_blank' onClick='reload()'><img src='img/bookmark.png' alt='запази' title='Запази този файл в любими' /></a></td></tr>";
			}
			elseif ($row_bmk['file_id'] == $data['id']) {
					echo "<tr>
					<td><a href='$data[url]'>$data[title]</a></td>
					<td>$data[uploader]</td>
					<td>$category</td>
					<td>$class</td>
					<td><img src='img/bookmarked.png' alt='запазен' title='Този файл е запазен в любими' /></td></tr>";
			}
		}
 
Ами за да изкараш всички елементи ти трябва цикъл

Код:
while($row_bmk = mysql_fetch_assoc($result_bmk))
{
 . . . // останалия код
}
 
Rado каза:
Ами за да изкараш всички елементи ти трябва цикъл

Код:
while($row_bmk = mysql_fetch_assoc($result_bmk))
{
 . . . // останалия код
}
Т.е. да заместя $row_bmk = mysql_fetch_assoc($result_bmk); с while($row_bmk = mysql_fetch_assoc($result_bmk)); ?
При това положение дори и единия запазен файл не се показва с правилната картинка.
 
Ами погледни си горният while и го конструрирай така.
include cats.php го извади ог цикъла да не се инклудва всеки път ( освен ако не се налага )
И си сложи къдрави скоби за цикъла около кода, който искаш да въртиш.
 
Rado каза:
Ами погледни си горният while и го конструрирай така.
include cats.php го извади ог цикъла да не се инклудва всеки път ( освен ако не се налага )
И си сложи къдрави скоби за цикъла около кода, който искаш да въртиш.
Ето какво направих и не работи, а не виждам грешка. Прецаква горния цикъл.
Код:
while($data = mysql_fetch_assoc($result)) {
			include "cats.php";
			while($row_bmk = mysql_fetch_assoc($result_bmk)) {
				echo "<tr>
					<td><a href='$data[url]'>$data[title]</a></td>
					<td>$data[uploader]</td>
					<td>$category</td>
					<td>$class</td>";
				if ($row_bmk['file_id'] != $data['id']) {
					echo "<td><a href='add_bmk.php?id=".$data['id']."' target='_blank' onClick='reload()'><img src='img/bookmark.png' alt='запази' title='Запази този файл в любими' /></a></td></tr>";
				}
				elseif ($row_bmk['file_id'] == $data['id']) {
					echo "<td><img src='img/bookmarked.png' alt='запазен' title='Този файл е запазен в любими' /></td></tr>";
				}
			}
		}
 
Къде изчезна 2рата заявка ?
И какво не се получава - грешка ли дава или не изкарва нищо ?
 
Rado каза:
Къде изчезна 2рата заявка ?
И какво не се получава - грешка ли дава или не изкарва нищо ?
Просто не я копирах тоя път. Изкарах я извън циклите. Проблема е че изкарва 4 пъти един и същ файл като резултат и това е всичко.
 
Добре нека да го обесня по-подробно. Имам 2 таблици. Едната с файловете а другата с bookmark-ите. Във втората записвам ID-то на файла от 1вата таблица и за кой потребител е предназначено.
Когато изкарвам листа с файловете искам да направя последната колона от таблицата (листата) да е с линк (и картинка) за добавяне в bookmark таблицата, но ако вече файлът е добавен да показва друга картинка без линк.
 
Не може никой да не е правил подобно нещо преди или поне да не знае как да го направи. Моля помогнете.
 
Код:
$query = mysql_query("SELECT * FROM tablicata WHERE id='$_GET[id]' AND user='$_SESSION[username]'");
$num = mysql_num_rows($query);
if ($num == "1") {
echo"<td><a href='#'>Добавена</a></td>";
} else { 
echo"
<td><a href='#'>Не е добавена</a></td></tr>";}}	?>

Нещо такова
 

Back
Горе