Deutschsprachiges NOF - Forum

Support und Tutorials rund um das Thema NetObjects Fusion

collapse

* Alles hat ein Ende...

Eine Weisheit der Dakota-Indianer sagt:
"Wenn Du entdeckst, dass Du ein totes Pferd reitest, steig ab!"

Vor fast fünf Jahren habe ich die NOF-Community gegründet und nachdem just zu diesem Zeitpunkt das „alte NOF-Forum“ quasi über Nacht vom Betreiber geschlossen wurde, war mein Forum für viele Nutzer von NetObjects Fusion eine willkommene Alternative.

Inzwischen sind weit über 5000 NetObjects-Nutzer in der NOF-Community registriert und täglich kommen weitere hinzu. An interessierten Mitgliedern fehlt es also nicht. Was aber fehlt, sind Mitglieder, die Lust haben, anderen Nutzern bei der Lösung ihrer vielfältigen Probleme in der Anwendung von NetObjects Fusion zu helfen. Vielleicht, weil viele von ihnen - ebenso wie ich - das Interesse an NOF verloren haben und zwischenzeitlich mit anderen Programmen arbeiten.

Aktuell ist es so, dass der Support wie die Kosten für den Betrieb der NOF-Community fast ausschließlich von mir übernommen werden. Dies, und die Tatsache, dass ich die Arbeit mit NetObjects Fusion nicht mehr für zeitgemäß halte, veranlasst mich, den aktiven Forenbetrieb zu beenden. Die Beiträge, Tipps und Anleitungen aus den letzten Jahren stehen ab heute nur noch als Nachschlagewerk zur Verfügung.

Ich bedanke mich an dieser Stelle ganz herzlich bei allen, die mich und die NOF-Community in den vergangenen Jahren unterstützt haben.

Beste Grüße nettesekel

Die letzten Beiträge

