Autor Zpráva
Peter45
Profil
Prosim vas o radu: v db mam tabulku s poliami: id,nazov,vyrobca,active.

obsah sa mi na stranke zobrazuje ak je active 1,ak je active 0 tak sa obsah nezobrazi...

Obsah sa sice nezobrazi ak je 0 coz je ok,ale stale sa zobrazuje tabulka v ktorej sa obsah nachadza,cize nejaku podmienku dat pred tabulku ked je active 0 tak zmizne cela tabulka aj s obsahom...
Taps
Profil
Peter45:
bylo by dobré kdyby jsi sem vložil kod
panther
Profil
Peter45:
if ($data['active'] != 0) {
    echo "<table>";
    ...
}

Případně v podmínce může být mysql_num_rows, možností je více. Jako základ by ti to mohlo stačit.
Peter45
Profil
Tak priklad:toto je tabulka kde sa citaju kategorie vyrobcov,ked su vsak neaktivne tak sa ziadne nezobrazuju ale tabulka ostava coz ne dobre...



<table style="text-align: left; width: 533px; height: 32px;"
 border="1" cellpadding="2" cellspacing="2">
  <tbody>
    <tr>
      <td>

	<?include "vyrobcovia.php";?>


     </td>
    </tr>
  </tbody>
</table>
panther
Profil
Peter45:
chtělo to spíše PHP, než HTML. Ale myšlenku jsem ti napsal v [#3].
Peter45
Profil
toto je kod v sobore vyrobcovia:

<?

function processCategories2($level, $path, $sel)
{


	$out = array();
	$cnt = 0;

	$q = mysql_query("select id, kategoria from vyrobca where parent=$path[$level] AND kategoria<>'' AND active<>'' ORDER BY poradie, kategoria ") or die (mysql_error());
	while ($row = mysql_fetch_row($q))
	{
		$out[$cnt][0] = $row[0];
		$out[$cnt][1] = $row[1];
		$out[$cnt][2] = $level;
		$cnt++;

		//process subcategories?
		if ($level+1<count($path) && $row[0] == $path[$level+1])
		{
			$sub_out = processCategories2($level+1,$path,$sel);
			//add $sub_out to the end of $out
			for ($j=0; $j<count($sub_out); $j++)
			{
				$out[] = $sub_out[$j];
				$cnt++;
			}
		}

	}

	return $out;
}	


//calculate a path to the category
	$path = array($vyrobcaid);
	$curr = $vyrobcaid;
	do
	{
		$q = mysql_query("SELECT parent FROM vyrobca WHERE id='$curr'  AND kategoria<>''  AND active<>''  ORDER BY poradie, kategoria ") or die (mysql_error());
		$row = mysql_fetch_row($q);
		$curr = $row ? $row[0] : 0; //get parent ID
		$path[] = $curr;

	} while ($curr);

	//now reverse $path
	$path = array_reverse($path);

	$cats = processCategories2(0,$path,$vyrobcaid);


for ($i=0; $i<count($cats); $i++)
{
	$space="";
		
		$znazov=$cats[$i][1];
		$zid=$cats[$i][0];
		$zlevel=$cats[$i][2];
		
		for ($j=0;$j<$zlevel;$j++) $space.="&nbsp;&nbsp;&nbsp;&nbsp;";

		if ($vyrobcaid==$zid)  $class="menu0selected"; else $class="menu0";
//			echo "<a class=$class href='?shopid=$zid'>$space $znazov</a> \n";
			echo "<a class=$class href='?vyrobcaid=$zid'>$space $znazov</a> \n";
}
		
?>
panther
Profil
Peter45:
podívej se, co tvoříš:

V HTML vypisuješ tabulku a do ní includuješ obsah. Máš několik možností:
- tabulku includovat do includovaných souborů
- předem si zjistit, zda includovaný soubor existuje (fce file_exists) a na základě jednoduché podmínky začátek a konec tabulky vypisovat.
Peter45
Profil
Neviem ci dobre chapem co pisete,a tak som skusil toto:

A vsak sice funguje ale jakmile pridam viac kategorii tak mi to hodi i viac tabuliek,predpokladam cyklus for je spatne,vedel by mi to dakto usporiadat?

<?

function processCategories2($level, $path, $sel)
{


	$out = array();
	$cnt = 0;

	$q = mysql_query("select id, kategoria from vyrobca where parent=$path[$level] AND kategoria<>'' AND active<>'' ORDER BY poradie, kategoria ") or die (mysql_error());
	while ($row = mysql_fetch_row($q))
	{
		$out[$cnt][0] = $row[0];
		$out[$cnt][1] = $row[1];
		$out[$cnt][2] = $level;
		$cnt++;

		//process subcategories?
		if ($level+1<count($path) && $row[0] == $path[$level+1])
		{
			$sub_out = processCategories2($level+1,$path,$sel);
			//add $sub_out to the end of $out
			for ($j=0; $j<count($sub_out); $j++)
			{
				$out[] = $sub_out[$j];
				$cnt++;
			}
		}

	}

	return $out;
}	


//calculate a path to the category
	$path = array($vyrobcaid);
	$curr = $vyrobcaid;
	do
	{
		$q = mysql_query("SELECT parent FROM vyrobca WHERE id='$curr'  AND kategoria<>''  AND active<>''  ORDER BY poradie, kategoria ") or die (mysql_error());
		$row = mysql_fetch_row($q);
		$curr = $row ? $row[0] : 0; //get parent ID
		$path[] = $curr;

	} while ($curr);

	//now reverse $path
	$path = array_reverse($path);

	$cats = processCategories2(0,$path,$vyrobcaid);


for ($i=0; $i<count($cats); $i++)

{

	$space="";
		
		$znazov=$cats[$i][1];
		$zid=$cats[$i][0];
		$zlevel=$cats[$i][2];
		
		for ($j=0;$j<$zlevel;$j++) $space.="&nbsp;&nbsp;&nbsp;&nbsp;";

		if ($vyrobcaid==$zid)  $class="menu0selected"; else $class="menu0";
echo "


<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
  <tbody>
    <tr>
      <td><img src=\"obrazy/v1.jpg\" width=\"284\" height=\"60\" alt=\"pic\">
      </td>
    </tr>
    <tr>
      <td style=\"background-image: url(obrazy/index_13.jpg); background-repeat: repeat-y;\" valign=\"top\">
            <div style=\"margin-left:25px; margin-right: 20px;\" class=\"text1\">

		 <a class=$class href='?vyrobcaid=$zid'>$space $znazov</a> 
    
  
      </div>
      
      </td>
    </tr>
    <tr>
      <td><img src=\"obrazy/v3.jpg\" width=\"284\" height=\"45\" alt=\"pic\"></td>
    </tr>
  </tbody>
</table>

";
		//	echo "<a class=$class href='?vyrobcaid=$zid'>$space $znazov</a> \n";
		}
?>

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:

0