[PHP/MySQL] Änderung DB EIntrag über ein Formular

Fan1919

Well-known member
20 April 2006
1.462
43
Hallo,

Ich brauch einmal etwas Hilfe.. Habe so gut wie keine Ahnung von PHP und brauche einmal Hilfe bei etwas.

Also ich habe eine Datenbank mit mehreren EInträgen und 5 Feldern. Jetzt hab ich ein Formular (über method="post") mit drei Einträgen. Ich möchte dann zwei Felder vergleichen und bei der Zeile wo die beiden zutreffen soll das dritte geändert werden...
PHP:
 $dat=$HTTP_POST_VARS['dat'];
 $sp=$HTTP_POST_VARS['sp'];
 $heim=$HTTP_POST_VARS['heim'];
 $gast=$HTTP_POST_VARS['gast'];
 $erg=$HTTP_POST_VARS['erg'];


  $anfrage="UPDATE 'spieltage' WHERE 'heim' like '$heim' AND 'gast' like '$gast' Set '$erg'";

Davor is der Kontakt zur Datenbank und das Formular... den Teil denScriptes brächte ich einmal richtig.. hat da jemand nen Tipp wie man das macht?

Danke!
 
naja vollständig hab ich deine ausführungen nicht verstanden.

du willst zwei felder vergleichen und dann eines verändern?

dann machst du halt ein update statement das du in der datenbank ausführst:

PHP:
$result = mysql_query("UPDATE `tabelle` SET `feld3`='{$_POST['wert']}' WHERE feld1='{$_POST['wert']}' AND feld2='{$_POST['wert']}'");

aber immer brav auf sql injections aufpassen.

jperl
 
Danke das hat mir sehr geholfen..

Hab aber noch eine Frage..

Und zwar möchte ich die Einträge sortieren und zwar nach dem Spieltag (https://www.zwote-liga.de/spieltage06_3.php?dir=1. FC Kaiserslautern). Soweit klappt auch alles nur mit dem sortieren geht es nicht ganz so, wie ich mir das vorgestellt habe... wie kann ich ihm sagen, dass die ganze Zahl betrachtet werden soll?

So sieht das momentan aus:
PHP:
$req=mysql_query("SELECT * FROM spieltage where heim like '$dir' OR gast like '$dir' ORDER BY `sp`");
 
Zuletzt bearbeitet:
Da stehen die Zahlen 1, 2, 3 ... 30,31,32
und danach möchte ich sortieren aber momentan macht er immer
1,10,10 ... 2,20,21.. usw
 
naja am einfachsten wäre wenn die spalte den typ tinyint hat.

jperl

edit:
hab int auf tinyint geändert, damit ich nicht gleich von unseren db-optimierungsfritzen was zu hören bekomme.
es sei denn du hast mehr als 255 spieltage. ;)
 
Zuletzt bearbeitet: