Autor Zpráva
suky
Profil
Zdravim, mam problem, uz si s nim lamu hlavu pekne dlouho, ale porad neprichazim na spravne reseni.
Popis problemu: Mam tabulku forum_kategorie a v ni sloupce nazev, kid (id kategorie) a poradi (poradi vypisu kategorie) a potrebuju vyrobit presny pocet selectu, kolik je radku v tabulce a stejne tolik optionu do kazdeho z selectu. Po prehozeni poradi v selectech a nasledneho odeslani tlacitkem by se meli soucasne odeslaana poradi zaprat k prislusne kategorii do db. Neco jsem uz vyplodil, ale porad s tim nejsem u konce.

Formular:
$l = 0;
$db_ctgr = mysql_query("SELECT nazev,kid,poradi FROM forum_kategorie ORDER BY `poradi` ASC");
while ($radek = mysql_fetch_array($db_ctgr))
	{
	echo "<tr>";
	echo "<td width=\"25\">".$l.".</td>";
	echo "<td height=\"30\" colspan=\"2\" width=\"465\">";
	echo "<select name=\"id".$radek['kid']."\" class=\"select\">";
	
	echo "<option value=\"".$l."_".$radek['kid']."\">".$radek['nazev']."</option>\n";
	$db_ctgm = mysql_query("SELECT nazev,kid,poradi FROM forum_kategorie ORDER BY `kid` ASC");
	while ($radek_option = mysql_fetch_array($db_ctgm))
		{
		if ($radek['nazev'] != $radek_option['nazev'])
			{
			echo "<option value=\"".$l."_".$radek_option['kid']."\">".$radek_option['nazev']."</ option>\n";
			}
		}
	
	echo "</select>";
	echo "</td>";
	echo "</tr>";
	$l++;
	}
echo "<tr>";
echo "<td width=\"25\"></td>";
echo "<td height=\"30\">";
echo "<input name=\"hidden\" type=\"hidden\" value=\"1\">";
echo "<input name=\"pocet\" type=\"hidden\" value=\"".$l."\">";
echo "<input name=\"submit\" type=\"submit\" value=\"".$text[159]."\" class=\"input2\">";
echo "</td>";
echo "</tr>";

if ($chyba[seq] != "")
		{
		echo "<tr>";
		echo "<td width=\"5\"></td>";
		echo "<td height=\"25\">";
		echo $chyba[seq];
		echo "</td>";
		echo "</tr>";
		}


Ten mi zatim funguje... Jen nevim poradne co dat do tech optionu za value, aby se to cele zdrailo...

Po odeslani:
if ($_POST[hidden] == 1)
	{
	$pocet = $_POST[pocet] - 1;
	
	for ($n = 0; $n <= $pocet; $n++)
		{
		$poradi = "id".$n;
		list ($ktery_select[], $ktery_option[]) = explode("_",$_POST[$poradi]);
		}
	
	for ($n = 0; $n <= $pocet; $n++)
		{
		$zkouska = array_flip(array_count_values($ktery_option));
		}	
	
	if ((($zkouska[2] == "") and ($zkouska[2] !== 0)) or xxx) // nefunguje to pokud vyberu jednu kategorii pro vsechno!!
		{
		$l = 0;
		$db_ctgr = mysql_query("SELECT nazev,kid,poradi FROM forum_kategorie ORDER BY `poradi` ASC");
		while ($radek = mysql_fetch_array($db_ctgr))
			{
			//predpokladam zapis do db
			$l++;
			}
		}
	else
		{
		$chyba[seq] = $text[166];
		}
	}


Prosim poradte mi, vubec se mi nedari na to prijit!
Kajman_
Profil *
Já to kdysi udělal takhle.. není to pěkně napsané, ale třeba to inspiruje.

$result=mysql_query("..");
$radku=mysql_num_rows($result);
print '			<form method=POST action="podclanky-razeni.php?count='.$radku.'&amp;idcl='.$_GET["idcl"] .'">';
for ($radek=0;$radek<$radku ;$radek++)  
{
	print '			<tr><td><input type=hidden name="hi'.$radek.'" value="'.mysql_result($result,$radek,1).'"><select name="sel'.$radek.'">';
	$tmpstr='';
	$tmpstr[($radek+1)]=" selected";
	for ($radek2=1;$radek2<=$radku;$radek2++)
	{
		print '<option'.$tmpstr[$radek2].'>'.$radek2;
	}
	
	print '			</select>&nbsp;'.mysql_result($result,$radek,2).'</td></tr>';
}
mysql_free_result($result);

...
	$radku=$_GET["count"];
	mysql_query("UPDATE podclanky SET poradi='".($radku+2)."' WHERE (idcl='".$_GET["idcl"]."')");
	for ($radek=0;$radek<$radku ;$radek++)  
	{
		mysql_query("UPDATE podclanky SET poradi='".$_POST["sel".$radek]."' WHERE (idcl='".$_GET["idcl"]."' and idpo='".$_POST["hi".$radek]."')");
	}
suky
Profil
Diky, uvedomil jsem si jednu kravinu a jeste sem si to k tomu zjednodusil. ;) njn ze svych chyb se clovek nejlip uci...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: