Hallo ich mache eine Abfrage, das Ergebniss dieser Abfrage ist ein Zeitraum:
So das Ergebnis ist jetzt z.B. 0-3months.
Da habe ich folgendes Problem, ich moechte
wenn die Abfrage oben mehrmals 0-3months
ergibt, das dann 0-3months nur
einmal angezeigt wird.
Jetzt sieht es so aus:
"<option value='0-3months'>0-3months</option>";
"<option value='0-3months'>0-3months</option>";
Das soll aber nur einmal da stehen.
Das naechste Problem was ich habe,
von der Abfrage oben ergibt sich
aus tbl. project_spec ein Feld create_time.
Ich moechte das Feld create_time
mituebergeben.
In dem Feld create_time steht char-Werte
wie 10/04.
Mein Ziel ist, das alle die create_time
Werte (die Berechnung steht ja oben)
die z.B. "0-3months" ergeben mituebergeben
werden, also so soll das aussehen:
"<option value='10/04, 08/04'|'0-3months'>
0-3months</option>";
Wie kann ich das machen das jeder
errechnete create_time Wert wo
0-3months rauskommt mituebergeben
wird, steht jetzt 3-6months zur Auswahl,
dann nur die create_time Werte wo
bei der Berechnung oben 3-6months rauskommt.
Meine Idee war:
Jemand ne andere Idee, weil das funktioniert nicht richtig. Danke
PHP-Code:
$result = mysql_query("SELECT p.*, b.*
FROM project_spec as p LEFT JOIN
brand_launch as b ON p.country = b
.country WHERE p.country='$country'
and p.icd_id='$icd_id' and
p.brand_id=b.brand_id");
$num = mysql_num_rows($result);
function getTimeStampFromDate($date) {
$array = explode("/", $date);
return mktime(0, 0, 0, $array[0],
1, $array[1]);
}
$array = array();
if ($num != 0) {
while ($row = mysql_fetch_array($result)) {
$start = getTimeStampFromDate($row['launch_time']);
$end = getTimeStampFromDate($row['create_time']);
$d = round(($end - $start) / 60 / 60 / 24 / 30);
$months = "";
if ($d <= 3) {
$months = "0-3 months";
} else if ($d >= 3 && $d <= 6) {
$months = "3-6 months";
} elseif ($d >= 6 && $d <= 9) {
$months = "6-9 months";
} elseif ($d >= 9 && $d <= 12) {
$months = "9-12 months";
} elseif ($d >= 12 && $d <= 24) {
$months = "1-2 years";
} elseif ($d >= 24 && $d <= 36) {
$months = "2-3 years";
} elseif ($d >= 36 && $d <= 48) {
$months = "3-4 years";
} elseif ($d >= 48 && $d <= 60) {
$months = "4-5 years";
} elseif ($d >= 60) {
$months = "more than 5 years";
}
echo "<option value='$months'>$months</option>";
Da habe ich folgendes Problem, ich moechte
wenn die Abfrage oben mehrmals 0-3months
ergibt, das dann 0-3months nur
einmal angezeigt wird.
Jetzt sieht es so aus:
"<option value='0-3months'>0-3months</option>";
"<option value='0-3months'>0-3months</option>";
Das soll aber nur einmal da stehen.
Das naechste Problem was ich habe,
von der Abfrage oben ergibt sich
aus tbl. project_spec ein Feld create_time.
Ich moechte das Feld create_time
mituebergeben.
In dem Feld create_time steht char-Werte
wie 10/04.
Mein Ziel ist, das alle die create_time
Werte (die Berechnung steht ja oben)
die z.B. "0-3months" ergeben mituebergeben
werden, also so soll das aussehen:
"<option value='10/04, 08/04'|'0-3months'>
0-3months</option>";
Wie kann ich das machen das jeder
errechnete create_time Wert wo
0-3months rauskommt mituebergeben
wird, steht jetzt 3-6months zur Auswahl,
dann nur die create_time Werte wo
bei der Berechnung oben 3-6months rauskommt.
Meine Idee war:
PHP-Code:
$array[$months]['create_time'] = $row['create_time'];
}
}
foreach ($array as $months => $value) {
echo"<option value='
".implode(',', $value['create_time'])."|$months'>
$months</option>";
}
Kommentar