Veröffentlicht 11. Mai 200718 j Hallo, ich habe hier nun das naechste problem. soweit laeuft alles, jedoch moechte ich nun, dass man schnell neue terms hinzufuegen kann, und die dann in der sql abfrage abgefragt werden, ohne recht viel aufwand. ich hab hier also: $term = array ("blablabla", "bla") (beliebig erweiterbar); und in der SQL-Abfrage: $dbquery = mysql_query("SELECT start_time, end_time, Rooms.handle AS ro om FROM Schedule, ScheduleTypes, Rooms, Terms where (Rooms_roomID IS NU LL OR Rooms_roomID=roomID) and ScheduleTypes_typeID=typeID and Schedule Types.handle=\"Open Lab\" and Terms_termID=termID and Terms.handle LIK E '%".$term."%' and weekdays LIKE '%".$day_letter."%'"); so nun hab ich das problem, dass das ganze funktioniert, wenn ich es oben nur als variable hab, aber nicht als array, jedoch funktioniert es nicht, sobald ich oben die Variable als array gespeichert hab. wie kann ich das nun am besten loesen? Ich habe es auch schon versucht ueber eine foreach oder for schleife und dann in der abfrage $term[$i] anzugeben, jedoch funktioniert das nicht so wirklich. Vielen Dank Dany
14. Mai 200718 j Hi, also es kommt leider keine fehlermeldung sondern er fuehrt dann einfach die Abfrage nicht durch der code sieht so aus $term = array ("Winter 2007 Exam week 2 "); //------------------------------------------------------------------------------ ----- $days = array( "M" => "Monday", "T" => "Tuesday", "W" => "Wednesday", "H" => "Thursday", "F" => "Friday", "S" => "Saturday"); foreach ($days as $day_letter => $day_name) { $dbquery = mysql_query("SELECT start_time, end_time, Rooms.handle AS room FROM S chedule, ScheduleTypes, Rooms, Terms where (Rooms_roomID IS NULL OR Rooms_roomID =roomID) and ScheduleTypes_typeID=typeID and ScheduleTypes.handle=\"Open Lab\" a nd Terms_termID=termID and Terms.name LIKE '%".$term."%' and weekdays LIKE '%". $day_letter."%'"); // reformat the information from the DB in correct order given in the SELECT sta tement 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"; // 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); } } ?> ich habe auch schon eine for schleife oder eine foreach schleife herumgepackt, dann gibt er mir aber alles moegliche aus.. was aber definitiv nicht richtig ist
14. Mai 200718 j *ohne jetzt alles im detail angeguckt zu haben* gib doch nach dem zusammenbasteln der sql-anweisung einfach mal den sql-string (in jedem schleifendurchlauf) aus...$dbquery = mysql_query("SELECT start_time, end_time, Rooms.handle AS room FROM S chedule, ScheduleTypes, Rooms, Terms where (Rooms_roomID IS NULL OR Rooms_roomID =roomID) and ScheduleTypes_typeID=typeID and ScheduleTypes.handle=\"Open Lab\" a nd Terms_termID=termID and Terms.name LIKE '%".$term."%' and weekdays LIKE '%". $day_letter."%'"); echo $dbquery . "<br>"; // reformat the information from the DB in correct order given in the SELECT sta tement ...[/PHP]und versuch diese sql-anweisungen manuell auszuführen um zu sehen ob diese überhaupt korrekt sind. lg jasso
14. Mai 200718 j genau da liegt das problem, er fuehrt die SQL-Anweisung nicht durch... Wenn ichs jedoch nur als Variable benutze, dann macht er alles richtig. jedoch brauch ich da ein array. Weisst du wie ich das einbinden kann in die Anweisung??
16. Mai 200718 j na dann lass uns nicht dumm sterben. evtl. hat noch jemand anderes mal dieses problem. lg jasso
16. Mai 200718 j ok, ich wusste nicht ob es jemanden interessiert, bzw ob des nich irgendwie ne bloede frage war. also ich habs jetz so geloest: <? // ----------------------------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 S chedule, ScheduleTypes, Rooms, Terms where (Rooms_roomID IS NULL OR Rooms_roomID =roomID) and ScheduleTypes_typeID=typeID and ScheduleTypes.handle=\"Open Lab\" a nd Terms_termID=termID and Terms.handle LIKE '%".$term_long."%' and weekdays LIK E '%".$day_letter."%'"); so funktionierts auf jeden fall.. weiss auch nicht ob das ne gute loesung is, aber hauptsache es funktioniert *ggg*
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.