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)
Formulare aus DB-Daten auswerten [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Formulare aus DB-Daten auswerten


 
Edgar71
24-03-2005, 00:05 
 
Moin moin zusammen,

ich möchte aus einer DB-Abfrage für ein Formular bestimmte Formularfelder erzeugen, etwa so:

$result = mysql_query("SELECT * FROM tabelle WHERE wert1 LIKE 'xy'");
while($get = mysql_fetch_array($result)) { ?>
<input type="checkbox" name="leistung_<? echo "$get[id]"; ?>" value="$get[id]">
<? } ?>


Meine Vorstellung vom anschließenden Auswerten der resultierenden Formulardaten ist in etwa so:

$result = mysql_query("SELECT * FROM tabelle WHERE wert1 LIKE 'yz'");
while($get = mysql_fetch_array($result)) {
$templeistung = "$leistung_$get[id]";
if($get[id] == "$templeistung") { echo "Treffer<br>"; }
}


Natürlich ergibt nun $templeistung = "$leistung_$get[id]"; aufgrund der doppelten Variablen keine vernünftige Ausgabe. Wie erreiche ich es, daß diese nun dynamisch sinnvoll ausgelesen und verglichen werden kann?

Gruß, Edgar

 
penizillin
24-03-2005, 01:52 
 
du kannst effizienterweise zu der array-definition der inputfelder greifen und sie entsprechend behandeln: <input name="nummer[1]" ... />

 
Edgar71
24-03-2005, 09:26 
 
Danke, das wäre auch eine Möglichkeit.

Lieber wäre mir allerdings das Erzeugen und Auswerten der Formularfelder auf Grundlage der db-id´s, denn damit würde nur das ausgewertet, was wirklich vorhanden ist und gebraucht wird.

Hat dazu noch jemand eine Idee?

Gruß, Edgar

 
onemorenerd
24-03-2005, 09:31 
 
http://www.php-faq.de/q/q-variable-variablen.html

 
Edgar71
24-03-2005, 10:04 
 
Hey super, das hat geholfen. Danke!:rocks:

Für diejenigen, die ein ähnliches Problem haben: Auf obiges Beispiel bezogen wäre dies eine cremige Ausgabe-Lösung:

$templeistung = ${"leistung_$get[id]"};

Danke onemorenerd! :D

Gruß, Edgar

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:13 Uhr.