Webstatt.org - Community seit 2006 - 2012 (2024?)

mehrere textfelder speichern

user-186
30.03.2006 10:54

hallo

via einer schleife generiere ich mehrere textfelder mit infos aus der DB.
<?
$result = mysql_query("SELECT id,reiter_link from module ORDER BY id"zwinkern;
?>
<form name="form1" method="post" action="index.php?site=cms_save_module">
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td>URL</td>
</tr>
<?
while($row = mysql_fetch_row($result))
{
?>
<tr>
<td>
<input name="reiter_link[]" type="text" size="50" value="<? echo $row[1]; ?>">
</td>
</tr>
<?
}
?>
<tr>
<td><input type="submit" name="Submit" value="Senden">
</td>
</tr>
</table>
</form>
ich möchte nun alle auf einmal wieder speichern können.

ich dachte das geht irgendie mir "foreach" oder so aber ich kriegs nicht hin... ?(
könnte mir ev. jemand einen rat geben, wie das funktioniert?

Avatar user-253
30.03.2006 11:09

Hey,

also zuerst würde ich die Textfelder ein wenig anders benennen:


$i = 1;
while($row = mysql_fetch_row($result))
{
print '<tr><td><input name="reiter_link_'.$i.'" type="text" size="50" value="'.$row[1].'"></td></tr>';
}


Für das Speichern würde ich zu einer while Schleife greifen

$stop = false;
$i = 1;
while(!$stop) {
$name = "reiter_link_$i";
if(array_key_exists($name,$_POST)) {
$wert = $_POST[$name];
// speichern
++$i;
} else {
$stop= true;
}
}


Viele Grüße,
Michael

Avatar user-255
30.03.2006 14:07

einfacher, schöner, besser:
<input name="foo[]" />
<input name="foo[]" />
<input name="foo[]" />
<input name="foo[]" />


<?php
foreach ($_GET['foo'] as $foo)
print ($foo);
?>

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-253
30.03.2006 15:43

Cool, ich kannte die Schreibweise bisher nur bei Checkboxen...

Das ist natürlich besser

user-186
31.03.2006 02:41

vielen dank für support!

...wie muss ich mit diesem beispiel die update-query schreiben?

"update module set reiter_link =?"

$foo funktioniert bei mir nicht. wird alles nur gelöscht....

Avatar user-255
31.03.2006 13:19

Wer oder was ist $foo ?

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm