Suchmaske

  • Thread starter Thread starter dereine
  • Start date Start date
D

dereine

Guest
Tachen.

ich PRogrammierer zurzeit eine Datenbank für Abkürzungen, wie man Daten aus der MySql holt ändert und hinzufügt weiß ich.

Also ich gebe ein Suchbegriff ein zb. TLF dann soll er in der DB nah diesem begriff suchen. Wenn ich Daten aus der DB Hole, lasse ich es in einen Array speichern, mir fehlt der Ansatz für das "Dazwischen" bzw die vergleichsoperation.

Jemand ein tipp ?

Gruß
Dennis
 
Ich gehe mal von einer PHP-Lösung aus.
PHP:
mysql_query("SELECT * FROM table WHERE blah LIKE '%".$suchanfrage."%'");
 
Also ich habe es im moment so:

Code:
<?php
error_reporting(E_ALL);

include ('config.php');

$sql = "SELECT * FROM abk LIKE '%".$such."%'"";
$link = mysql_connect($host,$nutz,$pass);
mysql_select_db($datenbank, $link);
$result = mysql_query($sql, $link);
for($i=0;$i<mysql_num_rows($result);$i++)
{
$ergebnis[$i]=mysql_fetch_array($result);
}
?>

und der ausgebende Teil:

Code:
<?php
for($i=0;$i<count($ergebnis);$i++)
{
echo $ergebniss[$i][abk];
}
?>

wenn ich ein Suchbegriff eingebe was auch in der DB steht so Passiert nix keine Ausgabe und keine Fehlermeldung.

es kann sein das ich Doof oder blind bin :(
 
PHP:
<?php
$i=0;
while($ergebnis[$i++] = mysql_fetch_array($result) ){ } // etwas kuerzer als deine for Schleife

echo"<pre>";
print_r($ergebnis); // generelle Ausgabe eines Array
echo"</pre>";
?>
Geht das denn?
 
Das Problem ist das Query. Grundsätzlich aber bitte Guins Ansatz wählen.
PHP:
$sql_query = "SELECT * FROM abk WHERE datenfeld LIKE '%".$such."%'";
$sql_result = mysql_query($sql_query) or die(mysql_error());
 
Code:
<?php
error_reporting(E_ALL);

include ('config.php');

$sql_query = "SELECT * FROM abk WHERE abk LIKE '%".$such."%'";
$sql_result = mysql_query($sql_query) or die(mysql_error());
$link = mysql_connect($host,$nutz,$pass);
mysql_select_db($datenbank, $link);
$result = mysql_query($sql_query, $link);
$i=0;
while($ergebnis[$i++] = mysql_fetch_array($result) ){
$ergebnis[$i]=mysql_fetch_array($result);
}
?>

und so nu die Ausgabe im Body bereich:

<?php

echo"<pre>";
print_r($ergebnis); // generelle Ausgabe eines Array
echo"</pre>";
?>

So sieht es jetze aus, irgendwie bin ich durcheinander gekommen ?!
es erfolgt weiterhin keine Ausgabe..
 
Was machst Du denn da für einen Mist?! Sind Tabellenname und Spaltenname der gleiche, oder warum steht da 2x abk?
PHP:
<?php
// Das error_reporting packt man normalerweise in die config.php
// da sie (normalerweise) in jeder Datei included wird.
error_reporting(E_ALL);

include ('config.php');

// Herstellen des DB Links
$link = mysql_connect($host,$nutz,$pass);
  mysql_select_db($datenbank, $link);

// Eigtl. Suchquery
$sql_query = "SELECT * FROM [TABELLENNAME] WHERE [SPALTENNAME] LIKE '%".$such."%'";
$sql_result = mysql_query($sql_query) or die(mysql_error());

$i=0;
while($tmp[$i++] = mysql_fetch_array($sql_result)) {
  $ergebnis[$i] = $tmp[$i];
}

print_r($ergebnis)
?>
 
Last edited by a moderator:
Dieser besipiel geht auch nicht keine Ausgabe und keine Fehlermeldung.

Sind Tabellenname und Spaltenname der gleiche, oder warum steht da 2x abk?

Ja,
Datenbankname: Test
Tabelle: abk
eine spalte von vielen: abk
 
Back
Top