Hallo, Am Freitag, 13. Mai 2011, 11:10:30 schrieb Bernhard Junk:
Hallo und guten Morgen,
ich muss aus einer MySQL-Datenbank zwei Werte auslesen. die zwei Werte stehen aber in unterschiedlichen Tabellen. For example:
Tabelle1 = AA Feld: SN Tabelle1 = AA Feld: Serien-Nr Tabelle2 = AB Feld: SN Tabelle2 = AB Feld: Serien-Nr
Es andert sich bei der Abfrage also nur der Name der Tabelle. Die Variable für die Tabelle muss also indirekt abgefragt werden. Mein Beispiel:
In Abhängigkeit von searchtype ( Tabelle ) soll dann searchterm ( Feld ) angezeigt werden.
<?php $searchtype = $_POST['searchtype']; $searchterm = $_POST['searchterm'];
Hierzu wurde ja in einer anderrn Mail schon etwas gesagt
// $searchtype = 'RRMMC1'; // $searchterm = '123456'; /* if (!$searchtype)
echo "Sie haben keinen Typ ausgewaehlt"; exit;
hier fehlt { nach ) und } nach exit; wenn man die Kommntarzeichn entfernt würde es sonst wohl nicht das richtige machen
if (!$searchterm) echo "Sie haben keine Seriennummer ausgewaehlt"; exit; */ echo "$searchtype"; echo "$searchterm";
$link = mysql_connect('localhost', 'user', 'passwd'); if (!$link) { die('Keine Verbindung möglich: ' . mysql_error()); } $db_selected = mysql_select_db('Datenbank'); if (!$db_selected) { die('Auswahl der Datenbank nicht möglich: ' . mysql_error()); } $query = 'SELECT * from $searchtype where AOI_Nr = $searchterm';
das der String in ' ' eingeschlossen ist, weden die Variable $searchtype und $searchterm nicht expandiert. richtig ist hier " von wechem Typ is AOI_Nr wenn's Zahlen sin ist's ok, wenn String (Text) dann nicht, dann müsste man das so schreiben $query = "SELECT * from $searchtype where AOI_Nr = "$searchterm""; ult = mysql_query($query);
if (!$result) { die('Anfrage fehlgeschlagen: ' . mysql_error()); } /* holen der Zeilen in umgekehrter Reihenfolge */
das kann man doch ebsser machen, indem man mit einer "ORDER BY" Klausel in der Query die Sortierung angibt. Nur so erhält man eine garantierte Reihenfolge.
for ($i = mysql_num_rows($result) - 1; $i >= 0; $i--) { if (!mysql_data_seek($result, $i)) { echo "Cannot seek to row $i: " . mysql_error() . "\n"; continue; }
if (!($row = mysql_fetch_assoc($result))) { continue; }
// echo $row['$searchterm'], "<br />\n"; echo "$searchterm", "<br />\n"; }
mysql_free_result($result);
?> Wer kann mir dabei helfen?
Bye Jürgen -- Dr.rer.nat. Jürgen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de ------------------------------------------------------------------------------- Diese EMail ist elektronisch mittels GPG / PGP signiert. Diese elektronische Unterschrift ist in einem EMail-Anhang enthalten. Leider kann die Signatur ohne die Installation entsprechender Programme weder geprüft noch angezeigt werden. Mehr dazu unter: http://www.gnupg.org oder auch http://www.pgpi.org ------------------------------------------------------------------------------- -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org