Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Ausgabe nach Foreach ordnen

Empfohlene Antworten

Veröffentlicht

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

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

ok dankeschoen, nur leider habe ich noch nie was von gruppenverarbeitung gelesen bzw gehoert.. ich versuch mich mal im internet schlau zumachen :)

ich verstehs nicht :(

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

kann mir denn niemand weiterhelfen??

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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.