DatenbankAnbindung mit Checkbox und PHP

Hey Danke snuu!

Werde mich da mal einlesen...

Versuch jetzt noch ne Suchfunktion zu programmieren.. mal schau'n dürfte ja nicht so schwer sein (hoffe ich mal :)


[EDIT]

So hab wiedermal ne Frage....

dort stehen ja mysql Befehle... z.B. mysql> SELECT * FROM pet WHERE name = "Bowser";
Gibts ne Regel.. oder das gleiche mit den dazugehörigen PHP Befehlen?

und könnte ich ein Formular machen wo man z.B: name, vorname u.s.w eingeben kann, also nach allen Kriterien suchen kann und er dann dementsprechend auswählt.

also erst die Var z.B. $vorname per Textfeld eingeben.. dann:
(halt in PHP)

mysql> SELECT * FROM pet WHERE name = $vorname; //brauch da keine Anführungsstriche oder?
dann mit:
<? while ($daten = mysql_fetch_array($result)) { ?>
<tr>
<td><? echo $daten[vorname]; ?></td>

wieder ausgeben... hab jetzt leider keine Zeit mehr dass zu probieren.. wäre dies aber eine Möglichkeit, oder würde dass jemand ander bzw. leichter machen?

MfG,
BladeNeo
 
Zuletzt bearbeitet:
Code:
mysql> SELECT * FROM pet WHERE name = "Bowser";
Das Ganze ist angelehnt an die Standard-MySQL-Eingabeaufforderung sozusagen im DOS-Modus.

PHP führt diese Queries mit der Funktion [phpf]mysql_query[/phpf] aus. Für obiges Beispiel bedeutet das also:
PHP:
$sql = mysql_query("SELECT * FROM pet WHERE name = 'Bowser'");

und könnte ich ein Formular machen wo man z.B: name, vorname u.s.w eingeben kann, also nach allen Kriterien suchen kann und er dann dementsprechend auswählt.

also erst die Var z.B. $vorname per Textfeld eingeben.. dann:
(halt in PHP)

mysql> SELECT * FROM pet WHERE name = $vorname; //brauch da keine Anführungsstriche oder?
dann mit:
<? while ($daten = mysql_fetch_array($result)) { ?>
<tr>
<td><? echo $daten[vorname]; ?></td>

wieder ausgeben... hab jetzt leider keine Zeit mehr dass zu probieren.. wäre dies aber eine Möglichkeit, oder würde dass jemand ander bzw. leichter machen?
Das wäre durchaus eine Möglichkeit (nur, dass du das QUery nicht über mysql> ausführst, sondern mit der oben genannten Funktion.
$vorname muss sehr wohl in halbe Anführungszeichen, wenn es sich um einen String handelt.
 
Hi Ludz...

hab jetzt mal versucht ein Eingabe-Formular für die Suchkriterien zu erstellen und diese dann auszuwerten.. komme aber nicht auf die Lösung...

ich hab vor, dass man per Formular die Suchkriterie eingibt z.B. die des Vornamens.. diese wird dann in der var $vorname gespeichert.
Bsp:
<td>Vorname</td>
<td><input type="text" name="vorname" value="<? echo $vorname ?>" size="50"></td>
</tr>

Nun kommt der Teil an dem es nicht ganz so will:
PHP:
<?
if ($submit) {
$db = mysql_connect("localhost", "root");
mysql_select_db("db",$db);
$sql = mysql_query("SELECT * FROM kunden WHERE name = '$vorname'");
$result = mysql_query($sql,$db);
echo "$vorname<br>";
echo "Ihre Suchanfrage wurde bearbeitet<br><br>";
}

?>

Hier sucht er nun in kunden nach der Variable $vorname.. oder?.. wenn er diese hat kann ich diese dann ja nicht mehr mit $vorname auslesen.. da ich ja zuvor $vorname besetzt habe.. muss ich hier nun mit der get-Methode arbeiten?

Kennt jemand einen Vorschlag?

MfG,
BladeNeo
 
Probier das mal:
PHP:
<?php
if ($_POST['submit']) { 
    $db = mysql_connect("localhost", "root", ""); 
    mysql_select_db("db", $db); 
    $sql = mysql_query("SELECT * FROM kunden WHERE name LIKE '%".$_POST['vorname']."%'"); //Findet bei $vorname = peter sowohl Peter, als auch Hans-Peter oder Peter-Wilhelm.
    if (mysql_num_rows($sql) > 0) {
        echo 'Folgende Kunden wurden gefunden:<br />';
        while ($result = mysql_fetch_array($sql)) {
            echo $result['name'] . '<br />'; 
        }
    } else {
        echo 'Es wurden keine Datensätze gefunden!';
    }
} 

?>
 
Hi ludz,
danke für die Antwort.

Hab jetzt aber folgende Fehlermeldung gekriegt.

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Programme\xampp\htdocs\homepages\db\search.php on line 8
Code:
Line 8 =
if (mysql_num_rows($sql) > 0) {

Mein Formular ist folgendermaßen aufgebaut:
Code:
<form method="post" action="<? echo $PHP_SELF ?>">
<table border="0" align="center">
<tr>
<td>Anrede</td>
<td><select name="anr" size="1">
<option value="0">Herr
<option value="1">Frau
</select></td>
</tr><tr>
<td>Ansprechpartner</td>
<td><input type="text" name="vorname" value="" size="50"></td>
</tr><tr>


MfG,
BladeNeo
 
Der Fehler bezieht sich auf ein fehlerhaftes Query.
PHP:
"SELECT * FROM kunden WHERE name LIKE '%".$_POST['vorname']."%'"
Lass dir einfach mal durch mysql_error() eine aussagekräftige Fehlermeldung ausgeben.
 
Hi ludz,

hab jetzt mysql_error() .. eingegeben.. er zeigt mir aber immernoch den gleichen Fehler.

Muss ich da noch irgendwie was mit print? oder an ne bestimmte Stelle schreiben?

ich hab jetzt einfach gegen Ende .. <? mysql_error(); ?> eingegeben....

Sorry, dass ich noch nicht weiß wie man das mysql_error() richtig einsetzt, aber bis jetzt bin ich auch ohne es ausgekommen.

MfG,
BladeNeo
 
Zurück