Tobias K.: Neuling versucht Datenbank zu durchsuchen

Beitrag lesen

Hallo tassilo,

Das ganze Wochenende hab ich mich jezt mit PHP&Mysql rumgeschlagen und bekomm es einfach nicht hin :o(

ganz ruhig :-) das geht halt nicht von heute auf morgen :-)

Ich habe eine Mysql-Datenbank mit Terminen. Ich habe folgende Spalten: event_id, bezirk, kreis, beschriftung, duedate, wotag, ort, zeit

was hat die Spalte für das Datum für ein Format?

Datum bestmöglichst von xx.xx.xx bis xx.xx.xx

mhh... wenn du mir jetzt noch verräts wo der Unterschied zwischen xx.xx.xx und xx.xx.xx ist :-)

Dieses Formular wird dann an ein php-script gesendet dass in der Datenbank alle Termine am xx.xx.xx im Ort xxxxxx oder im Kreis xxxx ausgibt.

Ich weiß nicht genau, was deine Spaltennamen genau bedeuten, und welche du brauchst, aber versuche es mal etwa so:
"SELECT <benötigtespaltennamen> FROM <tabellenname> WHERE ort = '$_POST["ort"]'"
für Kreis genauso und für das Datum dürften die Datumsfunktionen von mysql ganz praktisch sein: http://mysql.de/documentation/mysql/bychapter/manual.de_Tutorial.html#Date_calculations
wenn nur eins von datum, ort und kreis übergeben wurde könntest du deinen mysql-Query mit einer if-Abfrage machen, d.h. du fragst erst mal ab, was übergeben wurde, und dann setzt du den entsprechenden Query.

<input type="text" name="lkrs" class="suche" size="10" maxlength="40">

mhh... was heißt "lkrs"?

<input type='submit' value='abfrage'>

warum machst du hier einfache Anführungszeichen, sonst aber doppelte? Außerdem fehl hier noch ein name=""

mysql_select_db ("termine",$db);
$link=mysql_connect(); mysql_select_db("termine");

$anfrage="SELECT * FROM call_appoint WHERE $attribut LIKE
'$Suchanfrage' order by ort;";

für was ist $attribut?

echo "<TABLE border='1' width='70%'>";

<table> hat kein width="" -> css (genauso wie border="")

hier muss noch ein echo "<tr>"; rein

for ($i=0;$i<mysql_num_fields($ergebnis);$i++) {
  echo "<TH>".mysql_field_name($ergebnis,$i)."</th>";

du öffnest ein <TH> und schließt ein </th>.

}

und hier fehlt ein echo "</tr>";

while ($zeile=mysql_fetch_row($ergebnis)){
  echo "<tr align='center'>";
  for ($i=0;$i<mysql_num_fields($ergebnis);$i++) {
    echo "<td>".$zeile[$i]."</td>";
  }
  echo "</tr>";
}
so sieht das ganze etwas übersichtlicher aus, ob es funktioniert, weiß ich nicht (ich kann es mir ehrlichgesagt aber nicht vorstellen, dass das so klappt)

mysql_close($link);

welche datenbankverbindung schließt du hier?

Irgendwie funzt das ganze net so

was "funzt" denn nicht? Fehlermeldung?

  • ists denn wirklich soooo schiimm?

naja, man könnte es schon noch übersichtlicher schreiben (einrücken)

Ist ja mein erster Versuch :(

naja dann :-)

Grüße aus Nürnberg
Tobias