Zur Navigation

suchfeld soll beim absenden nicht beachtet werden (optional) [6]

51 andehrl

Zitat von Jörg
Wie sieht denn das Eingabefeld für beispielsweise 'marke' aus?


das einzige was ich zum texteigabefeld marke in der suchdatei finde ist das hier:

 <tr>
          <td height="21" align="right" valign="middle" class="Schriftangaben">marke</td>
          <td>&nbsp;</td>
          <td colspan="4"><label>
            <input name="marke" type="text" id="marke" />
          </label></td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>

16.09.2010 19:41

52 Jörg Kruse

Die Frage ist, wie dann gesucht werden soll:

a) die Eingabe in das Formularfeld soll mit dem im Datenbankfeld `marke` abgespeicherten Wert identisch sein. Die Suche nach "xy" findet dann nur "xy". Die von dir verwendete SQL-Bedingung würde dem entsprechen:

if (isset($_POST['marke']) && $_POST['marke'] != '') {
    $query_R1 .= " marke = " . GetSQLValueString($_POST['marke'], 'text') . " AND ";
}

b) die Eingabe in das Formularfeld soll in im Datenbankfeld `marke` abgespeicherten Wert enthalten sein, wobei Groß- und Kleinschreibung nicht berücksichtigt wird. Die Suche nach "xy" findet dann z.B. auch "XYZ". Hier müsste man in SQL mit LIKE operieren:

if (isset($_POST['marke']) && $_POST['marke'] != '') {
    $query_R1 .= " marke LIKE '%" . mysql_real_escape_string($_POST['marke']) . "%' AND ";
}

16.09.2010 20:10 | geändert: 16.09.2010 20:11

53 andehrl

habe die suchdatei so verändert

$colname11_R1 = "NULL";
if (isset($_POST['marke']) && $_POST['marke'] != '') {
    $query_R1 .= " marke LIKE '%" . GetSQLValueString($colname11_R1, 'text') . "%' AND ";
}
$colname12_R1 = "NULL";
if (isset($_POST['model']) && $_POST['model'] != '') {
    $query_R1 .= " model LIKE '%" . GetSQLValueString($colname12_R1, 'text') . "%' AND ";
}



und die ergebnisdatei auf diese art:

if (isset($_POST['marke']) && $_POST['marke'] != '') {
    $query_R1 .= " marke LIKE '%" . GetSQLValueString($_POST['marke'], 'text') . "%' AND ";
}
if (isset($_POST['model']) && $_POST['model'] != '') {
    $query_R1 .= " model LIKE '%" . GetSQLValueString($_POST['model'], 'text') . "%' AND ";
}

leider bekomme ich nach wie vor kein ergebnis angezeigt

16.09.2010 20:41

54 andehrl

Zitat von andehrl
habe die suchdatei so verändert

$colname11_R1 = "NULL";
if (isset($_POST['marke']) && $_POST['marke'] != '') {
    $query_R1 .= " marke LIKE '%" . GetSQLValueString($colname11_R1, 'text') . "%' AND ";
}
$colname12_R1 = "NULL";
if (isset($_POST['model']) && $_POST['model'] != '') {
    $query_R1 .= " model LIKE '%" . GetSQLValueString($colname12_R1, 'text') . "%' AND ";
}



und die ergebnisdatei auf diese art:

if (isset($_POST['marke']) && $_POST['marke'] != '') {
    $query_R1 .= " marke LIKE '%" . GetSQLValueString($_POST['marke'], 'text') . "%' AND ";
}
if (isset($_POST['model']) && $_POST['model'] != '') {
    $query_R1 .= " model LIKE '%" . GetSQLValueString($_POST['model'], 'text') . "%' AND ";
}

leider bekomme ich nach wie vor kein ergebnis angezeigt

hab grad gesehen, daß meine änderung nicht deinen vorgaben entspricht. bin gleich wieder da :-)

16.09.2010 20:44

55 andehrl

hab die ergebnisdatei jetzt so verändert:

if (isset($_POST['marke']) && $_POST['marke'] != '') {
    $query_R1 .= " marke LIKE '%" . mysql_real_escape_string($_POST['marke']) . "%' AND ";
}
if (isset($_POST['model']) && $_POST['model'] != '') {
    $query_R1 .= " model LIKE '%" . mysql_real_escape_string($_POST['model']) . "%' AND ";
}

bekomme nach wie vor kein ergebnis angezeigt


muss ich in der suchdatei dieselben änderungen vornehmen. wenn ja, wird dann nicht die colname überschrieben/entfernt?


16.09.2010 20:55

56 Jörg Kruse

Was steht denn in der Datenbank in den Feldern marke und model (beispielsweise) drin und was gibst du bei der Suche ein?

Wird auch kein Ergebnis angezeigt, wenn du nichts in den beiden Formularfeldern eingibst?

16.09.2010 21:14

57 andehrl

Zitat von Jörg
Was steht denn in der Datenbank in den Feldern marke und model (beispielsweise) drin und was gibst du bei der Suche ein?

Wird auch kein Ergebnis angezeigt, wenn du nichts in den beiden Formularfeldern eingibst?


marke ist zb
VW
und model
Tueran
.

ich habe bei der suchanfrage bisher nur die felder abfahrtsort und zielort belegt. alle übrigen felder waren auf ihren anfangswerten.

16.09.2010 21:25

58 Jörg Kruse

Gib mal testweise die Query aus:

$query_limit_R1 = sprintf("%s LIMIT %d, %d", $query_R1, $startRow_R1, $maxRows_R1);
// Test:
die($query_limit_R1);

16.09.2010 21:50

59 andehrl

Zitat von Jörg
Gib mal testweise die Query aus:



hoffe ich hab das richtig verstanden. ich habe in der ergebnisseite unter

$query_limit_R1 = sprintf("%s LIMIT %d, %d", $query_R1, $startRow_R1, $maxRows_R1);

// Test:
die($query_limit_R1);

eingegeben

habe dann diese meldung erhalten:

SELECT * FROM Eingabe WHERE 1 ORDER BY Eingabe.monat, Eingabe.tag, Eingabe.stunde, Eingabe.`minute` LIMIT 0, 20

16.09.2010 22:04

60 Jörg Kruse

Ja, das ist die Query, die an die Datenbank gesendet wird. Die sollte eigentlich Ergebnisse liefern. In der Tabelle Eingabe befinden sich auch Datensätze?

Und wie sieht der HTML-Teil aus, in dem die Ergebnisse ausgegeben werden?

16.09.2010 22:11