problem z mysql_fetch_object

0

Mam taki kod:

<center>
<?
	if (!$_SESSION['user_id'])
	{
		die("Nie jesteś zalogowany!");
	}
	$table_categories = 'categories_' . $login;
	$table_menu = 'menu_' . $login;
	$newcategory = $_POST['category'];
	if ( $newcategory )
	{
		mysql_query("INSERT INTO $table_categories (name) VALUES ('$newcategory')");
	}
	$query_categories = mysql_query("SELECT * FROM $table_categories");
	$num_categories = mysql_num_rows($query_categories);
	$num_categories2 = mysql_query("SELECT count(*) FROM $table_categories");
	if ($num_categories != 0)
	{
		while ($row_categories = mysql_fetch_object($query_categories))
		{
			echo '<div align="left"><b>Kategoria:</b> ' . $row_categories->name . '</div><br>';
			$category = $row_categories->id;
			$query_menu = mysql_query("SELECT * FROM $table_menu WHERE category = '$category'");
			$num_menu = mysql_num_rows($query_menu);
			if ($num_menu != 0)
			{
				echo "<table><tr><td><b>Adres</b></td><td><b>Wyświetlane</b></td><td><b>Edycja</td><td><b>Usuń</td></tr>";
				while ($row_menu = mysql_fetch_object($query_menu))
				{
					echo '<tr><td>' . $row_menu->adres . '</td><td>' . $row_menu->view . '</td><td><center><a href="index.php?page=link_edit&noteid=' . $row_menu->id . '">Edytuj</a></TD><TD><center><a href="index.php?page=link_preferences&link2del=' . $row_menu->id . '">Usuń</a></TD></TR>';
				}
				echo "</table>";
			}
			else
			{
				echo "W tej kategorii nie ma żadnych linków!";
			}
		}
							
	}
	else
	{
		echo "Nie masz żadnych kategorii!";
	}
		

?>
<br><hr>
<FORM METHOD=POST ACTION="">
Stwórz nową kategorie: <INPUT TYPE="text" NAME="category"> <INPUT TYPE="submit" VALUE="Dodaj!">
</FORM><HR>
<?
if ($num_categories != 0)
	{
		echo '<FORM METHOD=POST ACTION="">
		Dodaj nowy link: <INPUT TYPE="text" NAME="link"> <SELECT NAME="categories">';
		----> od tąd problemy ---> while ($row_categories = mysql_fetch_object($query_categories))
		{
			echo '<OPTION>' . $row_categories->name . '
			';
		} <--- do
		echo '<INPUT TYPE="submit" VALUE="Dodaj link!">';
	}
?>
</FORM>

W zaznaczonym fragmencie mam problem. Wyświetla mi puste pole select. Gdy patrze na źródło w IE to w ogóle nie wyświetla znacznika <OPTION> Co jest nie tak????

0

Kod działa prawidłowo. Po pierwszym "if ($num_categories != 0)" masz pętlę while, która przelatuje po wszystkich rekordach. W drugim ifie próbujesz zrobić to samo, ale znacznik jest już ustawiony na ostatnim rekordzie. Musisz albo wykonać jeszcze raz zapytanie, albo wyzerować znacznik przez mysql_data_seek($query_categories,0)

0

Heh! Wielki dzięki :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1