Hallo habe folgende Frage, ich lasse mir verschiedene Werte aus
einer Tabelle ausgeben, das funktioniert, dann wird mit den
Werten eine Berechnung durchgeführt und das Ergebnis ist $d.
Jetzt wird mit $d folgendes gemacht:
Jetzt möchte ich, das der create_time mit auf die nächste Seite übergeben wird, damit ich auf der nächsten Seite ein weiteres Suchkriterium habe,
das soll dann so aussehen:
<option value='10/05|1 up to 2 years'>1 up to 2 years</option>
Das geht auch soweit, bis auf einen kleinen Fehler, hier erstmal der Code:
Jetzt habe ich folgende Problem, das er einfach, wenn ich jetzt als
$create_time z.B. 10/05 habe und als $months 0 to 3 months
als Ergebnis habe, und dann z.B. bei 12/03 3 to 6 months
einfach die 10/05 miteinschließt und übergibt, also so siehts aus:
<option value='10/05,12/03|3 to 6 months'>3 to 6 months</option>
Aber das ist falsch, so ist es richtig:
<option value='10/05|0 to 3 months'>0 to 3 months</option>
<option value='12/03|3 to 6 months'>3 to 6 months</option>
Wo liegt der "Fehler" ? In der Foreach Schleife, oder wo ?
einer Tabelle ausgeben, das funktioniert, dann wird mit den
Werten eine Berechnung durchgeführt und das Ergebnis ist $d.
Jetzt wird mit $d folgendes gemacht:
PHP-Code:
.....................
if ($d <= -7) {
$array[0][$row['create_time']]="more than 7 months before launch";
} else if ($d <= -4 && $d >= -6){
$array[1][$row['create_time']]="6 to 4 months before launch";
} else if ($d <= -1 && $d >= -3){
$array[2][$row['create_time']]="3 to 1 months before launch";
} else if ($d >= 0 && $d <= 3) {
$array[3][$row['create_time']]= "0 to 3 months";
} else if ($d >= 4 && $d <= 6) {
$array[4][$row['create_time']]= "4 to 6 months";
} elseif ($d >= 7 && $d <= 9) {
$array[5][$row['create_time']]= "7 to 9 months";
} elseif ($d >= 10 && $d <= 12) {
$array[6][$row['create_time']]= "10 to 12 months";
} elseif ($d >= 13 && $d <= 24) {
$array[7][$row['create_time']]="1 up to 2 years";
} elseif ($d >= 25 && $d <= 36) {
$array[8][$row['create_time']]="more than 2 years up to 3 years";
} elseif ($d >= 36 && $d <= 60) {
$array[9][$row['create_time']]="more than 3 years up to 5 years";
} elseif ($d >= 61) {
$array[10][$row['create_time']]="more than 5 years";
}
}
das soll dann so aussehen:
<option value='10/05|1 up to 2 years'>1 up to 2 years</option>
Das geht auch soweit, bis auf einen kleinen Fehler, hier erstmal der Code:
PHP-Code:
ksort($array);
}
$spacer_shown=false;
$show_line=false;
for ($d=0;$d<=10;$d++) {
if (isset($array[$d])) {
foreach ($array[$d] as $key=>$val) {
$times.=$key.',';
}
if ($d<3 && $show_line==false) {
$show_line=true;
}
if ($d>=3 && $spacer_shown==false && $show_line) {
echo '<option value="">----------------------</option>';
$spacer_shown=true;
}
echo "<option value='$times|$val'>$val</option>";
} else {
echo '<option value="">--</option>';
}
.............
$create_time z.B. 10/05 habe und als $months 0 to 3 months
als Ergebnis habe, und dann z.B. bei 12/03 3 to 6 months
einfach die 10/05 miteinschließt und übergibt, also so siehts aus:
<option value='10/05,12/03|3 to 6 months'>3 to 6 months</option>
Aber das ist falsch, so ist es richtig:
<option value='10/05|0 to 3 months'>0 to 3 months</option>
<option value='12/03|3 to 6 months'>3 to 6 months</option>
Wo liegt der "Fehler" ? In der Foreach Schleife, oder wo ?
Kommentar