pinablubb Geschrieben 11. Mai 2007 Geschrieben 11. Mai 2007 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 Zitieren
pinablubb Geschrieben 14. Mai 2007 Autor Geschrieben 14. Mai 2007 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 Zitieren
jasso Geschrieben 14. Mai 2007 Geschrieben 14. Mai 2007 *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 Zitieren
pinablubb Geschrieben 14. Mai 2007 Autor Geschrieben 14. Mai 2007 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?? Zitieren
pinablubb Geschrieben 14. Mai 2007 Autor Geschrieben 14. Mai 2007 ok dankeschoen, problem geloest Zitieren
jasso Geschrieben 16. Mai 2007 Geschrieben 16. Mai 2007 na dann lass uns nicht dumm sterben. evtl. hat noch jemand anderes mal dieses problem. lg jasso Zitieren
pinablubb Geschrieben 16. Mai 2007 Autor Geschrieben 16. Mai 2007 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* 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.