Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Probleme bei der Auswahl von Tabellen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Probleme bei der Auswahl von Tabellen


 
Hunter S. Thoms
04-08-2006, 11:02 
 
Hallo,

ich stehe schonwiedermal vor einem Problem:

Ich habe mehrere Tabellen in der Datenbank, es soll mit hilfe eines Formulars gewählt werden können welche tabelle angezeigt wird.

Also eigentlich wie hier:


$result = mysql_query("select * from tabelle1") OR die(mysql_error());
while ($row = mysql_fetch_object($result)) {
echo $row->Kunde;
}


nur das anstelle von tabelle1 auch tabelle2, tabelle3 usw. ausgewählt werden kann.
Wenn ich das ganze gegen eine Variable austausche:


$result = mysql_query("select * from $tabelle") OR die(mysql_error());
while ($row = mysql_fetch_object($result)) {
echo $row->Kunde;
}


bekomme ich den fehler:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

die Tabelle wird nicht gefunden...
Die variable die vom formular übergeben wird passt, die Tabellen in der Datenbank sind auch ok (bei beispiel 1 gehts zumindest).

Da ist doch bestimmt nur was bei der Schreibweise falsch... oder?

 
hall
04-08-2006, 11:04 
 
was steht denn in $tabelle, lass es dir mal ausgeben

 
Hunter S. Thoms
04-08-2006, 11:21 
 
Meinst du so?

<?php
echo "$tabelle";
?>


dann kommt garnix.

liegts evtl doch am formular?


<head>
<title>Objektauswahl</title>
<link href="settings/look.css" rel="stylesheet" type="text/css" />
</head>

<body>
<table width="100%" height="100" border="0">
<tr>
<td align="center" valign="middle"><table width="500" border="0">
<tr>
<td width="175" align="left" valign="middle"><div align="right"><span class="text-normal">Objekt</span></div></td>
<td width="150" align="left" valign="middle"><div align="center">
<form name="objekteingabe" method="post" action="test.php">
<select name="tabelle" id="tabelle">
<option> </option>style="color: #000000; font-family: Verdana; font-size: 8pt; border: 1px solid #CFCDCD; background-color: #FDFDFD">
<option>test</option>
<option>tabelle1</option>
</select>
</div></td>
<td width="175" align="left" valign="middle"><input type="submit" value="Anzeigen" name="submit" style="font-family: Verdana; font-size: 8pt; color: #000000; border: 1px solid #CFCDCD; background-color: #FDFDFD"></td>
</form>
</tr>
</table></td>
</tr>
</table>
<br>
</body>
</html>
:confused: :confused:

 
hall
04-08-2006, 11:27 
 
du überträgst deine parameter mit post und wenn register globals=off sind, stehen die parameter nur in den globalen Arrays $_POST,$_GET,$_REQUEST bereit. Also ändere

$tabelle

in

$_POST['tabelle']

mach mal ein

echo $_POST['tabelle'];

dann siehst du was ich meine

 
Hunter S. Thoms
04-08-2006, 12:00 
 
Hast recht gehabt! Jetzt gehts, meine Lösung sieht so aus:


$db = $_POST['tabelle'];
$result = mysql_query("select * from $db") OR die(mysql_error());
while ($row = mysql_fetch_object($result)) {
echo $row->Kunde;
}


Danke hast mir echt weitergeholfen...

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:11 Uhr.