Ankündigung

Einklappen
Keine Ankündigung bisher.

Datenbank Auslesen Problem.

Einklappen

Neue Werbung 2019

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

  • #31
    Zitat von uha Beitrag anzeigen
    Na, ob das die richtige Einstellung ist?

    Das geht aber nicht ohne ein wenig Fleiß und Grundlagen lernen.

    Das Auslesen hast du doch schon im ersten Versuch drin! Wo ist jetzt dein Problem? Du musst die Ausgabe ja nicht erst sammeln, sondern kannst die Daten direkt ausgeben. Einfach die Schleife an die Stelle plazieren, wo du "Hier soll das Ergebnis erscheinen." stehen hast.

    Ich Sitze an der Suche jetzt schon über 1 Woche...
    Ich hab schon die ganze Website mit register etc. geschrieben. Ich hänge nur noch an der Suche..

    Kannst du mir bitte genau sagen was ich bei "Hier soll das Ergebnis erscheinen." einfügen soll... Mein kopf platzt gleich...

    Kommentar


    • #32
      Ein Beispiel: http://www.peterkropff.de/site/php/m...den_result.htm

      LG
      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #33
        Zitat von fmm Beitrag anzeigen
        Ich Sitze an der Suche jetzt schon über 1 Woche...
        Das liegt an fehlendem Grundlagenwissen
        Zitat von fmm Beitrag anzeigen
        Kannst du mir bitte genau sagen was ich bei "Hier soll das Ergebnis erscheinen." einfügen soll...
        Könnte ich, ich könnte dir auch den kompletten Quellcode schreiben, aber ich denke, das Hauptproblem ist gelöst und die Schleife zum Auslesen der Daten hast du ja schon gehabt. Also nimm diese Schleife und hänge die Werte nicht in eine Variable, sondern gebe sie direkt per echo aus.
        Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

        Kommentar


        • #34
          Es sieht jetzt so aus. Stimmt das so oder hab ich was falsch gemacht?
          Bei der Ausgabe hab ich erstmal nur Firma angegeben um zu Testen ob es überhaupt funktiniert.


          PHP-Code:

          <?php 

          error_reporting
          (E_ALL E_STRICT);  
          ini_set("display_errors"1); 

          require_once(
          "models/config.php");
          if (!
          securePage($_SERVER['SCRIPT_NAME'])){die();}
          require_once(
          "models/header.php");

          if(!
          isUserLoggedIn()) { header("Location: login.php"); die(); }

          $connection mysqli_connect('xxx','xxx','xxx','xxx');

          if (isset(
          $_POST['vorname']))
             {
                
          $conditions = array();
                
                foreach (
          $_POST as $name => $value)
                {
                    
          // Submit-Button ausschließen
                    
          if ($name == "submit")
                      continue;
                      
                    if (! empty(
          $value))
                       
          $conditions[] = "`$name` like '%" mysqli_real_escape_string($connection$value) . "%'";
                }
                
                
          $query "Select 
                             `firma`, 
                             `vorname`, 
                             `nachname`, 
                             `homepage`, 
                             `telefonnummer`, 
                             `adresse`, 
                             `plz`, 
                             `wohnort`, 
                             `email` 
                           FROM
                             `uc_users`"
          ;
                             
               if (
          count($conditions))
                 
          $query .= " where " implode(" or "$conditions);
                 
               
          $result mysqli_query($connection$query)
                  or die (
          "MySQL-Fehler: " mysqli_error($connection));
             }

          ?>

          <html>
          <head>
          </head>

          <body>
          <div id='wrapper'>
              <div id='top'>
                  <div id='logo'>
                      <img src='models/site-templates/images/logo_new.png' alt='logo'/>
                  </div>
              </div>

              <div id='navi'>
                  <?php include("navi.php")?>
              </div>
          </div>

          <div id='content'>
              <div id='main'>
                  <h2>suche</h2>
                      <article>
                      Hier können sie Benutzer suchen.
                      </article> 
          <br />
          <br />

          <form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
            <label style="width:120px;">Firma:</label> 
            <input name="firma" type="text" size="20" maxlength="88"> <br /><br />
            <label style="width:120px;">Vorname:</label>
            <input name="vorname" type="text" size="20" maxlength="88"><br /><br />
            <label style="width:120px;">Nachname:</label>
            <input name="nachname" type="text" size="20" maxlength="88"><br /><br />
            <label style="width:120px;">Homepage:</label>
            <input name="homepage" type="text" size="20" maxlength="88"><br /><br />
            <label style="width:120px;">Telefonnummer:</label>
            <input name="telefonnummer" type="text" size="20" maxlength="88"><br /><br />
            <label style="width:120px;">Adresse:</label>
            <input name="adresse" type="text" size="20" maxlength="88"><br /><br />
            <label style="width:120px;">PLZ:</label>
            <input name="plz" type="text" size="20" maxlength="88"><br /><br />
            <label style="width:120px;">Wohnort:</label>
            <input name="wohnort" type="text" size="20" maxlength="88"><br /><br />
            <label style="width:120px;">Email:</label>
            <input name="email" type="text" size="20" maxlength="88"><br /><br />
            <input name="submit" type="submit" value="Suchen">
          <br /><br />
          </form>
              <div>
                  <?php    
                  $query 
          'SELECT bla FROM blubb';
          if (
          $result mysqli_query($connection$query)) 
          {
            while (
          $row mysqli_fetch_assoc($result)) 
            {
                          
          $firma $row["firma"];
                          
          $vorname $row["vorname"];
                          
          $nachname $row["nachname"];
                          
          $homepage $row["homepage"];
                          
          $telefonnummer $row["telefonnummer"];
                          
          $adresse $row["adresse"];
                          
          $plz $row["plz"];
                          
          $wohnort $row["wohnort"];
                          
          $email $row["email"];
                          
                          
          $result .= "Firma: $firma";
              }


          else {
                  
          $result "<p>0 Ergebnisse für Ihre Suchanfrage.</p><br />";
              }

              
          ?>
              </div>
          </div>
          </body>
          </html>

          Kommentar


          • #35
            Wieso baust du unten noch eine Abfrage, die hast du doch oben eh schon mit den Filterkritereien. Nutze doch $result von oben, und es nur mehr ausgeben (und keine neue Abfrage an die DB machen).

            Und ausgeben tut man übrigens mit echo
            The string "()()" is not palindrom but the String "())(" is.

            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
            PHP.de Wissenssammlung | Kein Support per PN

            Kommentar


            • #36
              EDIT: Ok aber wie -.-

              so?

              PHP-Code:
              <?php echo $result?>

              Kommentar


              • #37
                Wieso, $result ist doch den Resultset von oben?!

                PHP-Code:
                     $result mysqli_query($connection$query)
                        or die (
                "MySQL-Fehler: " mysqli_error($connection));
                   } 
                Versuch das mal, damit kannst ja weiter üben...

                PHP-Code:
                // das hier kannst du ganz oben in deinem Script direkt nach mysqli_query() machen 
                if (mysqli_num_rows($result) > 0) {

                    
                $sOutput "";
                    while (
                $row mysqli_fetch_assoc($result)) {
                        
                $sOutput .= $row["firma"]."<br>";
                    }

                } else {
                    
                $sOutput =  "<p>0 Ergebnisse für Ihre Suchanfrage.</p><br />";
                }

                // ....

                // und das dann am Ende, wo die Daten ins HTML ausgegeben werden sollen.
                echo $sOutput 
                Siehe EVA-Prinzip! http://php-de.github.io/jumpto/eva-prinzip/

                LG
                The string "()()" is not palindrom but the String "())(" is.

                Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                PHP.de Wissenssammlung | Kein Support per PN

                Kommentar


                • #38
                  Zitat von hausl Beitrag anzeigen
                  Wieso, $result ist doch den Resultset von oben?!



                  Versuch das mal, damit kannst ja weiter üben...

                  PHP-Code:
                  // das hier kannst du ganz oben in deinem Script direkt nach mysqli_query() machen 
                  if (mysqli_num_rows($result) > 0) {

                      
                  $sOutput "";
                      while (
                  $row mysqli_fetch_assoc($result)) {
                          
                  $sOutput .= $row["firma"]."<br>";
                      }

                  } else {
                      
                  $sOutput =  "<p>0 Ergebnisse für Ihre Suchanfrage.</p><br />";
                  }

                  // ....

                  // und das dann am Ende, wo die Daten ins HTML ausgegeben werden sollen.
                  echo $sOutput 
                  Und ich würde das gleich auch ganz oben machen (siehe EVA-Prinzip! http://php-de.github.io/jumpto/eva-prinzip/ ) und alles in eine Variable chachen und diese dann nur mehr unten ausgeben.
                  Ich habe es jetzt mit deinem Code gemacht, es funktioniert nur nicht ganz so wie ich es will...

                  Erster Fehler wenn ich die Suche Seite zum ersten mal auf mache steht ganz oben:

                  PHP-Code:
                  NoticeUndefined variableresult in .../suche.php on line 47

                  Warning
                  mysqli_num_rows() expects parameter 1 to be mysqli_resultnull given in .../suche.php on line 47 
                  Das ist diese Zeile
                  PHP-Code:
                   if (mysqli_num_rows($result) > 0) { 
                  Und Wenn ich jetzt in Vorname Mike und Firma testfirma eingebe.
                  Kommen alle Users wo entweder den Vornamen Mike oder Die Firma testfirma haben... Ich will aber das der User mit dem Namen Mike und der Firma testfirma erscheint.

                  Kommentar


                  • #39
                    Das sollte auch keine Fertiglösung sein...

                    PHP-Code:
                         $result mysqli_query($connection$query)
                            or die (
                    "MySQL-Fehler: " mysqli_error($connection));
                       } 
                    Notice: Undefined variable: result in .../suche.php on line 47
                    Das $result sollte eigentlich vorhanden sein, schau warum es laut der Fehlermeldung null ist.

                    Und dazu:

                    Ich will aber das der User mit dem Namen Mike und der Firma testfirma erscheint.
                    PHP-Code:
                     $query .= " where " implode(" or "$conditions); 
                    Nein willst du nicht -> or bedeutet oder dh du fragst alle vornamen die mike heißen oder alle firmen die testfirma heissen. Dann musst du deine query nachbessern.
                    The string "()()" is not palindrom but the String "())(" is.

                    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                    PHP.de Wissenssammlung | Kein Support per PN

                    Kommentar


                    • #40
                      Zitat von hausl Beitrag anzeigen
                      Das sollte auch keine Fertiglösung sein...





                      Das $result sollte eigentlich vorhanden sein, schau warum es laut der Fehlermeldung null ist.

                      Und dazu:





                      Nein willst du nicht -> or bedeutet oder dh du fragst alle die mike heißen oder alle firmen die testfirma heissen. Dann musst du deine query nachbessern.
                      das mit dem result versteh ich versteh ich nicht, keine ahnung was ich da noch ändern/hinzufügen muss...



                      Ah ok und was muss da nachbessern damit es so ist wie ich es will?

                      Kommentar


                      • #41
                        Zitat von fmm Beitrag anzeigen
                        IWenn ich jetzt in Vorname Mike und Firma testfirma eingebe.
                        Kommen alle Users wo entweder den Vornamen Mike oder Die Firma testfirma haben... Ich will aber das der User mit dem Namen Mike und der Firma testfirma erscheint.
                        Denkst du jetzt endlich mal mit!!!

                        $query .= " where " . implode(" or ", $conditions);
                        Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

                        Kommentar


                        • #42
                          Zitat von uha Beitrag anzeigen
                          Denkst du jetzt endlich mal mit!!!

                          $query .= " where " . implode(" or ", $conditions);
                          Sorry bin jetzt schon seit 24 Stunden am Stück mit der Website beschäftigt...
                          Habs jetzt einfach in and geändert, hätte ich vorher drauf kommen können haha...

                          das mit dem Fehler result Fehler hab ich immer noch nicht hin bekommen bzw. checke es nicht...

                          PHP-Code:
                          NoticeUndefined variableresult in .../suche.php on line 47 

                          Warning
                          mysqli_num_rows() expects parameter 1 to be mysqli_resultnull given in .../suche.php on line 47 

                          Kommentar


                          • #43
                            kopfschüttel
                            Überlege, was passiert, wenn du das Script das erste Mal aufrufst! Kommt das Script dann dazu, eine Datenbankabfrage zu machen? NEIN!!!

                            if (isset($result) && mysqli_num_rows($result) > 0)
                            Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

                            Kommentar


                            • #44
                              Zitat von uha Beitrag anzeigen
                              kopfschüttel
                              Überlege, was passiert, wenn du das Script das erste Mal aufrufst! Kommt das Script dann dazu, eine Datenbankabfrage zu machen? NEIN!!!

                              if (isset($result) && mysqli_num_rows($result) > 0)
                              Vielen Dank
                              Ich weiß ich war kein leichter Fall in der hinsicht ..
                              jetzt ist nur noch eins.

                              beim ersten besuch der Seite steht unten

                              PHP-Code:
                              0 Ergebnisse für Ihre Suchanfrage
                              Sobald das gelöst ist werde ich schlafen gehen

                              Kommentar


                              • #45
                                Zitat von fmm Beitrag anzeigen
                                Sobald das gelöst ist werde ich schlafen gehen
                                Dann geh' schlafen, denn das ist kein Programmierproblem, sondern das hat was mit logischem Denken zu tun. Da du anscheinend heute nicht mehr in der Lage dazu bist, vertage es auf morgen, dann findest du des Rätsels Lösung auch alleine.
                                Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

                                Kommentar

                                Lädt...
                                X