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.

Array in einer SQL-Abfrage benutzen

Empfohlene Antworten

Veröffentlicht

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

Code?

Fehlermeldung?

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 :(

*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

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??

ok dankeschoen, problem geloest

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.

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.