Autor Thema: PHP -> Suche einrichten (Suche in der MySQL Datenbank)  (Gelesen 1733 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Hans K.

  • Gast
PHP -> Suche einrichten (Suche in der MySQL Datenbank)
« am: 02. April 2013, 21:50:19 »
Wenn wir mit der PHP und MySQL -> Erstellung von dynamischen Seiten eine größere Datenbank aufgebaut haben, ist eine Suche hilfreich.

Seiten ohne eine Datenbank haben in aller Regel das Problem, dass eine seiteninterne Suche kaum zu realisieren ist. Als Lösung greift man auf Scripts wie planetSearch zu.

Bei einer MySQL Datenbank jedoch haben wir die Möglichkeit nach jedem Eintrag zu suchen und auszugeben. Wir können Bedingungen oder Einschränkungen verwenden, um die Suche so zu gestalten, wie wir die Ergebnisse erwarten.

Dabei ist die Realisierung mit wenigen Handgriffen durchführbar.

Hans K.

  • Gast
Re: PHP -> Suche einrichten (Suche in der MySQL Datenbank)
« Antwort #1 am: 02. April 2013, 21:55:52 »
Na der Stelle wo die Suche eingebaut werden sollen, erstellen wir ein Textfeld. In den Texteigenschaften den Button HTML betätigen (das Textfeld aufziehen, an anderer Stelle ins Layout klicken und dann das Textfeld anklicken -> dann ist das Eigenschaftsfenster zu sehen).

Vor dem Tag ist der Code einzugeben:

Code: PHP
  1. <script type="text/javascript">
  2. <!--
  3. function __fv5_Mopedsuche(form) {
  4.  var args = {
  5. "Mopedsuche":[["NOF_isLengthInRange", ['3', '50'], "Bitte geben Sie mehr als 2 Zeichen zur Suche ein.", "", ""], ["NOF_isRequired", [''], "Bitte geben Sie mehr als 2 Zeichen zur Suche ein.", "", ""], ["NOF_isLengthInRange", ['3', '50'], "Bitte geben Sie mehr als 2 Zeichen zur Suche ein.", "", ""], ["NOF_isRequired", [''], "Bitte geben Sie mehr als 2 Zeichen zur Suche ein.", "", ""]]
  6.  };
  7.  return NOF_validateForm(form, args, true, null,'Bitte korrigieren Sie die folgenden Fehler:');
  8. }
  9. //-->
  10. </script>
  11. <form name="Mopedsuche" action="./suche.php" style="display:inline;" method="GET" onSubmit="return __fv5_Mopedsuche(this)">
  12.  
  13. <input id="Eingabefeld1" type="text" name="Mopedsuche" style="background:none; border: 1px solid #ff0000" value="Hier das Motorrad eingeben" onfocus="this.value=''" size="20" maxlength="80">
  14.  
  15. <input type="submit" value="Suche starten" id="Schaltflaeche1" >
  16.  
  17.  </form>
  18. <!--

Im ersten Teil des Codes werden Plausibilitäten eingefügt, im zweiten Teil des Codes (nach dem //-->) wird das Such-Formular erstellt.

Nach dem Tag ist noch folgendes einzutragen:
Code: HTML5
  1. -->

Durch die Eingabe der Klammern wird ein Zeilenumbruch verhindert, der das Design stören würde.

Hans K.

  • Gast
Re: PHP -> Suche einrichten (Suche in der MySQL Datenbank)
« Antwort #2 am: 02. April 2013, 21:58:14 »
Nun ertsellen wir eine neue Seite, welche den Namen suche trägt.

Diese ist auf PHP umzustellen:
Umstellung der Seite auf PHP

Dann wird die Verbindung zu der MySQL Datenbank hergestellt.
Verbindung zur MySQL Datenbank herstellen

Hans K.

  • Gast
Re: PHP -> Suche einrichten (Suche in der MySQL Datenbank)
« Antwort #3 am: 02. April 2013, 22:06:50 »
Nun wird der Code in den Layout-Eigenschaften ergänzt:

Code: PHP
  1. <?php
  2. include("./html/datenbank.php");
  3.  
  4.  
  5. if (empty($_GET['Mopedsuche']) OR $_GET['Mopedsuche'] == " ") {
  6. } else {
  7. $Suche = $_GET['Mopedsuche'];
  8. }
  9.  
  10. $sql="SELECT ID, Modell FROM Moped WHERE Modell LIKE '%".$Suche."%' ORDER BY Modell ASC";
  11. $result = mysql_query($sql);
  12.  
  13. ?>

Mit dem GET (if (empty) prüfen wir zunächst, ob überhaupt eine Eingabe erfolgt ist. Sollte die Übermittlung aus der Suche erfolgt sein, übernehmen wir die Angabe in unsere Variable $Suche.
Dann erfolgt eine Abfrage in unserer Datenbank, wobei wir das Modell einschränken (nur nach dem suchen, was in der Variablen $suche enthalten ist).

Da wir nicht wissen, ob ein User mit der Herstellerbezeichnung beginnen würde, oder nur mit der Modellbezeichnung, arbeiten wir mit dem Zeichen %.

'%".$Suche."%' bedeutet, nach der Eingabe suchen, auch wenn etwas vor oder nach der Eingabe steht.

Hans K.

  • Gast
Re: PHP -> Suche einrichten (Suche in der MySQL Datenbank)
« Antwort #4 am: 02. April 2013, 22:12:30 »
Nun benötigen wir noch die Anzeige der Ergebnisse. Wir erstellen nun exakt den gleichen Code, wie wir ihn bereits in PHP und MySQL -> Erstellung einer automatisch generierten Linkliste eingesetzt haben (hier würde sich nun ein include anbieten ;) ).

Wir erstellen ein Textfeld und gehen in die Texteigenschaften. Den Button HTML anklicken und vor dem Tag den Code eingeben:
Code: HTML5
  1. <?php
  2.  
  3. while ($row = mysql_fetch_array($result)) {
  4. echo "<img src="./Mopedbilderklein/Bild".$row["ID"].".jpg""." ALT="". $row["Modell"]."" TITLE="". $row["Modell"]."">";
  5. echo "<a href="/Test/test.php?mopedid=". $row["ID"]. "">". $row["Modell"]. "</a><br>";
  6.  
  7. }
  8. ?>
  9.  
  10. <!--

Nach dem Tag wird noch das eingegeben:
Code: HTML5
  1. -->

Hans K.

  • Gast
Re: PHP -> Suche einrichten (Suche in der MySQL Datenbank)
« Antwort #5 am: 02. April 2013, 22:14:25 »
Hier ist noch mal der gleiche Code, nur etwas mit Tabellen zur Positionierung aufgehübscht (wie auch im anderen Thread):

Code: HTML5
  1. <?php
  2.  
  3. echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"300\">";
  4.  
  5. while ($row = mysql_fetch_array($result)) {
  6.  
  7. echo "<tr><td width="100">";
  8. echo "<img src="./Mopedbilderklein/Bild".$row["ID"].".jpg""." ALT="". $row["Modell"]."" TITLE="". $row["Modell"]."">";
  9. echo "</td><td width="200">";
  10. echo "<a href="/Test/test.php?mopedid=". $row["ID"]. "">". $row["Modell"]. "</a><br>";
  11. echo "</td></tr>";
  12. echo "<tr style="height:10px"><td></td></tr>";
  13. }
  14. echo "</table>";
  15. ?>
  16.  
  17. <!--


Hans K.

  • Gast
Re: PHP -> Suche einrichten (Suche in der MySQL Datenbank)
« Antwort #6 am: 02. April 2013, 22:17:38 »
Und so sollte das Ergebnis aussehen. Die publizierte Seite mit der Suchmaske:




Und das sollte als Ergebnis geliefert werden (ich habe nach BMW gesucht):



« Letzte Änderung: 02. April 2013, 22:21:40 von Hans K. »

Hans K.

  • Gast
Re: PHP -> Suche einrichten (Suche in der MySQL Datenbank)
« Antwort #7 am: 02. April 2013, 22:25:33 »
Das war schon der gesamte Einbau.

Falls noch Fragen oder Diskussionsbedarf besteht:
Diskussion zur PHP -> Suche einrichten (Suche in der MySQL Datenbank)

Deutschsprachiges NOF - Forum

Support und Tutorials rund um das Thema NetObjects Fusion

 


Wenn dir dieser Artikel gefallen hat, dann empfehle ihn doch weiter... ;)