In Datenbank was suchen

S

sunz

Hallo.

Ich habe eine datenbank mit paar einträgen name alter usw.
ich möchte jetzt über php so ne art suche machen. das alle einträge gezeigt werden die z.b. 17 jahre alt sind.

wie stelle ich mir das vor?

2 textboxen
einer für name einer für alter.
ein sende button

ich gebe die werte ein in den textboxen gehe auf senden und auf der nächsten seite werden alle einträge gezeigt die dazu gefunden wurden.

Wie geht das?

P.S.: Super wäre es wenn der komplete code gepostet wird schneide mir das dan selber zu recht
 
Nunja, du willst es so. lernen tust du aber nix dabei
Ich gebe dir den Rat, den Code gut anzuschauen und die einzelnen Befehle nachzulesen...

PHP:
<form method="post">
    <input name="name" type="text" value="<?php echo $_POST['name']; ?>" />
    <input name="alter" type="text" value="<?php echo $_POST['alter']; ?>" />
    <input name="submit" type="submit" title="ausführen" />
</form>
<?php

    if ($_POST['submit']){    
        $db = mysql_connect("localhost", "root" , "")
        or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
        
        mysql_select_db("test") or die ("Datenbank konnte nicht ausgewählt werden");
    
        $sql = "SELECT
                    *
                FROM
                    t_alter
                WHERE
                    name = '{$_POST['name']}'
                    AND geburtstag < DATE_ADD(CURDATE(), INTERVAL '-{$_POST['alter']}' YEAR);";
       
        $result = mysql_query($sql);
        
        echo "<table>";
        while ($row = mysql_fetch_object($result)){
            echo "<tr><td>{$row->name}</td><td>{$row->name}</td></td></tr>";
        }
        echo "</table>";
        mysql_free_result($result);
    }
?>

Nactrag:
Der Code ist getestet und funktioniert. Sollte er bei dir nicht gehen, musst du herausfinden welche Teile bei dir wohl anders sein könnten als bei mir.
 
Zuletzt bearbeitet:
Hallo.

Ich habe eine datenbank mit paar einträgen name alter usw.
ich möchte jetzt über php so ne art suche machen. das alle einträge gezeigt werden die z.b. 17 jahre alt sind.

wie stelle ich mir das vor?

2 textboxen
einer für name einer für alter.
ein sende button

ich gebe die werte ein in den textboxen gehe auf senden und auf der nächsten seite werden alle einträge gezeigt die dazu gefunden wurden.

Wie geht das?

Hallo sunz,
Klingt so, als wärest Du in SQL dingen noch nicht so fitt? Die PHP Seite kennst Du? Bei einem Alter täte ich PHP Seitig prüfen, ob in dem Eingabefeld auch wirklich eine Zahl ist. Ansonsten brauchst Du nur mit einem SQL Statement inkl. einem WHERE Spaltenname = Variable arbeiten.

So sieht es im groben aus. Versuche Dich einmal grundlegend daran und wenn Du scheiterst, dann poste mal Code und stelle konkrete Fragen.

P.S.: Super wäre es wenn der komplete code gepostet wird schneide mir das dan selber zu recht
Sorry, dann solltest Du eher im Jobforum posten, wenn Du alles nur vorgesetzt haben möchtest. Ansonsten: Selbst erarbeitete Antworten helfen nachhaltig ;)

Edit:
Ach yaslaw ;) Und da wollte ich ihm gerade mal auf die Sprünge helfen sich selbst etwas beizubringen *g*
 
Vielen dank

ich habe das mit dem fertigen code deswegen geschrieben weil sonst ratschläge kommen die mir dan noch weniger sagen. ja bin wie gesagt nicht so fit

jetzt kommen bei mir 2 fehler
auf zeile 25 und 29.

meine db heist lol und die tabelle users. das habe ich ja auch geändert. abre die felder in der tabelle heisten geb und name.

kann das sein das ich was falsch eingestellt habe?
 
hab es hinbekommen.

neues prob

ich muss die genauen daten eingeben wie z.b.
max
erst dan gibt er mit aus der db wirklich max an

er soll aber wenn ich nur ma eingebe alle anzeigen die ma beinhalten
 
entschuldigung aber mir hilft das nicht.

wie gesagt ich will nur wissen wie er auch nur zur hälfte geschriebene wörter sucht und ausgibt
 
Lesen mein Junge, lesen. Im Link stehts geschrieben.
Ein wenig Eigeninitiative kann nicht schaden oder?
 
Im Grunde wurde ja schon alles gesagt. Aber als Hilfe hier mal ein wenig SQL.

Code:
SELECT * FROM table WHERE spalte LIKE '%suchstring%'

lg Darian
 
Zurück