Hallo,
ich möchte mit folgendem Script ein offset bestimmen, der je nach stringlänge bestimmt wird nun ist mein Problem, dass die zweite if klammer nach der zweiten forschleife nicht ausgeführt wird. (ist markiert) kann mir jemand auf die sprünge helfen? ich weiß es ist kompliziert.
ich möchte mit folgendem Script ein offset bestimmen, der je nach stringlänge bestimmt wird nun ist mein Problem, dass die zweite if klammer nach der zweiten forschleife nicht ausgeführt wird. (ist markiert) kann mir jemand auf die sprünge helfen? ich weiß es ist kompliziert.
PHP-Code:
$sql = "SELECT DISTINCT
count(*) AS numberofuntermenues
FROM
untermenue,
hauptmenue
WHERE
untermenue.hauptmenue_id = hauptmenue.id AND
untermenue.sprache = '".$_SESSION['sprache']."' AND
hauptmenue.sprache = '".$_SESSION['sprache']."' AND
hauptmenue.destination = '2' AND
hauptmenue.folge > 6
GROUP BY
hauptmenue.id
ORDER BY
hauptmenue.folge ASC,
untermenue.folge ASC;";
$width4slide = Array();
$savenumberofuntermenues = Array();
$count4secondoffset = 0;
$result = mysql_query($sql) OR die (mysql_error());
while($rowcheck= mysql_fetch_assoc($result))
{
$savenumberofuntermenues[] = $rowcheck['numberofuntermenues'];
$count4secondoffset++;
}
$sql = "SELECT DISTINCT
hauptmenue.id,
untermenue.untermenuepunkt
FROM
untermenue,
hauptmenue
WHERE
untermenue.hauptmenue_id = hauptmenue.id AND
untermenue.sprache = '".$_SESSION['sprache']."' AND
hauptmenue.sprache = '".$_SESSION['sprache']."' AND
hauptmenue.destination = '2' AND
hauptmenue.folge > 6
ORDER BY
hauptmenue.folge ASC,
untermenue.folge ASC;";
$getalluntermenues = Array();
$getallids = Array();
$result = mysql_query($sql) OR die (mysql_error());
while($row4themaniest= mysql_fetch_assoc($result))
{
$getalluntermenues[] = $row4themaniest['untermenuepunkt'];
$getallids[] = $row4themaniest['id'];
}
$newslide = 1;
$getthemaniest = Array();
$steps = 0;
$counttocheckifforok = 0;
$counttocheckifforok2 = 0;
for($i=0; $i <$count4secondoffset; $i++)
{
for($k=1; $k <= $savenumberofuntermenues[$i]; $k++)
{
$counttocheckifforok++;
$j = $k - 1;
$getthemaniest[] = strlen($getalluntermenues[$j]);
if($k == $savenumberofuntermenues[$i]) // hier lieft das Problem
//beim zweiten $i durchlauf
//wird dies nicht ausgeführt
{
$maximaler_wert = max($getthemaniest);
$counttocheckifforok2++;
switch($maximaler_wert)
{
case 4:
$width4slide[$getallids[$i]] = 56;
break;
case 5:
$width4slide[$getallids[$i]] = 59 + 3;
break;
case 6:
$width4slide[$getallids[$i]] = 66 + 3;
break;
case 7:
$width4slide[$getallids[$i]] = 73 + 3;
break;
case 8:
$width4slide[$getallids[$i]] = 80 + 3;
break;
case 9:
$width4slide[$getallids[$i]] = 87 + 3;
break;
case 10:
$width4slide[$getallids[$i]] = 93 + 3;
break;
break;
default:
$width4slide[$getallids[$i]] = 50;
break;
}
}
}
$getthemaniest = Array();
}
Kommentar