php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
update datenbank mit math. funtion


 
hera
02-02-2003, 13:05 
 
kleine frage (für profis)!

ich bekommen aus einem form folgende daten übergeben:
----------------------------
Gut <input type="radio" name="service" value="+1" checked>
Na ja ...<input type="radio" name="service" value="0">
Schlecht <input type="radio" name="service" value="-1">
----------------------------

Das update der tab soll jetzt jeweils den value"+1","0","-1" hinzufügen

die updatefunktion sieht so aus:

<?
include("../../connect/connect.php");
$query = "update vote_base SET service='$???' WHERE id='$id'";
$result = mysql_query($query);
echo '<body onload=\'javascript:window.location.href="basen.php"\'>';
?>


ich bekoms nicht zusammen. kann jemand helfen???

vielen dank hera

 
Campus
02-02-2003, 13:19 
 
naja ein profi muss man da nicht sein um die post bzw get variablen namens zu wissen.

$query = "update vote_base SET service='".$_POST['service']."' WHERE id='$id'";

oder... $_GET ...

jenachdem wie die formular-method ist.

 
hera
02-02-2003, 13:26 
 
nein geht so leider nicht das. ergebnis ist '0'

woran kanns noch liegen?

 
Campus
02-02-2003, 13:33 
 
kann das daran liegen, das die $id gar nicht gesetzt is ?

 
hera
02-02-2003, 13:44 
 
doch, die id ist gesetzt und wird übergeben. habe in der tab den ausgangswertwert 75 stehen (feld ist decimal 10.0) mache ich jetzt ein update mit dem wert -1 aus dem formular . das ergebnis ist nun 0!

muss man das mit eine if anweisung machen.
du merkst - ich totaler anfänger.

danke hera

 
mrhappiness
02-02-2003, 13:58 
 
<?
include("../../connect/connect.php");
$query = "update vote_base SET service='$???' WHERE id='$id'";
echo 'Query-String: '.$query;
$result = mysql_query($query);
echo 'Fehler: '.mysql_error().' (#: '.mysql_errno().')';
echo '<body onload='javascript:window.location.href="basen.php"'>';
?>
sollte die sache für uns erleichtern
Was für einen Typ hat das Feld service? Wenn es irgendwas numerisches is, darfst du keine hochkommata im sql-string verwenden verwenden

 
Campus
02-02-2003, 14:09 
 
Was für einen Typ hat das Feld service? Wenn es irgendwas numerisches is, darfst du keine hochkommata im sql-string verwenden verwenden

doch, ist dann aber optional

 
hera
02-02-2003, 14:16 
 
ergebnis:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /usr/local/htdocs/www.diwa-europa.de/www/german/basen/votethissend.php on line 3

habe das update angepasst.

<?
include("../../connect/connect.php");
$query = "update vote_base service=.$_POST['service']. WHERE id='$id'";
echo 'Query-String: '.$query;
$result = mysql_query($query);
echo 'Fehler: '.mysql_error().' (#: '.mysql_errno().')';
echo '<body onload='javascript:window.location.href="basen.php"'>';
?>

 
hera
02-02-2003, 19:35 
 
geändert:

<?
include("../../connect/connect.php");
$query = "update vote_base SET counter=counter+1,service=service+$_POST['service_neu'] WHERE id='$id'";
echo 'Query-String: '.$query;
$result = mysql_query($query);
echo 'Fehler: '.mysql_error().' (#: '.mysql_errno().')';
echo '<body onload='javascript:window.location.href="basen.php"'>';
?>


hier das ergebnis:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /usr/local/htdocs/www.diwa-europa.de/www/german/basen/votethissend.php on line 3

hera

 
mrhappiness
02-02-2003, 19:46 
 
mach die hockommata bei $_post raus

 
hera
02-02-2003, 19:53 
 
jetzt das ergenis.

Parse error: parse error, expecting `','' or `';'' in /usr/local/htdocs/www.diwa-europa.de/www/german/basen/votethissend.php on line 7

 
mrhappiness
02-02-2003, 21:49 
 
hast du ein glück, dass ich huet so gut drauf bin...
Zeile 7: echo '<body onload='javascript:window.location.href="basen.php"'>';echo gibt das aus, was zwischen den beiden ersten hochkommata steht. danach kommt javascript, was aber kein php-befehl is.

Lösung:echo "<body onload=\"javascript:window.location.href='basen.php'\">";

aber das mir das nich zur gewohnheit wird, parse-errors sollte man schon selbst beheben können, vor allem, wenn genau dasteht, was dem interpreter nich passt

 
hera
02-02-2003, 21:53 
 
vielen dank. das wars auch nicht. es funktioniert so nicht. werd mir mal gedanken machen. vielleicht gehts ja auch anders.

trotzdem danke!

hera

 
mrhappiness
02-02-2003, 21:55 
 
immer noch parse-error?

 
hera
02-02-2003, 22:53 
 
nein aber der eintrag funzt nicht. muss anders an die sache rangehen.

 
goth
02-02-2003, 23:11 
 
Wenn ich recht verstehen willst Du auf dem Wege den Wert des Attributes Service Inkrementieren bzw. dekrementieren ... das würde ich allerdings auf gar keinen Falle so machen ... Vorschlag:

Formular:
Gut <input type="radio" name="service" value="inc" checked>
Na ja ...<input type="radio" name="service" value="">
Schlecht <input type="radio" name="service" value="dec">


PHP-Script:
<?
include("../../connect/connect.php");
if ( $_POST["service"]=="inc" || $_POST["service"]=="dec" ) {
$query = "update vote_base SET service=service".( $_POST["service"]=="inc" ? "+" : "-" )."1 WHERE id='$id'";
$result = mysql_query($query);
}
header("Location: basen.php");
?>


Sowas in der Art sollte funzen ...

 
hera
02-02-2003, 23:24 
 
vielen dank. geht aber auch nicht! ;o(
schluss für heut. muss mir erstmal was überlegen. werde mich morgen evt. mit nem neuen thread melden. wenns nix wird.

also vielen dank an alle.

hera

 
Campus
02-02-2003, 23:26 
 
um zu imkrementieren kannst ruhig weiterhin "-1","+0","+1" verwenden,

und die DB-anweisung dementsprechend:



$query = "update vote_base SET service=service".$_POST["service"]." WHERE id='$id'";
$result = mysql_query($query);


angleichen.

 
goth
02-02-2003, 23:54 
 
Ja ... und jeder Depp macht aus Deinem Statement was er weil ... bist Du klug !!

 
Campus
03-02-2003, 00:50 
 
ohh ja, stimmt ja :rolleyes: also lieber nicht..


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:26 Uhr.