function will einfach net

sid61

Mitglied
Hallo,

ich möchte gern ein Feld in einer Datenbank nach einer vorhergehenden Auswahl updaten.
Ich habe nun alle möglichen Varianten ausprobiert, aber ich bekomme es einfach nicht hin.

Hier ist der Code, den ich jetzt ausprobiert habe...

Code:
<?php
function updateicon(){
$sql="UPDATE jos_hp_poperies SET icon where id=$row->id";
mysql_query($sql);
}
?>
<tr><td><select id="icon" onchange="updateicon()">
<option selected=\"selected\" value=\"\">Icon anlegen</option>
<?php
$result = mysql_query("SELECT icon FROM jos_hp_icons");
while ($row = mysql_fetch_row ($result)) {
print '<option value="'. $row[0].'" >'.$row[0].'</option>';
}

?>
</select>
</td></tr>
	</table>

Hat vielleicht einer von euch eine Idee, was ich falsch mache ?
Gruss
Kasimir
 
PHP ist leider nur ne scriptsprache da kann man nicht onupdate ne funktion rufen sowas ist dann Sache von JS o.ä.
Anbei habe ich das ein bisschen umgestellt weiß aber nicht ob du das gebrauchen kannst.
gruß

kato

PHP:
<?php
if($_GET['update'] =='wahr'){
	
$sql="UPDATE jos_hp_poperies SET icon =".$_GET['icon']." where id=$row->id";
mysql_query($sql);
	
	
}
?>
<tr><td>
<form action="icon.php" method="GET">
<select name ="icon" id="icon">
<option selected=\"selected\" value=\"\">Icon anlegen</option>

<?php
$result = mysql_query("SELECT icon FROM jos_hp_icons");
while ($row = mysql_fetch_row ($result)) {
print '<option value="'. $row[0].'" >'.$row[0].'</option>';
}

?>
</select>
<input type="hidden" name="update" value="wahr">
<input type="submit">
</form>
</td></tr>
</table>
 
Wie schon erwähnt du kanst net von javascript eine php funktion aufrufen.

Du kanst es aber über Ajax machen. Nee andere möglichkeit were das Formular per javascript automatisch abzuschicken bei onchange ergniss und dann per Php die Formular werte aus werten bzw. bei bedarf die Db auktualiesieren.

Mfg Splasch
 
Man könnte das auch mit Ajax Request lösen.
Aja kann mitten drin einfach eine PHP Funktion aufrufen. Hier mal ein Beispiel mit einer Dynamischen Suchleiste:
http://www.dynamicajax.com/fr/AJAX_Suggest_Tutorial-271_290_312.html

Wie das am Ende aussieht, kann man auch auf der Seite im Suchfeld testen. JS muss fabei aber aktiv sein. Und falls jemand kein JS aktiv hat, kann man ja immer noch mit
Code:
<noscript><input type='submit' value='Update'></noscript>
einen Submit Button einblenden.
 
Hallo und vielen Dank für eure Hilfen,

ich habe das Beispiel von Katosan verwendet, es aber noch ein wenig ausbauen müssen, da ich diesen Code im IFRAME lade und somit verhindere, das die Seite komplett neu geladen wird. Ich hatte dann mittels get die Parameter erweitert, damit mir nicht die ID vom bearbeiteten Objekt verloren geht.

Das klappt jetzt ganz prima - ich schaue mir die anderen Beispiele aber auch noch an, denn lernen kann man ja nie genug..

Dennoch vielen Dank für eure Anregungen und Hilfe.
Kasimir
 
Zurück