pinablubb Geschrieben 15. Mai 2007 Geschrieben 15. Mai 2007 Hallo, nun habe ich das naechste problem und finde den loesungsansatz nicht. Ich habe das Problem, dass ich die SQL-Abfrage und die Ausgabe momentan so habe: -------------------------------- Code ------------------------------------ <? // ----------------------------Here you can fill in the terms------------------------- $term = array ("W07x1" => "Winter 2007 Exam week 1", "W07x2" => "Winter 2007 Exam week 2"); //----------------------------------------------------------------------------------- $days = array( "M" => "Monday", "T" => "Tuesday", "W" => "Wednesday", "H" => "Thursday", "F" => "Friday", "S" => "Saturday"); foreach ($term as $term_long => $term_name) { foreach ($days as $day_letter => $day_name) { $dbquery = mysql_query("SELECT start_time, end_time, Rooms.handle AS room FROM Schedule, ScheduleTypes, Rooms, Terms where (Rooms_roomID IS NULL OR Rooms_ro omID=roomID) and ScheduleTypes_typeID=typeID and ScheduleTypes.handle=\"Open Lab\" and Terms_termID=termID and Terms.handle LIKE '%".$term_long."%' and week days LIKE '%".$day_letter."%'"); // reformat the information from the DB in correct order given in the SELECT statement if ($dbquery) { $times_array = mysql_fetch_row($dbquery); } else {$times_array = "";} while ($times_array != "") { echo "<td>".$day_name." </td>\t"; echo "<td>".$times_array[0]." </td>\t"; echo "<td>".$times_array[1]." </td>\t"; echo "<td>".$times_array[2]." </td>\t"; echo "<td>".$term_name."</td>\t"; // ask for availableness by checkboxes, default setting is 'NO' echo "<td><INPUT TYPE=\"checkbox\" NAME=\"".$day_name."_".$times_array[0]."_".$times_array[1]."_".$times_array[2]."\"></td></tr>\n"; $times_array = mysql_fetch_row($dbquery); } } } ?> ------------------------ code ende -------------------------------------- so jetzt gibt er mir das so aus: weekday start time end time room term available Tuesday 10:00:00 14:00:00 A205 Tuesday 10:00:00 14:00:00 T103 Wednesday 10:00:00 14:00:00 A205 Wednesday 10:00:00 14:00:00 T103 Saturday 10:00:00 14:00:00 A205 Saturday 10:00:00 14:00:00 T103 Wednesday 10:00:00 14:00:00 T103 so und der Mittwoch ist aber jetzt von dem zweiten term... nun moechte ich also, dass er mir das so ausgibt: Winter 2007 Exam week 1 weekday start time end time room available Tuesday 10:00:00 14:00:00 A205 Tuesday 10:00:00 14:00:00 T103 Wednesday 10:00:00 14:00:00 A205 Wednesday 10:00:00 14:00:00 T103 Saturday 10:00:00 14:00:00 A205 Saturday 10:00:00 14:00:00 T103 Wednesday 10:00:00 14:00:00 T103 Winter 2007 Exam week 2 weekday start time end time room available Wednesday 10:00:00 14:00:00 T103 jedoch kriege ich das irgendwie nicht gebacken.. diese zeile hier weekday start time end time room available habe ich ausserhalb der php anweisung im html code. wenn ich jedoch die ausgabe in die php-anweisung setze, dann gibt er mir diese fuer jeden tag aus, ich moechte sie jedoch nur fuer jeden term haben?? Ich bin hier gerade echt mal wieder am verzweifeln Vielen Dank Dany Zitieren
jasso Geschrieben 16. Mai 2007 Geschrieben 16. Mai 2007 was du brauchst ist gruppenverarbeitung. hab jetzt leider keine zeit dir das direkt in php zu basteln aber der ablauf ist folgendermaßen: lese ersten datensatz solange datensatz nicht zu ende { aktgruppe = datensatz.gruppenbezeichnung ausgabe aktgruppe solange datensatz nicht zu ende und aktgruppe = datensatz.gruppenbezeichnung { ausgabe aktdatensatz lese nächsten datensatz } } lg jasso Zitieren
pinablubb Geschrieben 16. Mai 2007 Autor Geschrieben 16. Mai 2007 ok dankeschoen, nur leider habe ich noch nie was von gruppenverarbeitung gelesen bzw gehoert.. ich versuch mich mal im internet schlau zumachen Zitieren
beebof Geschrieben 16. Mai 2007 Geschrieben 16. Mai 2007 *ungetestet* ... foreach ($term as $term_long => $term_name) { echo $term_name."<br>"; foreach ($days as $day_letter => $day_name) { ... Zitieren
pinablubb Geschrieben 16. Mai 2007 Autor Geschrieben 16. Mai 2007 so hab ichs leider schon probiert funktioniert aber nicht, dann zeigt er mir ganz oft den term-namen an, aber bringt nicht die auflistung die ich so haben will habe das echo auch schon an verschiedensten stellen versucht, jedoch bringt er mir das immer nur in einer reihe, bzw dann die ausgaben der Tage unterinander, ohne dass er dann wieder eine neue "tabelle" anfaengt.. aber dankeschoen ich find auch nicht wirklich was brauchbares unter google, wenn ich da nach gruppenverwaltung suche?? lg dany Zitieren
pinablubb Geschrieben 21. Mai 2007 Autor Geschrieben 21. Mai 2007 kann mir denn niemand weiterhelfen?? Zitieren
Jaraz Geschrieben 21. Mai 2007 Geschrieben 21. Mai 2007 Sorry aber deinen Quellcode kann man nicht/kaum verstehen. Poste doch mal einen Dump deiner Datenbank (DDL und Beispieldaten) und die genaue Ausgabe die du haben willst. Gruß Jaraz Zitieren
pinablubb Geschrieben 22. Mai 2007 Autor Geschrieben 22. Mai 2007 also die anzeige soll so aussehn: Winter 2007 Exam week 1 weekday start time end time room available Tuesday 10:00:00 14:00:00 A205 Tuesday 10:00:00 14:00:00 T103 Wednesday 10:00:00 14:00:00 A205 Wednesday 10:00:00 14:00:00 T103 Saturday 10:00:00 14:00:00 A205 Saturday 10:00:00 14:00:00 T103 Wednesday 10:00:00 14:00:00 T103 Winter 2007 Exam week 2 weekday start time end time room available Wednesday 10:00:00 14:00:00 T103 bzw halt je nach abfrageergebnis.. was meinst du mit einem dump aus der Datenbank?? die abfrage an sich funktioniert ja, nur leider gibt er mir halt die ganzen Ergebnisse unterinander aus, soll aber für jeden "Term" )den ich ja auch in der Abfrage abfrage) eine neue "Spalte" ausgeben. er gibt es halt momentan so aus: weekday start time end time room term available Tuesday 10:00:00 14:00:00 A205 Tuesday 10:00:00 14:00:00 T103 Wednesday 10:00:00 14:00:00 A205 Wednesday 10:00:00 14:00:00 T103 Saturday 10:00:00 14:00:00 A205 Saturday 10:00:00 14:00:00 T103 Wednesday 10:00:00 14:00:00 T103 //das hier ist aber schon der neue Term Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.