kostenloser Webspace werbefrei: lima-city


Suche Hilfe für Suchskript programmierung

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    djschorsch

    Kostenloser Webspace von djschorsch, auf Homepage erstellen warten

    djschorsch hat kostenlosen Webspace.

    Servus,

    ich versuch seit einiger Zeit ein Online Suchskript in php für eine MySql Datenbank zu schreiben, stoss dabei aber immer wieder an meine Grenzen was php angeht.
    Es geht um eine Pflanzendatenbank die in Access an der Uni erstellt wurde und nun online zugänglich gemacht werden soll.

    Wenn jemand interesse hat mir bei dem Skript unter die Arme zu greifen wäre das super.

    Es handelt sich um eine Stichwortsuche sowie eine erweiterte Suche mit einigen Suchfunktionen. Auch bei der Darstellung wäre ich für Unterstützung dankbar.

    Danke für einen geübten Programmiere ist die Sache zeitlich kein großer Aufwand, für mich aber auch mit Forenhilfe nur schwer zu lösen, da ich mich von einem Problem zum nächsten hangle ohne wirklich weiterzukommen.


    Hoffe es kann mir jemand weiterhelfen.

    Mfg djschorsch

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. f**o

    zum Beispiel mit LIKE


    SELECT * FROM tier WHERE name LIKE "%$suchstring%" ....

    Worte, in denen $suchstring am Anfang steht: LIKE $suchstring%
    Worte, in denen $suchstring am Endesteht: LIKE %$suchstring
    Worte, in denen $suchstring in der Mitte steht: LIKE %$suchstring%

    :)
  4. Autor dieses Themas

    djschorsch

    Kostenloser Webspace von djschorsch, auf Homepage erstellen warten

    djschorsch hat kostenlosen Webspace.

    Naja, Grundlagen kann ich auch, is schon deutlich komplizierter.
    Das jetzt 10 Leuten zu erklären is halt bissle Aufwendig, von daher hoffe ich das sich jemand einem armen studenten unter die Arme greifen kann :P.
  5. djschorsch schrieb:
    Naja, Grundlagen kann ich auch, is schon deutlich komplizierter.
    Das jetzt 10 Leuten zu erklären is halt bissle Aufwendig, von daher hoffe ich das sich jemand einem armen studenten unter die Arme greifen kann :P.


    Hi, versuch doch einfach mal, sauber zu formulieren, was Du eigentlich willst. Das ist die Grundlage dafür, dass überhaupt einer versteht, was Du willst. Wenn Du das kannst, dann poste es hier. Vermutlich ist Dein Problem gar nicht so groß, wie Du es Dir vorstellst.

    LG

    BigBaer
  6. Autor dieses Themas

    djschorsch

    Kostenloser Webspace von djschorsch, auf Homepage erstellen warten

    djschorsch hat kostenlosen Webspace.

    Ich habe das Problem das ich die Suche mit meinem wissen nicht so umsetzten kann wie es es erforderlich ist.
    Heisst ich brauche jemand der mir hilft meine Vorgabe umzusetzten, und zwar so das es mir weiterhilft :P.
    Dazu sollte man sich mal die Datenbank anschauen und ich würde meine Kriterien erklären. Dies hier zu tun dürfte schwer werden.
    Es geht um eine Umfangreiche Suchfunktion für die Pflanzendatenbank mit Kriterien wie max. und min. Niederschlag, Wachstumsform, Zonen, zu gewinnnende Rohstoffe, etc.

    So in etwa ( das Suchskript fehlt noch):

    <?php
    
    function mysql_ergebnis_pruefen($ergebnis, $kommando) 
      { 
       if($ergebnis == NULL) 
        { 
         printf("%s: %s",$kommando,mysql_error()); 
         exit(); 
        } 
      } 
     
    include("webnutzer_connect.inc");  
     
    $kommando = "use nawaro1"; 
    $ergebnis = mysql_query($kommando); 
    mysql_ergebnis_pruefen($ergebnis, $kommando); 
    
    
    // Stichwortsuche
       printf("<form action=\"2.php\" method=\"post\">"); 
       printf("<input type=\"text\" name=\"suche1\"> Stichwortsuche <br>"); 
       printf("<input type=\"submit\" value=\"Suchen\">"); 
       printf("</form>"); 
       
    // erweiterte Suche
       printf("<form action=\"3.php\" method=\"post\">");
       printf("Taxonomie <input type=\"text\" name=\"suche2\">  <br>"); 
       
       printf("Ertrag von <input type=\"text\" name=\"suche3\">  "); 
       printf(" bis <input type=\"text\" name=\"suche4\">  <br>"); 
       
       printf("GAEZ <input type=\"text\" name=\"suche5\">  <br>");
       
       printf("Niederschlag von <input type=\"text\" name=\"suche6\">  "); 
       printf(" bis <input type=\"text\" name=\"suche7\"> <br>");  
       
       printf("Temperatur Min von <input type=\"text\" name=\"suche8\">  "); 
       printf(" bis <input type=\"text\" name=\"suche9\"><br>"); 
       
       printf("Temperatur Max von <input type=\"text\" name=\"suche10\">  "); 
       printf(" bis <input type=\"text\" name=\"suche11\"> <br>");
       
       printf("Vegetationsperiode von <input type=\"text\" name=\"suche12\">  "); 
       printf(" bis <input type=\"text\" name=\"suche13\"><br>"); 
       
       
       
       
    echo ("<select name=\"suche14\" size=\"1\">"); 
      $select = mysql_query("select lebenref_leben from biologie_lebensform_lebenref where lebenref_leben like \"%$suche1%\" ");
            while($row = mysql_fetch_object($select))
            {
              echo "<option selected value=\"1\">$row->lebenref_leben</option>" ; 
            }
    echo ("</select> Lebensform <br>");
    
    echo ("<select name=\"suche15\" size=\"1\">"); 
      $select = mysql_query("select wuchsref_wuchs from biologie_wuchsform_wuchsref where wuchsref_wuchs like \"%$suche1%\" ");
            while($row = mysql_fetch_object($select))
            {
              echo "<option selected value=\"1\">$row->wuchsref_wuchs</option>" ; 
            }
    echo ("</select> Wuchsform <br>");
    
    echo ("<select name=\"suche16\" size=\"1\">"); 
      $select = mysql_query("select photo_photo from biologie_photosynthesetyp where photo_photo like \"%$suche1%\" ");
            while($row = mysql_fetch_object($select))
            {
              echo "<option selected value=\"1\">$row->photo_photo</option>" ; 
            }
    echo ("</select> Photoshynthese <br>");
    
    echo ("<select name=\"suche17\" size=\"1\">"); 
      $select = mysql_query("select organref_organ from verwertung_nutz_organref where organref_organ like \"%$suche1%\" ");
            while($row = mysql_fetch_object($select))
            {
              echo "<option selected value=\"1\">$row->organref_organ</option>" ; 
            }
    echo ("</select> Organ <br>");
    
    echo ("<select name=\"suche18\" size=\"1\">"); 
      $select = mysql_query("select nutzref_nutz from verwertung_nutz_nutzref where nutzref_nutz like \"%$suche1%\" ");
            while($row = mysql_fetch_object($select))
            {
              echo "<option selected value=\"1\">$row->nutzref_nutz</option>" ; 
            }
    echo ("</select> Nutzung <br>");
    
    echo ("<select name=\"suche19\" size=\"1\">"); 
      $select = mysql_query("select rohref_roh from verwertung_nutz_rohref where rohref_roh like \"%$suche1%\" ");
            while($row = mysql_fetch_object($select))
            {
              echo "<option selected value=\"1\">$row->rohref_roh</option>" ; 
            }
    echo ("</select> Rohstoff <br>");
       
    
       
       
       
       
       printf("<input type=\"submit\" value=\"Suchen\">");
       printf("</form>"); 
       
       
       
    ?>


    Beitrag zuletzt geändert: 22.10.2010 16:08:59 von djschorsch
  7. Lieber Mitstudent.
    Du bist an einer Uni, bietet deine Uni Informatik an? Wenn ja, lauf mal in die Fachschaft und Frage nach, ob dir jemand für ne Kiste Bier hilft.
    Ooooder schreibe konkret auf, was du für Fragen hast.
    Alternativ kannst du dir natürlich auch jemanden suchen, der dir unter die Arme greift, aber dann solltest du wenigstens etwas anbieten, was du ihm als Gegenleistung gibst.
    Außerdem für wen solltest du die Suchfunktion erstellen? Wohl kaum als Hausarbeit o.ä.?
  8. also erstens mal würde ich ein bisschen ordnung in deinen code bringen ;D

    den teil oben mit stichwortsuche und erweiterte suche (der mit den geschätzen 100 printf befehlen) könntest du einfach außerhalb vom php reinschreiben, sieht besser aus ;)

    also einfach ?> [Suchformulare] <?php und weiter mit dem script.

    als zweites würd ich dir statt LIKE %string% zu MATCH AGAINST raten -> http://dev.mysql.com/doc/refman/5.1/de/fulltext-search.html


    außerdem noch, wenn du per printf html-tags ausgeben willst, die ein " enthalten, setz doch den ganzen string unter einfache anführungszeichen ( ' ) dann musst du nicht jedes anführungszeichen escapen ;)
    erspart einiges an arbeit und du hast eine potentielle fehlerquelle weniger ;)


    zu deinem suchskript selbst, was genau brauchst du denn an hilfe?
    es wird dir hier zwar wsl niemand dein suchskript für dich schreiben, aber wir (=> ich bin mal so dreist und schließ die ganze lima-community mit ein ;D ) werden zumindest versuchen dir so weit es geht zu helfen ;)
  9. Autor dieses Themas

    djschorsch

    Kostenloser Webspace von djschorsch, auf Homepage erstellen warten

    djschorsch hat kostenlosen Webspace.

    Ich habe mal versucht deine Tips umzusetzten, leider wird dann der php teil ab Zeile 51 nicht mehr korrekt ausgegeben.
    <?php
    
    function mysql_ergebnis_pruefen($ergebnis, $kommando) 
      { 
       if($ergebnis == NULL) 
        { 
         printf("%s: %s",$kommando,mysql_error()); 
         exit(); 
        } 
      } 
     
    include("webnutzer_connect.inc");  
     
    $kommando = "use nawaro1"; 
    $ergebnis = mysql_query($kommando); 
    mysql_ergebnis_pruefen($ergebnis, $kommando); 
    
    //Stcihwortsuche
    ?> 
    <form action=2.php method=post>
      <input type=text name=suche1> Stichwortsuche<br>
      <input type=submit value=suchen>
    </form>
    <?
    
    //erweiterete Suche
    ?>
    
    <form action=3.php method=post>
      Taxonomie <input type=text name=suche2 >
      <br>
      Ertrag von <input type=text name=suche3 >
      bis <input type=text name=suche4> 
      <br>
      GAEZ <input type=text name=suche5> 
      <br>
      Niederschlag von <input type=text name=suche6>
      bis <input type=text name=suche7> 
      <br>
      Temperatur Min von <input type=text name=suche8>  
      bis <input typetext name=suche9 />
      <br>
      Temperatur Max von <input type=text name=suche10> 
      bis <input type=text name=suche11> 
      <br>
      Vegetationsperiode von <input type=text name=suche12>  
      bis <input type=text name=suche13>
      <br>
    <?
    
    echo ("<select name=\"suche14\" size=\"1\">"); 
      $select = mysql_query("select lebenref_leben from biologie_lebensform_lebenref where lebenref_leben like (\"%$suche1%\") ");
            while($row = mysql_fetch_object($select))
            {
              echo "<option selected value=\"1\">$row->lebenref_leben</option>" ; 
            }
    echo ("</select> Lebensform <br>");
    
      ?>
    <input type=submit value=Suchen>
    </form>


    MATCH AGAINST brauch ich ja erst im Suchskript, das like hier sorgt nur dafür das man Auswahloptionen aus einer TAbelle hat.

    Hier ist auch ein weiteres Problem, zur Zeit muss man eine der Optionen die aus der Datenbank ausgelesen werden wählen. Wie kann ich eine leerstelle einfügen, also das ich die Option beider Suche nicht berücksichtige.
    ZB. Lebensform: Baum, Strauch... Man will aber nichts angeben, zur Zeit geht das nicht.
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!