Herr_der_Ringe Geschrieben 15. Juli 2005 Autor Teilen Geschrieben 15. Juli 2005 Nachdem ich den Punkt enfernt hab, gehts immernoch nicht. das steht in der $sql drinne: SELECT * FROM Testfall WHERE Funktionsbeschreibung LIKE 'Aktivitätsmonitor öffnen%' Funktionsbeschreibung = Spalte Aktivtätsmonitor öffnen = Spalteninhalt, nachdem ich filter. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 15. Juli 2005 Teilen Geschrieben 15. Juli 2005 SELECT * FROM Testfall WHERE Funktionsbeschreibung LIKE 'Aktivitätsmonitor öffnen%' Wenn Testfall der Name der Tabelle ist, bin ich gerade zu dumm einen Fehler zu sehen.. Sieht hier jemand das Problem, das DB-Layout soll mal egal sein Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Herr_der_Ringe Geschrieben 15. Juli 2005 Autor Teilen Geschrieben 15. Juli 2005 Jap, Testfall = Tabellenname Funktionsbeschreibung = Spaltenname Aktivitätsmonitor öffnen = Index, nachdem gefiltert wird. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Herr_der_Ringe Geschrieben 15. Juli 2005 Autor Teilen Geschrieben 15. Juli 2005 Fehlt der Edit-Button, also Doppelpost. Selbst diese einfache $sql-anweisung geht nicht: $sql = "SELECT ".$was." FROM Testfall "; Sprich, in meinem Bsp: "SELECT Funktionsbeschreibung FROM Testfall"; Er zeigt mir trotzdem die komplette Tabelle an. Soll er ja aber nicht! Kann es sein, da ich ganz am Anfang des Scriptes ja auch ein $SQL hab ("Select * FROM Testfall ORDER BY Auto_Testfall_ID"), dass er immer wieder das dann ausführt? Warum auch immer-.- Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 15. Juli 2005 Teilen Geschrieben 15. Juli 2005 Edit: Hab mich vertan, das was ich gerade versucht habe zu korrigieren betraf das "NULLEN", also Post ignorieren Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Herr_der_Ringe Geschrieben 15. Juli 2005 Autor Teilen Geschrieben 15. Juli 2005 Och,dazu hätt ich auch noch ne Frage:D Und zwar, funktioniert es ja jetzt, dass das Testdatum auf 0 gesetzt wird. Aber, es sollen gleichzeitig noch 2 wietere Spalten auf 0 gesetzt werden. diese heissen: Auswertung getestet Auswertung in Abläufen Habs so versucht (Glaube, das war ein dummer versuch-.-) $sql = "UPDATE Testfall SET Testdatum ='0000-00-00 00:00:00'"; $sql = "UPDATE Testfall SET 'Auswertung getestet' ='0'"; $sql = "UPDATE Testfall SET 'Auswertung in Abläufen' ='0'"; Jo, und die SQL-Anweisung beim Filtern geht mir auch noch aufn Keks.. kA was da los ist.. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gnomeline Geschrieben 15. Juli 2005 Teilen Geschrieben 15. Juli 2005 Hey Du, kannst das Update auch für mehrere Attribute in einem Statement machen, da es die gleiche Tabelle betrifft ;O) Also: $sql = "UPDATE Testfall SET Testdatum ='0000-00-00 00:00:00'", 'Auswertung getestet' ='0'", 'Auswertung in Abläufen' ='0'"; Winkegruß, Gnomeline Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Herr_der_Ringe Geschrieben 15. Juli 2005 Autor Teilen Geschrieben 15. Juli 2005 Jo, das weiss/dachte ich mehr oder weniger auch schon. Habs auch ausprobiert. Aber geht net-.- $sql = "UPDATE Testfall SET Testdatum ='0000-00-00 00:00:00', 'Auswertung getestet' ='0', 'Auswertung in Abläufen' ='0'"; MySQL-Fehler:You have an error in your SQL syntax near ''Auswertung getestet' ='0', 'Auswertung in Abläufen' ='0'' at line 2 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Herr_der_Ringe Geschrieben 18. Juli 2005 Autor Teilen Geschrieben 18. Juli 2005 Hi. Gibts vlt. jemanden, der übers Wochenende eine Lösung gefunden hat? Wäre super. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 18. Juli 2005 Teilen Geschrieben 18. Juli 2005 $sql = "UPDATE Testfall SET Testdatum ='0000-00-00 00:00:00', 'Auswertung getestet' ='0', 'Auswertung in Abläufen' ='0'"; Wenn's wirklich diese Spaltennamen sein müssen ... $sql = "UPDATE Testfall SET Testdatum = '0000-00-00 00:00:00', `Auswertung getestet` = '0', `Auswertung in Abläufen` = '0'"; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Herr_der_Ringe Geschrieben 18. Juli 2005 Autor Teilen Geschrieben 18. Juli 2005 Hab die Spaltennamen in Auswertung_getestet und Auswertung_in_Ablauf geändert. Was sehr komisch ist. Testdatum löschen => ging. Dann hab ich die Auswertungen mit dazugenommen. Jetzt geht nurnoch die Auswertung_in_Ablauf-.- vlt. liegts daran, dass ich 3 $sql*** gemacht hatte und er nur die letzte ausführt?! Dürfte ja aber eigentlich nicht so sein. PS: Das mit dem Filtern geht immernoch net-.- Die SQL-Anweisung scheint korrekt.. aber er filtert nicht.. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 18. Juli 2005 Teilen Geschrieben 18. Juli 2005 vlt. liegts daran, dass ich 3 $sql*** gemacht hatte und er nur die letzte ausführt?! Hast Du für jedes einzelne SQL-Statement ein mysql_query() drin? Mit dem Statement aus meinem letzten Post brauchst Du doch nur noch ein Statement... Zum Filtern hätte ich nochmal gerne ne aktuelle Fehlermeldung und den Code-Block, in dem es ausgeführt wird...(nicht alles ) sowie den Inhalt von $sql zu dem Zeitpunkt... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Herr_der_Ringe Geschrieben 18. Juli 2005 Autor Teilen Geschrieben 18. Juli 2005 Testdatum zurücksetzen: if (!empty($_GET['action']) && $_GET['action'] == "nullen") { $sql = "UPDATE Testfall SET Testdatum ='0000-00-00 00:00:00', Auswertung_getestet = '0', Auswertung_in_Ablauf = '0'"; if (!mysql_query($sql)) { die("MySQL-Fehler:".mysql_error()); } } <= Geht jetzt-.- Filter-Funktion: if ($_SERVER['REQUEST_METHOD'] == "GET") { if (isset($_GET['suche'])) { $filter = $_GET['suche']; $was = $_GET['was']; $sql = "SELECT * FROM Testfall WHERE ".$was." LIKE '".mysql_escape_string($filter)."%'"; echo $sql; if (!mysql_query($sql)) { die("MySQL-Fehler:".mysql_error()); } } } else { echo "Geht net"; } Das steht in $sql drinne, wenn ich in Funktionsbeschreibung nach a suche: SELECT * FROM Testfall WHERE Funktionsbeschreibung LIKE 'a%' Fehlermeldungen gibts keine. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 18. Juli 2005 Teilen Geschrieben 18. Juli 2005 Du wertest Die Ergebnismenge des SQL-Statements ja gar nicht aus... $filter = $_GET['suche']; $was = $_GET['was']; $sql = "SELECT * FROM Testfall WHERE ".$was." LIKE '".mysql_escape_string($filter)."%'"; echo $sql; if (!mysql_query($sql)) { die("MySQL-Fehler:".mysql_error()); } ... if ($sqlRes = mysql_query($sql)) { while ($row = mysql_fetch_assoc($sqlRes)) { echo "<pre>"; print_r($row); echo "</pre>"; } } else die("MySQL-Fehler:".mysql_error()); Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Herr_der_Ringe Geschrieben 18. Juli 2005 Autor Teilen Geschrieben 18. Juli 2005 LoL! Also, folgendes! Oberhalb der Tabelle, die er mir ja anzeigt, zeigt er mir jetzt folgendes an: Array ( [Auswertung_Items] => 1 [Auswertung_getestet] => 0 [Auswertung_in_Ablauf] => 0 [Nr] => 2.01.01 [Auto_Testfall_ID] => 1 [GV_Funktion_ID] => 1 [Funktionsbeschreibung] => Applikation starten [Testdatum] => 0000-00-00 00:00:00 [beschreibung] => Applikation starten [Vorraussetzung] => Benutzer ist in PPSFR angelegt, verteilte Umgebung ist gestartet [sollergebnis] => Zugbildungsbrowser startet, korrekter Besteller und Bestellerdaten werden angezeigt [Verweis] => [Reihenfolge] => 1 ) Und das für alle Datensätze, wo Funktionsbeschreibung mit A beginnt. Also demnach schon korrekt. Nur, sollte er mir halt die Tabelle anzeigen, nur mit den Datensätzen mit den gewünschten Kriterien... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Herr_der_Ringe Geschrieben 18. Juli 2005 Autor Teilen Geschrieben 18. Juli 2005 So siehts mom. aus: if ($_SERVER['REQUEST_METHOD'] == "GET") { if (isset($_GET['suche'])) { $filter = $_GET['suche']; $was = $_GET['was']; $sql = "SELECT * FROM Testfall WHERE ".$was." LIKE '".mysql_escape_string($filter)."%'"; echo $sql; if (!mysql_query($sql)) { die("MySQL-Fehler:".mysql_error()); } if ($sqlRes = mysql_query($sql)) { while ($row = mysql_fetch_assoc($sqlRes)) { echo "<pre>"; print_r($row); echo "</pre>"; } } else die("MySQL-Fehler:".mysql_error()); } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 18. Juli 2005 Teilen Geschrieben 18. Juli 2005 Dann musst Du das filternde Statement vor der Stelle setzen, an der die Ergebnismenge für die Tabelle ausgelesen wird... Quasi noch vor dem hier: $sql = "SELECT * FROM Testfall ORDER BY Auto_Testfall_ID"; $datenbank = "ppsfr_spielwiese"; mysql_select_db($datenbank,$db_handle); $ergebnis = mysql_query($sql); Abhängig von dem, ob gefiltert wird oder nicht, nimmst Du den gerade zittierten Inhalt von $sql, alternativ dann das filternde Statement... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Herr_der_Ringe Geschrieben 18. Juli 2005 Autor Teilen Geschrieben 18. Juli 2005 Hm..kapier ich jetzt nicht ganz.. wenn ichs vor dem connect setze, dann heisst es, es wird nicht connected.logisch. wenn ichs so mache, wie von dir beschrieben, dann heisst es, keine datenbank ausgewählt.auch logisch (da diese ja später erst beschrieben ist). wenn ich es danach einfüge, zeigt er mir wieder alles an. oben die arrays, die gefiltert wurden und unten die KOMPLETTE Tabelle. So auch, wenn ich die Funktion nach dem von dir beschriebenen einfüge. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 18. Juli 2005 Teilen Geschrieben 18. Juli 2005 Wie hast Du es denn gemacht? Ich meinte so in etwa: if (isset($_GET['suche'])) { $filter = $_GET['suche']; $was = $_GET['was']; $sql = "SELECT * FROM Testfall WHERE ".$was." LIKE '".mysql_escape_string($filter)."%'"; } else $sql = "SELECT * FROM Testfall ORDER BY Auto_Testfall_ID"; $datenbank = "ppsfr_spielwiese"; mysql_select_db($datenbank,$db_handle); $ergebnis = mysql_query($sql); Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Herr_der_Ringe Geschrieben 18. Juli 2005 Autor Teilen Geschrieben 18. Juli 2005 YEAH!!! $db_handle = mysql_connect($HOST,$USERID,$PW) or die("Die Datenbank ist momentan nicht erreichbar"); $datenbank = "ppsfr_spielwiese"; mysql_select_db($datenbank,$db_handle); if ($_SERVER['REQUEST_METHOD'] == "GET") { if (isset($_GET['suche'])) { $filter = $_GET['suche']; $was = $_GET['was']; $sql = "SELECT * FROM Testfall WHERE ".$was." LIKE '".mysql_escape_string($filter)."%'"; if (!mysql_query($sql)) { die("MySQL-Fehler:".mysql_error()); } if ($sqlRes = mysql_query($sql)) { while ($row = mysql_fetch_assoc($sqlRes)) { echo "<pre>"; print_r($row); echo "</pre>"; } } } } else $sql= "SELECT * FROM Testfall ORDER BY Auto_Testfall_ID"; $ergebnis = mysql_query($sql); $anz_datensaetze = mysql_num_rows($ergebnis); So funktioniert es, bis auf einen Schönheitsfehler! Diese Datensätze in den Arrays, werden immernoch oberhalb der Tabelle angezeigt... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 18. Juli 2005 Teilen Geschrieben 18. Juli 2005 Die Anzeige galt ja nur Debug-Zwecken... Mach's einfach so kurz, wie in meinem vorherigen Post... Das reicht für die Filter-Funktionalität... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Herr_der_Ringe Geschrieben 18. Juli 2005 Autor Teilen Geschrieben 18. Juli 2005 Moep. Es geht:D:D:D Ich danke dir!!! Echt prima!! Einen besseren Support kann man sich nicht wünschen;) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pl-lL0 Geschrieben 18. Juli 2005 Teilen Geschrieben 18. Juli 2005 Wie MOEP? Wasn das? Monty stell das sofort ab!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Herr_der_Ringe Geschrieben 18. Juli 2005 Autor Teilen Geschrieben 18. Juli 2005 Was soll der Post jetzt??? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pl-lL0 Geschrieben 18. Juli 2005 Teilen Geschrieben 18. Juli 2005 Na kannst doch hier net rum moepedieren! Quatsch war nurn Witz. Ignoriers einfach. Schön das ihr dein Problem in griff bekommen habt ;-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.