Datenbankabfrage?
Sgt.B.A
- datenbank
Hy ich bin zur Zeit an einem Projekt für meine Ausbildung. Ich erstelle in HTML ein Portal was später als Informationsportal im Eingang genutzt werden soll. Nun meine Frage Wie kann ich es einstellen das wenn ich auf mänlich Klicke, er mir nur die Leute mit Herr Raussucht?? Ich habe es zur Zeit nur geschaft eine Komplette Datenbank abfrage zu machen. Dort sucht er alle Leute die mit vor oder nachnamen z.B. mit L anfangen. hier mal der Code
<html>
<head>
<title>Menue fuer Touchscreen</title>
<link rel="stylesheet" type="text/css" href="formate2.css">
</head>
<body>
<h2>Suche Auszubildenden:</h2>
<form name="eingabe" action="mysql.php" method="post">
<textarea cols="50" rows="1" name="textfeld"></textarea>
<input type="submit">suchen
<button name="reset" type="button" class="Button2" value="reset" onclick="eingabe.textfeld.value=''">zurück setzen</button><br>
Suche nach<br>
<input type="radio" class="Radio" name="suche" value="Nachname"> Nachname<br>
<input type="radio" class="Radio" name="suche" value="Vorname"> Vorname<br>
<input type="radio" class="Radio" name="suche" value="Ausbildungsberuf"> Ausbildungsberuf<br>
<input type="radio" class="Radio" name="Geschlecht" value="Herr"> männlich<br>
<input type="radio" class="Radio" name="Geschlecht" value="Frau"> weiblich
zur Zeit greift er nur auf die mysql.php zu die folgenden Code hat:
<?php
// Verbindung erstellen, bei Fehler diesen ausgeben:
$link = mysql_connect('localhost', 'Login', 'Passwort') or die(mysql_error());
$suchwert=$_POST['textfeld'];
// Datenbank auswählen
mysql_select_db('mitarbeiter') or die(mysql_error());
// Datensatz auslesen:
$result = mysql_query("SELECT * FROM angestellte Where Nachname like '$suchwert%' OR Vorname like '$suchwert%'
") or die (mysql_error());
// Datensatz in array speichern:
echo '<table border="1">';
while ($row = mysql_fetch_assoc($result)) {
echo '<tr>';
echo '<td>', $row["ID"], '</td>';
echo '<td>', $row["Anrede"], '</td>';
echo '<td>', $row["Nachname"], '</td>';
echo '<td>', $row["Vorname"], '</td>';
echo '<td>', $row["Kürzel"], '</td>';
echo '<td>', $row["Durchwahl"], '</td>';
echo '<td>', $row["E-Mail"], '</td>';
echo '<td>', $row["Haus/Raum"], '</td>';
echo '</tr>';
}
echo '</table>';
echo "";
echo '<br><a href="suche-azubi.html">Zurück</a>';
// Verbindung schliessen:
mysql_close($link);
?>
Was muss ich ändern im HTML und im php Code das ich die Einzelnen Elemente Sortieren kann. Wenn ich Ausbilder Anklicke und männlich das er auch nur männliche Ausbilder anzeigt.
MFG
Dirk
Hi Dirk,
// Datensatz auslesen:
$result = mysql_query("SELECT * FROM angestellte Where Nachname like '$suchwert%' OR Vorname like '$suchwert%'
") or die (mysql_error());
Na, ich würde sagen, Du änderst einfach das SQL-Statement. Statt nach "Nachname" zu suchen, suchst Du einfach nach "Anrede = '$suchwert'" oder so. Je nachdem wie Deine Tabelle aussieht.
Gruß
Hans
hi,
Was muss ich ändern im HTML und im php Code das ich die Einzelnen Elemente Sortieren kann. Wenn ich Ausbilder Anklicke und männlich das er auch nur männliche Ausbilder anzeigt.
Du weisst, wie man Checkboxwerte in PHP verarbeitet? (http://php-faq.de/q/q-formular-checkbox.html)
Und du weisst, wofür man eine WHERE-Klausel im SELECT benutzt - also bastle dir eine zur Anforderung passende zusammen.
Und informiere dich noch über die Themen register_globals=off, sowie über SQL Injection.
gruß,
wahsaga