if-schleife mit werten aus mysql-tabelle
jenslm
- php
ich moechte datensaetze aus einer tabelle abfragen und dann mit diesen werten eine neue if-schleife ausgeben. so funktioniert es jedenfalls nicht:
$sql = "SELECT * FROM tab WHERE spalte = 'wert'";
$result = mysql_query($sql, $database) or die(mysql_error());
$row = mysql_fetch_assoc($result);
echo "<?php";
do
{
echo "if(".$row['if-action'].")";
echo "{";
echo "echo ".$row['content']."";
echo "}";
}
while ($row = mysql_fetch_assoc($result));
echo "?>";
wie koennte ich das realisieren?
lg, jens
Hi,
ich moechte datensaetze aus einer tabelle abfragen und dann mit diesen werten eine neue if-schleife ausgeben.
so funktioniert es jedenfalls nicht:
echo "<?php";
do
{
echo "if(".$row['if-action'].")";
echo "{";
echo "echo ".$row['content']."";
echo "}";
}
Was soll daran „funktionieren“? Du gibst Text aus, der zufälligerweise wie PHP-Code aussieht. Das macht ihn aber nicht weniger text-ig.
wie koennte ich das realisieren?
Wie könntest du *was* realisieren?
Bitte stelle deine Frage so, das klar wird, was du eigentlich erreichen möchtest.
Obiges Konstrukt sieht so aus, als ob deine Grundkenntnisse immer noch mangelhaft wären. Die vorherigen Fragen in den letzten Tagen legen den gleichen Schluss nahe.
Vielleicht arbeitest du erst mal in Ruhe ein, zwei Tutorials durch - und eignest dir das Grundlagenwissen selber an, um dann Fragen solcher Qualität gar nicht mehr stellen zu müssen ...?
http://tut.php-quake.net/de/
http://php-einfach.de/
MfG ChrisB
Hey ChrisB!
Wow, nichtmal ein Impressum. Nix! Dachte sowas wäre "verboten" ôO
Grüße, Matze
@@Matze:
nuqneH
http://www.if-schleife.de/
Wow, nichtmal ein Impressum. Nix! Dachte sowas wäre "verboten" ôO
Wieso? Wird dort was verkauft?
Ich hätte gern 3 If-Schleifen in rot und zwei in gold.
Qapla'
Hey Gunnar!
Wieso? Wird dort was verkauft?
Ich hätte gern 3 If-Schleifen in rot und zwei in gold.
Nee, natürlich nicht.
Ich dachte aber, es besteht eine "allgemeine" Impressumpflicht!?
Ich muss mich mal wieder zu dem Thema belesen :)
Grüße, Matze
@@ChrisB:
nuqneH
http://community.de.selfhtml.org/zitatesammlung/zitat693 ;-)
Qapla'
Hi ChrisB!
Hm, die Seite wird von unserer Feierwall wegen angeblicher "Pornography" gesperrt... :>
mfG
Benjamin
dass das da oben nicht funktioniert ist mir auch klar. dachte nur daran erkennt man was ich machen will ;-)
ok also schreib ich das mal so auf:
$sql = "SELECT * FROM tab WHERE filter = 'test'";
$result = mysql_query($sql, $database) or die(mysql_error());
$row = mysql_fetch_assoc($result);
$row['if-action'] //Die Aktion die die if-Abfrage im neachsten Schritt nutzen soll.
$row['content'] //Die Ausgabe die die if-Abfrage machen soll, wenn die Bedingungen (if-action) erfuellt ist.
//naechster Schritt....der Code fuer die if-abfrage
//wie koennte ich das machen?
//diese if-Abfrage soll fuer jeden Datensatz von oben wiederholt werden
lg, jens
Mahlzeit jenslm,
$row['if-action'] //Die Aktion die die if-Abfrage im neachsten Schritt nutzen soll.
$row['content'] //Die Ausgabe die die if-Abfrage machen soll, wenn die Bedingungen (if-action) erfuellt ist.
Darf man das so verstehen, dass Du möchtest, dass in der Datenbank PHP-Code ablegt ist, der einfach ausgelesen und ausgeführt wird?
Wenn ja: bitte beachte folgende zwei unumstößliche Wahrheiten und Gesetzmäßigkeiten:
1.) All input is evil!
2.) eval() is evil!
Wenn nein: erkläre Dein Vorhaben bitte genauer.
MfG,
EKKi
Hi,
dass das da oben nicht funktioniert ist mir auch klar. dachte nur daran erkennt man was ich machen will ;-)
ok also schreib ich das mal so auf:
Immer noch nicht so viel klarer.
$row['if-action'] //Die Aktion die die if-Abfrage im neachsten Schritt nutzen soll.
$row['content'] //Die Ausgabe die die if-Abfrage machen soll, wenn die Bedingungen (if-action) erfuellt ist.
Also willst du dynamische Bedingungen haben, quasi aus der Datenbank gelesenen PHP-Code zur Laufzeit ausführen?
Das geht prinzipiell mit eval, allerdings ist davon aus Gründen der Wartbarkeit und u.U. auch Sicherheit eher abzuraten.
Das ist was für Leute, die *ganz* *genau* wissen, was sie tun - und auch die werden in den meisten Fällen eher die Finger davon lassen.
MfG ChrisB
Hallo jens!
Wenn du die Ausgabe des Datensatzes von einem bestimmten Wert innerhalb desselben abhängig machen willst, warum baust du das nicht schon in das MySQL-Statement ein?
"SELECT * FROM tab WHERE filter = 'test' AND 'if-action' = 'whatever'"
Grüße, Matze
und nochmal genauer:
$sql = "SELECT * FROM tab WHERE filter = 'test'";
$result = mysql_query($sql, $database) or die(mysql_error());
$row = mysql_fetch_assoc($result);
$var1 = $row['eins'];
$var2 = $row['zwei'];
$var3 = $row['drei'];
$var4 = $row['vier'];
//zum Beispiel::: $row['ifaction'] = "$var1 == $var3"
if($row['ifaction']) {echo "anything";}
//und diese if-schleife soll für alle datensaetze wiederholt werden. nur unterscheidet sich die ifactions und echo bei den datensaetze. also kann ich diese nicht mit in die abfrage einbauen.
lg, jens
oder vereinfacht, ich möchte eine if-Bedingung aus mysql-tabelle abfragen?!
lg, jens
Hey Jens!
oder vereinfacht, ich möchte eine if-Bedingung aus mysql-tabelle abfragen?!
Ich glaube schon. Meinem Gefühl nach, versuchst du eine Abfrage und überprüfst hinterher noch einmal zusätzlich dessen Werte.
Das ist durch ein optimiertes SQL-Statement natürlich überflüssig.
Belies dich doch noch einmal zu den Themen SELECT
, WHERE
und AND
.
Du kannst bei der Datenabfrage natürlich mehr als 1 Kriterium auf nur 1 Spalte angeben.
Grüße, Matze