Seite 2 von 3
Verfasst: 22.07.2005 21:02
von Pyramide
Welche Fehlermeldung erhältst du denn?
Verfasst: 23.07.2005 13:23
von leopittoni
Hallo
Erhalte:
Ungueltige Abfrage: Unknown column 'MONTAG1' in 'where clause'
MONTAG1 ist aber ein Feld in meiner DB...
Code: Alles auswählen
$result = mysql_query("SELECT fach,status FROM meinetabelle WHERE stunde=MONTAG1");
die Tabelle meinetabelle sieht so aus:
stunde fach status
MONTAG1 mathe verschoben
MONTAG2 frz
MONTAG3 ital gestrichen
usw...
und MONTAG1 existiert... dass heisst dass ich warscheinlich was falsch mache bei der Abfrage...
Wer kann mir helfen?
Danke, Léo
Verfasst: 23.07.2005 13:33
von leopittoni
Hallo
HIer nochmals meine ganze php-Datei. Sie ist im root-verzeichnis, die benötigte DB-Tabelle ist in der selben DB wie das phpBB.
Code: Alles auswählen
<?php
//Benˆtigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './phpBB2/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
$result = mysql_query("SELECT fach,status FROM meinetabelle WHERE stunde=MONTAG1");
if (!$result) {
die('Ungueltige Abfrage: ' . mysql_error());
}
$row = mysql_fetch_row($result);
$fach = $row[1];
$status = $row[2];
$template->set_filenames(array(
'db_abfragen' => 'db_abfragen.tpl'
));
$template->assign_vars(array(
'FACH' => $fach,
'STATUS' => $status
));
$template->pparse('db_abfragen');
?>
Danke, Léo
Verfasst: 23.07.2005 13:35
von SD582
Hi
Deine Tabelle enthält kein Feld namens MONTAG1 sondern das Feld stunde enthält in einem Datensatz den Wert 'MONTAG1'
Deine Query muß also so aussehen:
"SELECT fach,status FROM meinetabelle WHERE stunde='MONTAG1'"
Siehst du den feinen Unterschied?
MONTAG1 ist der Inhalt eines Textfeldes und muß daher in Anführungsstrichen (einfachen-) stehen.
Gruß
Franz
Verfasst: 23.07.2005 13:43
von leopittoni
Hallo
Vielen Dank: Jetzt kommt keine Fehlermeldung mehr, aber dafür eine leere Seite...
Die Werte erscheinen leider nicht, wieso nicht? Eigentlich sollte es "fach" und "status" ausgeben.
Hier nochmals meine ganze PHP-Datei:
Code: Alles auswählen
<?php
//Benˆtigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './phpBB2/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
$result = mysql_query("SELECT fach,status FROM meinetabelle WHERE stunde='MONTAG1'");
if (!$result) {
die('Ungueltige Abfrage: ' . mysql_error());
}
$row = mysql_fetch_row($result);
$fach = $row[1];
$status = $row[2];
$template->set_filenames(array(
'db_abfragen' => 'db_abfragen.tpl'
));
$template->assign_vars(array(
'FACH' => $fach,
'STATUS' => $status
));
$template->pparse('db_abfragen');
?>
und meine .tpl:
Code: Alles auswählen
<html>
<head>
</head>
<body>
{FACH}{STATUS}
</body>
</html>
Danke für die Hilfe, Léo
Verfasst: 24.07.2005 14:52
von leopittoni
Hi und sorry für das doppel-post...
Aber... Kann mir niemand sagen, wieso die Daten nicht angezeigt werden, und nur eine weisse Seite kommt.?!
Ich danke Euch im Voraus, Léo
Verfasst: 24.07.2005 18:06
von t2004
Moin,
Original:
Aber müßte es nicht eher so lauten?
mfg
Verfasst: 24.07.2005 18:20
von leopittoni
Hallo
Ich denke nicht, da oben ja steht:
$row = mysql_fetch_row($result);
$fach = $row[1];
$status = $row[2];
Oder schon?
Danke, Léo
Verfasst: 24.07.2005 19:16
von t2004
*achselzuck* So ist es auf jedenfall überall in den Forums-PHP-Dateien eingetragen...und es funktioniert. Ausserzeit verlierst Du ja nichts, wenn Du es so mal versuchst
mfg
Verfasst: 24.07.2005 19:43
von leopittoni
probiert hab ichs, funktionieren tuts nicht.
Ich habe jetzt die Lösung gefunden:
$row = mysql_fetch_row($result);
$fach = $row[0];
$status = $row[1];
So gehts.
Momentan frage ich die DB ja so ab:
$result = mysql_query("SELECT fach,status FROM emeinetabelle WHERE stunde='MONTAG1'");
Ich habe aber noch MONTAG2, MONTAG3 usw. Soll ich das alles einzeln so abfragen oder gibts da eine Möglichkeit, alles zusammen abzufragen?
Danke, Léo