Suchfunktion mit Mysql

dacult

Grünschnabel
Hi Leute. Ich hab wohl so ziemlich das einfachste Problem der SQL Welt, aber als Anfänger...

Nun denn : Ich habe eine Datenbank,mit den Feldern:
laufendeNummer
Bandname
Titelname
Bewertungstext
Veröffentlichungsmonat
Kontakt
Sterne

Habe etwa 70 Einträge in der Datenbank.
Wie ihr seht, will ich eine kleine Webseite aufbauen, in der Nachwuchsbands sich präsentieren können. Ich benötige ein Script, so dass ich auf meiner Homepage eine Art Formular habe.Der Besucher kann über eine Suchmaske gezielt suchen, zeige mir alle Künstler mit A, alle Titel mit B und so weiter.

Hat jemand eine Ahnung, wie ich das realisieren könnte ? Oder gibt s da ein angelehntes Script, von wo ich mir etwas abschauen könnte ? Wäre für jede Hilfe dankbar.
 
Habe hier ein ähnliches Problem gefunden. Jemand hat eine Bücherdatenbank.
Die SQL Befehle wie :

$sql = "SELECT * FROM bücherdatenbank WHERE autor='%$suchwort%'";

sindmir soweit klar.

Mir fehlt leider ein passendes Formular, wo ich ein Eingabefenster habe.Gehört diese Frage eher in den Bereich PHP ?

switch $submit
{
case autor:
$sql ....
break;
}

Sagt mir leider nicht allzuviel,aber egal....
 
Salut.

SQL, Skriptsprache und HTML werden Dir bei der Realisation tatkräftig zur Seite stehen :)
Zum Thema Scripts: z.B. http://www.sourceforge.net / http://www.freashmeat.net bieten viele Scripts, wohl aber keins speziell für Dein Problem (behaupte ich mal).

Fundierte Kenntnisse in oben genannten Punkten können nur von Nutzen sein!

Das Formular erstellst Du via HTML (http://selfhtml.teamone.de).
Die Formularelemente wählst Du aufgrund der Tabellenstruktur aus.
Daraus ergeben sich Werte die Du mit PHP weiterverarbeiten kannst.
Und mit PHP und den Benutzerangaben aus dem Formular baust Du das Datenbank - Query auf (SQL Anweisung)

Hoffe einen Denkanstoß gegeben zu haben.
 
Vielen Dank für die Antworten. Naja, der HTML Teil ist mir soweit klar.Mir ist nur nicht ganz logisch klar, wod ei Daten abgelegt werden, die im Formular eingegeben werden.Das Script vergleicht später nur die Eingaben aus dem Formular mit den Werten aus der Datenbank.

Mittlerweile hat sich meine Anforderung an die Suchfunktion auch leicht verändert.Wie ich aus nun realen Erfahrungen feststelle,suchen die Benutzer kaum nach einzelnen Elementen der Datenbank ( also speziell nach einem Titel, speziell nach Erscheinungsdatum ). Ich hab ein Webradio, und die Titel sind dort durchnummeriert.Ich bastel an einer Suchfunktion, wo man einfach nur die Zahl des Songs eingibt, in ein Formular, und es wird dann der entsprechende Datensatz zu der Songnummer ausgegeben. Krieg ich schon hin...

Also bitte keine weiteren speziellen Tipps, meine obige Anfrage ist nicht mehr ganz aktuell.

Egal, ich kriege das schon hin.Ich schau mal weiter in den Quelltexten und Scripts dieser Welt umher...
 
naj wenn Du ein webradio hast, könntest Du doch auch eine extra tabelle machen wo Du die uhrzeit und den song einträgst wann der gespielt wird!
und der user sucht dann einen song der zwischen 1500 und 1520 uhr kam!
Sowas wäre doch toll

Wie schon erwähnt, solltest Du Dir entweder einen Partner suchen der php kann, jemanden geld bezahlen das er Dir die php sachen macht oder php lernen. aber ich glaube die meisten haben etwas dagegen wenn man nach fertigen php skripten fragt ohne auch nur eine einfache switch anweisung zu verstehen!
 
Jo. Ich bin gerade dabei, diese Sachen zu Lernen.Mach ne Umschulung in dieser Richtung.Aber naja, eigenes Wissen und Wünsche gehen nicht immer zeitlich Hand in Hand...
 
naja dann fange doch einfach an!
warum müssen (gerade) Anfänger immer mit riesigen Projekten anfangen!

Erstelle die DB (gut durchdacht ) und dann mache eine webseite wo die datenbank angezeigt wird.
nach und nach erweiterst Du das dann.
zuerst anzeigen nach Buchstaben,
dann einzelne buchstaben
dann einfache suchfkt
dann schwierige
und dann mit dem suchen nach Uhrzeit!

Immer klein anfangen und dann expandieren und nicht gleich so gross, nach dem motto:
ich bin anfänger helft mir eine riesige seit/projekt zu machen!

Es wird Dir bestimmt jemand bei diesem Problem helfen, nur 2 tage später kommt das nächste kleinere/größere Problem an dem Du hängen bleibst!
 
Ich habe eine extrem gut durchdachte Datenbank aufgebaut, auch nur mit einer einzigen Tabelle *g*. Ich kriege es hin, mir alle Daten oder auch nur einzelne Spalten und so weiter anzeigen zu lassen auf einer HTML Seite. Gut, wa *gg* ?

Mir fehlt nur, ehrlich gesagt, die Logik, wie man die Daten der Eingabe mit den Daten der Datenbank vergleicht.Keine Panik, werd ich demnächst im Unterricht haben....aber wer schielt nicht gern über den Tellerrand hinaus... Meine momentane Anfängerlogik sieht so aus ( nicht lachen ), man gibt die Daten in ein Eingabefeld ein, diese Datei ( der Wert ) wird ebenfalls in ein Feld einer Datenbank abgespeichert.Und dann wird diese Datei verglichen mit den anderen Werten in der DB. Kein Mensch macht das so umständlich, oder ? Egal...

Die eigentliche Synthax ist dann das kleinere Problem.Naja, nächste Woche kann ich sicher schon Vollzug melden.Weitere Hilfe ist von euch erstmal nicht nötig, aber vielen Dank nochmal für die Antworten. Wenn ich das hingekriegt habe, könnt ihr es euch anschauen und dranrummäkeln :- )
 
kurze gegenfrage:

Glaubst Du es ist IMMER das ziel die daten in NUR eine datenbank tabelle zu schreiben Das ist eigentlich nicht viel durchdacht! Nennt sich Normalisieren!

Wie willst Du es sonst machen mit den daten?
Der user gibt die daten ein, diese werden dann überprüft(z.B. ob datum wirklich ein datum ist ) und danach in db geschrieben. vorrausgesetzt der user darf/hat die rechte in die DB zu schreiben.

Poste doch mal deinen aufbau der db, also namen und art, vielleicht können wir Dir helfen.
 
Natürlich ist es nicht das Ziel, eine Datenbank aus nur einer einzigen Tabelle bestehen zu lassen.Gerade die Querverbindungen und Verknüpfungen sind ja Sinn der Datenbank.Aber für den Anfang genügt mir eine Tabelle. Ich hab die Abfrage übrigens hinbekommen.Mir ist dabei sogar völlig gleichgültig, ob das gut, schlecht, umständlich oder genial geworden ist.Es funktioniert :- ). Ich hab mich da mal was abgeschaut auf einer ähnlichen Webseite...

Meine Tabelle hat die Felder
Nummer,
Bandname,
Songname,
Bewertungstext,
Veröffentlichungsmonat,
Kontakt,
sowie noch einige unbenutzte Felder wie
Bewertungstext 2
und Sterne.
Ich "plane" irgendwann mal eine Votingmöglichkeit einzubauen, sodaß jedem Song eine Anzahl "Sterne" zugewiesen werden, von 1 Stern bis 5 Sterne oder so.

So, hier nun ein Auszug meines Quelltextes :

<?php
/*Zugangsdaten zum Verbinden mit dem MySQL-Server*/
mysql_connect("localhost","","");

/*Auswahl der Datenbank auf dem Server*/
mysql_select_db("");

/*Pruefen welche Variable einen Wert hat,jaja...später*/
if (empty($titelnummer)) {$titelnummer='';}


if($titelnummer !='')
{
$musiktitel = mysql_query ("SELECT * FROM radio WHERE nummer='$titelnummer'");

$einzeldatensatz = mysql_fetch_array($musiktitel);

$ausgabe = "<li><b>Songnummer : </b> $einzeldatensatz[0]</li>
<li><b>Bandname : </b> $einzeldatensatz[1] </li>
<li><b>Songname : </b> $einzeldatensatz[2]</li>
<li><b>Bewertung von DJ Charly : </b> $einzeldatensatz[3]</li>
<li><b>In Der Playliste seit : </b> $einzeldatensatz[5]</li>
<li><b>Kontakt : </b> $einzeldatensatz[6]</li>
"


;
}
?>
<center>
<form action="<?php echo $PHP_SELF ?>" method="post">
<table bgcolor=#000000 >
<th colspan=4 align=middle><b><font color=#FAC714 size=4>Titelsuche</font></b></th>
<tr>
<td align="middle"><font size="4">Songnummer:</font></td> <td><input type="text" name="titelnummer"></td>
</tr>
<th colspan=4 align=middle><input type=submit value="Suchen"></th>
</table>
</form>
<?php echo $ausgabe ?>

Nun ist es ein leichtes, eine ähnliche Abfrage nach dem Bandnamen zu machen..oder zu dem Songnamen.

Eine Vollsuche klappt so noch nicht, aber da taste ich mich vielleicht später mal ran.Also wer "dance" eingibt, bekommt dann später alle Bands und Songs angezeigt, in denen der Begriff "dance" vorkommt oder so. Ich danke euch für die Hilfen.Geht nicht so hart mit Anfängern wie mir um... :- )

*grübel* hab in meinem Tabellenfeld "Kontakt" ja Homepageadressen drin stehen.Hmmm, die müßte man irgendwie anklicken können, da muß ich mich mal belesen, wie man die Links anklickbar kriegt...
*schnüffel schnüffel in den Foren*
 

Neue Beiträge

Zurück