[Script] In Datenbank suchen und richtig ausgeben?

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

  • Zippo1979
    antwortet
    Ich habe die Board-Suche mal benutzt. Habe auch mehrere Beispiele gefunden, aber ich habe kein Plan, wie ich das in meinen Code einbinden soll.

    Einen Kommentar schreiben:


  • Wurzel
    antwortet
    bei der übergabe von "num" musst du mit if() einfach eine andere query ausführen ... sowas z.B. http://www.php-resource.de/forum/sho...ghlight=zahlen

    einfach mal die boardsuche benutzen

    Einen Kommentar schreiben:


  • Zippo1979
    antwortet
    @ Wurzel

    Dank dir für deine Antwort, sieht natürlich wirklich viel besser aus und funktioniert.

    Ein Problem hätte ich da aber trotzdem noch, da hatte ich aber vorher auch schon.

    Mit der Zeile hier sollen ja eigentlich alle Items angezeigt werden, die mit einer Zahl beginnen:
    PHP-Code:
    echo '<a href="?show=items&start=num">#</a>'
    Aber das tut es einfach nicht.

    Was ist daran denn noch falsch?

    Einen Kommentar schreiben:


  • Wurzel
    antwortet
    Original geschrieben von Zippo1979
    Würde mich jetzt mal interessieren?
    so zum bleistift:
    PHP-Code:
    $arr range('a''z');
    foreach(
    $arr as $v)
        echo 
    '<a href="?show=items&start='.$v.'">'.strtoupper($v).'</a> ';
    echo 
    '<a href="?show=items&start=num">#</a>'
    ausserdem wäre
    PHP-Code:
    '... WHERE LEFT(gesuchter_spaltenname, 1)="'.$gewählter_buchstabe.'" ...' 
    statt LIKE imho performanter

    Einen Kommentar schreiben:


  • goth
    antwortet
    Original geschrieben von Boron
    Ich sehe es so wie Zippo1979 - anstatt nur zu kritisieren, wäre ein freundlicher Hinweis, wie man es besser machen könnte, angebrachter.
    Sorry ... ich kritisiere nicht ... ich gönne mir einfach mal etwas Spass ... wie du das siehst ist mir eh wursch ... also lassen wir die Diskussion ...

    Einen Kommentar schreiben:


  • Zippo1979
    antwortet
    Hmm naja, ich benutze sehr oft die "copy and paste" Funktion und komme damit eigentlich recht gut klar.

    Mir ist auch bewußt, das man in php einiges anderes machen kann, wie in html. Ich habe es an der Stelle einfach so gemacht, weil ich es nun mal nicht anders kenne.

    Wie geht das denn mit dieser Schleife?

    Würde mich jetzt mal interessieren?

    Einen Kommentar schreiben:


  • Boron
    antwortet
    goth, du hast ihm aber immer noch nicht deinen Verbesserungsvorschlag genannt.

    Ich sehe es so wie Zippo1979 - anstatt nur zu kritisieren, wäre ein freundlicher Hinweis, wie man es besser machen könnte, angebrachter. Jeder hat mal klein angefangen. Als erfahrener Programmierer und Moderator sollte man doch in der Lage sein, so etwas zu realisieren und die nötige Courage besitzen.

    Wieso weist du nicht einfach daraufhin, dass eine Schleife, weniger Tipparbeit und mehr Übersicht bieten würde?

    Einen Kommentar schreiben:


  • goth
    antwortet
    Naja ... zumindest kennst Du "copy and paste" ... vielleicht hast Du's ja auch alles getippt ... dann solltest Du gleich das Bundesverdienstkreuz bekommen ... !

    Einen Kommentar schreiben:


  • Zippo1979
    antwortet
    Was gefällt dir daran denn?

    Ich denke mal, das deine Aussage ironisch gemeint ist. Also ist da irgendwas nicht so, wie es sein sollte.

    Wie wäre es mit einer Erklärung, was du anders gemacht hättest.

    Ich bin noch ein Neuling in der Materie und dieser Teil welcher dir besonders "gut" gefällt, funktioniert doch.

    Einen Kommentar schreiben:


  • goth
    antwortet
    Ist ja totschick dein Script ...

    ... dieser Teil gefällt mir besonders gut ... !
    Original geschrieben von Zippo1979
    PHP-Code:
    <a href="?show=items&amp;start=a">A</a> <a href="?show=items&amp;start=b">B</a>
    <
    a href="?show=items&amp;start=c">C</a> <a href="?show=items&amp;start=d">D</a>
    <
    a href="?show=items&amp;start=e">E</a> <a href="?show=items&amp;start=f">F</a>
    <
    a href="?show=items&amp;start=g">G</a> <a href="?show=items&amp;start=h">H</a>
    <
    a href="?show=items&amp;start=i">I</a> <a href="?show=items&amp;start=j">J</a>
    <
    a href="?show=items&amp;start=k">K</a> <a href="?show=items&amp;start=l">L</a>
    <
    a href="?show=items&amp;start=m">M</a> <a href="?show=items&amp;start=n">N</a>
    <
    a href="?show=items&amp;start=o">O</a> <a href="?show=items&amp;start=p">P</a>
    <
    a href="?show=items&amp;start=q">Q</a> <a href="?show=items&amp;start=r">R</a>
    <
    a href="?show=items&amp;start=s">S</a> <a href="?show=items&amp;start=t">T</a>
    <
    a href="?show=items&amp;start=u">U</a> <a href="?show=items&amp;start=v">V</a>
    <
    a href="?show=items&amp;start=w">W</a> <a href="?show=items&amp;start=x">X</a>
    <
    a href="?show=items&amp;start=y">Y</a> <a href="?show=items&amp;start=z">Z</a>
    <
    a href="?show=items&amp;start=num">#</a> 

    Einen Kommentar schreiben:


  • Zippo1979
    antwortet
    Dank dir, funktioniert wunderbar. Wenn du nicht wärst, wär ich schon am verzweifeln.

    Nochmals danke.

    Einen Kommentar schreiben:


  • Boron
    antwortet
    Du hast mich nicht verstanden.

    Der zu suchende Teil wird doch in das Inputfeld, das den Namen [FONT=courier new]search[/FONT] trägt, eingegeben.

    $sql = "SELECT * FROM ro_items WHERE item_name LIKE '".$_GET['start']."%'";
    Mach daraus folgendes:

    PHP-Code:
    if(isset($_GET['search']))
    {
      
    $sql "SELECT * FROM ro_items WHERE item_name LIKE '".mysql_escape_string($_GET['search'])."%'";
    }
    else
    {
      
    $sql "SELECT * FROM ro_items WHERE item_name LIKE '".$_GET['start']."%'";

    Einen Kommentar schreiben:


  • Zippo1979
    antwortet
    Das ist meine Alphabetische Sortierung.

    Ich habe unter dem Suchfeld eine Leiste mit allen Buchstaben und wenn man eben auf einen klickt, sollen alle Items mit dem Anfangsbuchstaben angezeigt werden.

    Eigentlich wollte ich ja meine Seite nicht wirklich Preis geben, aber zur besseren Übersicht werde ich das mal machen.

    Item-Datenbank

    Einen Kommentar schreiben:


  • Boron
    antwortet
    <form action="items.php" method="get">
    <input name="show" value="itemsearch" type="hidden">
    <input name="search" type="text">
    <input value="Suchen" type="submit">
    </form>

    ...

    $sql = "SELECT * FROM ro_items WHERE item_name LIKE '".$_GET['start']."%'";




    wieso $_GET['start'] wenn du $_GET['search'] übergibst!?

    Einen Kommentar schreiben:


  • Zippo1979
    antwortet
    Zu aller erst muß ich mich mal für die Mühe badanken die du dir hier machst.

    Naja, ich habs versucht einzubinden, aber das verweist dann auf meine Error Page.

    Zum besseren Durchblick packe ich mal meine items.php hier rein.

    PHP-Code:
    <?php
        
    // items.php
    ?>

    <div align="center"><? echo "<h1>Items</h1>\n"; ?></div>

    <div align="center">
    <form action="items.php" method="get">
    <input name="show" value="itemsearch" type="hidden">
    <input name="search" type="text">
    <input value="Suchen" type="submit">
    </form>
    </div>

    <table style="border-collapse: collapse;" align="center" border="1" bordercolor="#B8C0D4" width="450">
    <tbody><tr><td bgcolor="#1B233E"><p align="center">
    <a href="?show=items&amp;start=a">A</a> <a href="?show=items&amp;start=b">B</a>
    <a href="?show=items&amp;start=c">C</a> <a href="?show=items&amp;start=d">D</a>
    <a href="?show=items&amp;start=e">E</a> <a href="?show=items&amp;start=f">F</a>
    <a href="?show=items&amp;start=g">G</a> <a href="?show=items&amp;start=h">H</a>
    <a href="?show=items&amp;start=i">I</a> <a href="?show=items&amp;start=j">J</a>
    <a href="?show=items&amp;start=k">K</a> <a href="?show=items&amp;start=l">L</a>
    <a href="?show=items&amp;start=m">M</a> <a href="?show=items&amp;start=n">N</a>
    <a href="?show=items&amp;start=o">O</a> <a href="?show=items&amp;start=p">P</a>
    <a href="?show=items&amp;start=q">Q</a> <a href="?show=items&amp;start=r">R</a>
    <a href="?show=items&amp;start=s">S</a> <a href="?show=items&amp;start=t">T</a>
    <a href="?show=items&amp;start=u">U</a> <a href="?show=items&amp;start=v">V</a>
    <a href="?show=items&amp;start=w">W</a> <a href="?show=items&amp;start=x">X</a>
    <a href="?show=items&amp;start=y">Y</a> <a href="?show=items&amp;start=z">Z</a>
    <a href="?show=items&amp;start=num">#</a>
    </p></td></tr></tbody></table>
    <br>

    <?
        $sql = "SELECT * FROM ro_items WHERE item_name LIKE '".$_GET['start']."%'";
        $result = mysql_query($sql) OR die(mysql_error());
        if(mysql_num_rows($result)) {
            while($row = mysql_fetch_assoc($result)) {
    ?>

    <center>
    <table style="border-collapse: collapse;" bgcolor="#7e8a9e" border="1" bordercolor="#B8C0D4" width="90%"><tbody>

    <tr>
    <td colspan="2" align="center" bgcolor="#151D32" width="90%"><strong><? echo $row['item_name']; ?></strong></td>
    </tr>

    <tr>
    <td align="center" bgcolor="#1B233E" width="15%">
    <img src="images/items/<? echo substr($row['item_bild'],0,1); ?>/<? echo $row['item_bild']; ?>" border="0"></td>
    <td colspan="2" align="center" bgcolor="#1B233E" width="65%"><? echo $row['item_beschreibung']; ?></td>
    </tr>

    <tr>
    <td colspan="3" align="left" bgcolor="#1B233E" width="80%"><b>Dropped by: </b><? echo $row['item_dropped']; ?></td>
    </tr>

    <tr>
    <td align="left" bgcolor="#151D32" width="29%"><strong>Gewicht: </strong><? echo $row['item_gewicht']; ?></td>
    <td colspan="2" align="left" bgcolor="#151D32" width="51%"><strong>Wert: </strong><? echo $row['item_wert']; ?></td>
    </tr>

    </tbody></table><br>
    </center>

    <?
            }
        } else {
            ?><div align="center"><? echo"<p>Keine Items vorhanden</p>\n"; ?></div><?
        }

    ?>
    Ist vielleicht nen bissel Durcheinander der Aufbau, aber es funktioniert ja soweit alles bis eben die Suche.

    Die Ausgabe der Suche soll genauso angezeigt werden, wie die normale Ausgabe der items.php, also in dieser Tabellenform.
    Zuletzt geändert von Zippo1979; 28.02.2006, 01:04.

    Einen Kommentar schreiben:

Lädt...
X