[Funktion] Suche

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    1. Code formatieren!
    2. Fehler-/Problembeschreibung?
    Zuletzt geändert von TobiaZ; 26.01.2006, 10:19.

    Kommentar


    • #17
      Bist auch neu in HTML, ne?

      suchergebnisse.php wird nie erfahren, welchen Suchbegriff du eingegeben hast ...
      Mach dich schlau, wie ein Formular gesendet wird!

      Kommentar


      • #18
        Ja ich bin hauch neu in html!
        aber warum soll denn suchergebniss.php nie erfahren was in dem Feld eingetragen wurde??

        und wo kann ich mich denn darüber informien hast du ein paar nützliche links??

        Kommentar


        • #19
          Original geschrieben von foerschter86
          Ja ich bin hauch neu in html!
          Dann lerne bitte, mit diesem halbwegs sicher umzugehen - bevor du mit PHP anfängst!
          aber warum soll denn suchergebniss.php nie erfahren was in dem Feld eingetragen wurde??
          Weil du dein Formular nicht abschickst, sondern stattdessen einen Link aufrufst.
          und wo kann ich mich denn darüber informien hast du ein paar nützliche links??
          http://de.selfhtml.org/
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #20
            Ich würd selfhtml nur zum Nachschlagen benutzen und mir ein Einsteigerbuch besorgen oder Tutorials durchgehn.

            Kommentar


            • #21
              So jetzt hab ich meinen Fehler mit der übergabe behoben. Soch möchte jetzt gerne Das ich mit meiner Eingabe nach Vor und Nachnamen gleichermaßen suchen können ohne für die 150 namen if bedingungen schreiben zu müssen. kann mir da jemand weiterhelfen
              wäre nett Danke

              html:
              <form action="suchergebnisse.php" method="post">
              Geben Sie hier den Namen bzw. den Nachnamen ein </br>
              <input name="Suche" size="60" maxlength="60"><br>
              <input type="submit" value="Suchen"></a></br></br>
              <a href="Startseite.html" target="mitte"> Home </a>
              </form>


              php:

              $db = mysql_connect("xxx", "xxx", "xxx")
              or die("Keine Verbindung möglich: " . mysql_error());
              echo "<br> Verbindung zum Datenbankserver erfolgreich <br>";
              if ($_POST['Suche'] == 'Anne')
              { $res = mysql_db_query("handydb",
              "SELECT * FROM Name where Vorname LIKE '1'");
              $num = mysql_num_rows($res);
              for ($i=0; $i<$num; $i++)
              {
              $Nachname = mysql_result($res, $i, "Nachname");

              echo '<a href="e.php?id='.$Nachname.'">'.$Nachname.'<br></a>';
              }

              Kommentar


              • #22
                Und du hast über das problem wirklich nachgedacht?

                select * form tabelle where vorname = $suche

                fertig.

                Kommentar


                • #23
                  ja hatte ich danke so wie du es mir jetzt geschrieben habe bekomme ich aber nur den Vornamen herraus, aber ich wollte ja auch wenn ich den Nachnamen eingebe das ein ergebniss kommt und das bekomme ich nicht mit deiner select anfrage

                  hast du auch einen Vorschlag dafür??

                  Kommentar


                  • #24


                    Du hast wahrscheinlich erst letzte Woche das Tag "<?php" kennengelernt oder? Kauf dir ein Buch über PHP und SQL ... schon nach dem zweiten Kapitel stellst du solche Fragen nicht mehr.

                    Kommentar


                    • #25
                      @topicstarter
                      Wie wäre es mit zwei Feldern in deinem Form ? Eines Vorname und eines Nachname
                      PHP-Code:
                      $db mysql_connect("xxx""xxx""xxx")
                      or die(
                      "Keine Verbindung möglich: " mysql_error());
                      echo 
                      "<br> Verbindung zum Datenbankserver erfolgreich <br>";
                      if (isset(
                      $_POST['Vorname']) &&  !empty($_POST['Vorname'])){
                          
                      $res mysql_db_query("handydb","SELECT * FROM Name where Vorname LIKE '$_POST[Vorname]'");
                          while(
                      $num mysql_fetch_array($res)){
                              echo 
                      'Dein Vorname ist '.$num['Vorname'];
                          }
                      }elseif(isset(
                      $_POST['Nachname'] && !empty($_POST['Nachname'])){
                          
                      $res mysql_db_query("handydb","SELECT * FROM Name where Nachname LIKE '$_POST[Nachname]'");
                          while(
                      $num mysql_fetch_array($res)){
                              echo 
                      'Dein Nachname ist '.$num['Nachname'];
                          }
                      }elseif(isset(
                      $_POST['Vorname']) && isset($_POST['Nachname']) && !empty($_POST['Vorname']) && !empty($_POST['Nachname'])){
                          
                      $res mysql_db_query("handydb","SELECT * FROM Name where 
                      Vorname LIKE '
                      $_POST[Vorname]' AND Nachname LIKE '$_POST[Nachname]'");
                          while(
                      $num mysql_fetch_array($res)){
                              echo 
                      'Dein Name ist '.$num['Vorname'].' '.$POST['Nachname'];  
                          }

                      Natürlich solltest du höllisch aufpassen, dass du die Post Werte gut prüfst, bevor du sie in eine Query einbaust. Stichwort SQL-Injection !!!
                      Der Code ist nicht getestet, aber ich denke in diese Richtung müsste es funzen.

                      Gruss

                      tobi
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #26
                        Erst einmal Datnke für die Antwort auf meine Frage.

                        ich habe das mal bei mir eingebaut und es kommt auch kein Fehler,
                        aber ich bekomme auch keine Ausgabe obwohl wenn ich mir POST
                        ausgeben lasse da mein Namen den ich gesucht habe steht. Woran
                        kann das denn jetzt noch liegen denn durch das echo müsste ja das ausgegeben weden??


                        wäre nett wenn mir darauf jemand ne antwort geben könnte.

                        Danke schon mal im vorraus

                        Kommentar


                        • #27
                          Wenn du mal var_dump($num) statt dem echo machst ? Kommt das was bei raus ? Wenn nein, dann stimmt wohl deine Abfrage nicht.

                          Gruss

                          tobi
                          Kannst bei den Abfragen auch noch das probieren
                          PHP-Code:
                          mysql_db_query("handydb","SELECT * FROM Name where Vorname LIKE '$_POST[Vorname]'") OR die(mysql_error()); 
                          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                          Kommentar


                          • #28
                            Danke habe deinen Vorschlag mal eingearbeitet jetz bekomme ich diesen Fehler ausgegeben:
                            Parse error: parse error, unexpected '}', expecting ',' or ';' in C:\Programme\Apache Group\Apache2...suchergebnisse.php on line 15

                            in der 15 Zeile steht aber nur eine } und nichts weiter kapier ich nicht was ist denn da falsch??

                            Gruß Gerd

                            Kommentar


                            • #29
                              in der 15 Zeile steht aber nur eine } und nichts weiter
                              Und genau das bemängelt die Meldung ja: Dass diese } dort unerwartet auftaucht.

                              Und sie sagt dir sogar auch noch, was sie vorher vermisst hat.


                              *seufz*
                              Bitte eigne dir wenigstens so weit Grundkenntnisse an, dass du die Ursachen von simplen Parser-Fehler selbst zu finden in der Lage bist - sowas immer wieder hier im Forum erklären zu müssen, nervt.
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar


                              • #30
                                Kann es sein, dass vor dem } eine Anweisung nicht mit einem ; abgeschlossen wurde ?

                                Gruss

                                tobi
                                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                                Kommentar

                                Lädt...
                                X