28. marts 2007 - 16:42
Der er
27 kommentarer
UPDATE + evt. ekstra fejl bagefter
if ($_POST['edit_klan'] != "" && $_POST['edit_vundne'] != "" && $_POST['edit_uafgjorte'] != "" && $_POST['edit_tabte'] != "" && $_POST['edit_vr'] != "" && $_POST['edit_tr'] != "") { $result = $_POST['edit_vr']-$_POST['edit_tr']; $point = $_POST['edit_vundne']*2+$_POST['edit_uafgjorte']; $query = mysql_query("UPDATE liga (klan,vundne,uafgjorte,tabte,vr,tr,result,point) VALUES ('" . $_POST['edit_klan'] . "','" . $_POST['edit_vundne'] . "','" . $_POST['edit_uafgjorte'] . "','" . $_POST['edit_tabte'] . "','" . $_POST['edit_vr'] . "','" . $_POST['edit_tr'] . "','" . $result . "','" . $point . "')") or die (db_error()); Den melder fejl på dem her. Det må være en fejl i den måde det er skrevet op, fordi de er alle oprettet i min tabel (MySQL), og de vises også fint når jeg skriver dem ud i en input.
Annonceindlæg fra Barco
28. marts 2007 - 16:43
#1
Har overvejet om man kan skrive minus, plus og gange på den måde som jeg gør: $result = $_POST['edit_vr']-$_POST['edit_tr']; $point = $_POST['edit_vundne']*2+$_POST['edit_uafgjorte'];
28. marts 2007 - 16:44
#2
Ehmm.. Det kan jeg så se det ikke er :D Fatal error: Call to undefined function: db_error() in /customers/divinium.dk/divinium.dk/httpd.www/xg/index.php on line 106
28. marts 2007 - 16:50
#3
or die (db_error()); or die (mysql_error());
28. marts 2007 - 17:03
#4
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(klan,vundne,uafgjorte,tabte,vr,tr,result,point) VALUES ('Team-
28. marts 2007 - 17:36
#5
Du skal lige have den rigtige syntaks. Generelt: UPDATE liga SET felt=værdi WHERE ...
28. marts 2007 - 17:57
#6
$query = mysql_query("UPDATE liga SET (klan,vundne,uafgjorte,tabte,vr,tr,result,point) VALUES ('" . $_POST['edit_klan'] . "','" . $_POST['edit_vundne'] . "','" . $_POST['edit_uafgjorte'] . "','" . $_POST['edit_tabte'] . "','" . $_POST['edit_vr'] . "','" . $_POST['edit_tr'] . "','" . $result . "','" . $point . "')") or die (mysql_error()); Det der virker heller ikke. Kan du give et mere konkret svar?
28. marts 2007 - 18:05
#7
erik>>Mærkeligt nok så godkender MySQL den syntax til en update. Har selv studset over den et par gange ;o)
28. marts 2007 - 18:10
#8
Men skriv update som erikjacobsen foreslår (bare for at følge standarden). Hvilken fejl får du? $query = mysql_query("UPDATE liga SET klan='" . $_POST['edit_klan'] . "',vundne='" . $_POST['edit_vundne'] . "',uafgjorte='" . $_POST['edit_uafgjorte'] . "',tabte='" . $_POST['edit_tabte'] . "',vr='" . $_POST['edit_vr'] . "',tr='" . $_POST['edit_tr'] . "',result='" . $result . "',point='" . $point . "'") or die (mysql_error());
28. marts 2007 - 18:22
#9
Hmm .. Der er ingen fejl, men der kommer kun 1 række :S
www.divinium.dk/xg
28. marts 2007 - 18:26
#10
Det bliver den desværre ved med.. Skal jeg skrive: WHERE id = "' . $_GET['id'] . '"
28. marts 2007 - 18:27
#11
Det hjælper heller ikke
28. marts 2007 - 18:29
#12
Ja du skal have et id med hvis du ikke vil opdatere allesammen. WHERE id = "' . $_GET['id'] . '" eller WHERE id = "' . $_POST['id'] . '"
28. marts 2007 - 18:29
#13
Her er den nøjagtige kode: <? if ($_POST['edit_klan'] != "" && $_POST['edit_vundne'] != "" && $_POST['edit_uafgjorte'] != "" && $_POST['edit_tabte'] != "" && $_POST['edit_vr'] != "" && $_POST['edit_tr'] != "") { $result = $_POST['edit_vr']-$_POST['edit_tr']; $point = $_POST['edit_vundne']*2+$_POST['edit_uafgjorte']; $query = mysql_query("UPDATE liga SET klan='" . $_POST['edit_klan'] . "',vundne='" . $_POST['edit_vundne'] . "',uafgjorte='" . $_POST['edit_uafgjorte'] . "',tabte='" . $_POST['edit_tabte'] . "',vr='" . $_POST['edit_vr'] . "',tr='" . $_POST['edit_tr'] . "',result='" . $result . "',point='" . $point . "' WHERE id='" . $_GET['id'] . "'") or die (mysql_error()); } $i = "1"; $query = mysql_query("SELECT * FROM liga ORDER by point DESC,result DESC"); while($liga = mysql_fetch_array($query)) { ?> <form action="" method="post"> <tr> <td><? echo $i; ?></td> <td><input type="text" size="40" name="edit_klan" value="<? echo $liga['klan']; ?>"></td> <td><? echo $liga['vundne']+$liga['uafgjorte']+$liga['tabte']; ?></td> <td><input type="text" size="5" name="edit_vundne" value="<? echo $liga['vundne']; ?>"></td> <td><input type="text" size="5" name="edit_uafgjorte" value="<? echo $liga['uafgjorte']; ?>"></td> <td><input type="text" size="5" name="edit_tabte" value="<? echo $liga['tabte']; ?>"></td> <td><input type="text" size="5" name="edit_vr" value="<? echo $liga['vr']; ?>"></td> <td><input type="text" size="5" name="edit_tr" value="<? echo $liga['tr']; ?>"></td> <td><? echo $liga['result']; ?></td> <td><? echo $liga['point']; ?></td> </tr> <tr> <td><input type="submit" value="Opdater" style="height:20px;"></td> </tr> </form> <? $i++; } ?>
28. marts 2007 - 18:31
#14
Egentlig ville jeg gerne have KUN én opdateringsknap, men teste lige om man kunne, hvis der var én til hver række..
28. marts 2007 - 18:32
#15
testede*
28. marts 2007 - 18:33
#16
Du har ikke nogen $_GET['id']
28. marts 2007 - 18:34
#17
om jeg har id i min database?
28. marts 2007 - 18:48
#18
>php-nybegynderen Det siger alt.. Ehmm, hvor skal jeg smide $_GET['id'] henne?
28. marts 2007 - 18:51
#19
$query = mysql_query("SELECT * FROM liga WHERE id = '" . $_GET['id'] . "' ORDER by point DESC,result DESC"); while($liga = mysql_fetch_array($query)) {
28. marts 2007 - 18:57
#20
Når du submitter fra din form har du kun $_POST-værdier og ingen af dem indeholder id-et fra rækken.
28. marts 2007 - 19:00
#21
Hvordan får jeg så indført id'et?
28. marts 2007 - 19:22
#22
28. marts 2007 - 19:30
#23
Virker stadig ikke :S <? if ($_POST['edit_klan'] != "" && $_POST['edit_vundne'] != "" && $_POST['edit_uafgjorte'] != "" && $_POST['edit_tabte'] != "" && $_POST['edit_vr'] != "" && $_POST['edit_tr'] != "") { $result = $_POST['edit_vr']-$_POST['edit_tr']; $point = $_POST['edit_vundne']*2+$_POST['edit_uafgjorte']; $query = mysql_query("UPDATE liga SET klan='" . $_POST['edit_klan'] . "',vundne='" . $_POST['edit_vundne'] . "',uafgjorte='" . $_POST['edit_uafgjorte'] . "',tabte='" . $_POST['edit_tabte'] . "',vr='" . $_POST['edit_vr'] . "',tr='" . $_POST['edit_tr'] . "',result='" . $result . "',point='" . $point . "' WHERE id='" . $_GET['id'] . "'") or die (mysql_error()); } $i = "1"; $query = mysql_query("SELECT * FROM liga ORDER by point DESC,result DESC"); while($liga = mysql_fetch_array($query)) { ?> <form action="" method="post"> <tr> <td><input type="hidden" name="id" value="<? echo $liga['id']; ?>"><? echo $i; ?></td> <td><input type="text" size="40" name="edit_klan" value="<? echo $liga['klan']; ?>"></td> <td><? echo $liga['vundne']+$liga['uafgjorte']+$liga['tabte']; ?></td> <td><input type="text" size="5" name="edit_vundne" value="<? echo $liga['vundne']; ?>"></td> <td><input type="text" size="5" name="edit_uafgjorte" value="<? echo $liga['uafgjorte']; ?>"></td> <td><input type="text" size="5" name="edit_tabte" value="<? echo $liga['tabte']; ?>"></td> <td><input type="text" size="5" name="edit_vr" value="<? echo $liga['vr']; ?>"></td> <td><input type="text" size="5" name="edit_tr" value="<? echo $liga['tr']; ?>"></td> <td><? echo $liga['result']; ?></td> <td><? echo $liga['point']; ?></td> </tr> <tr> <td><input type="submit" value="Opdater" style="height:20px;"></td> </tr> </form> <? $i++; } ?>
28. marts 2007 - 19:48
#24
Det er stadigvæk ikke en $_GET, en en $_POST li'som alle de andre.
28. marts 2007 - 19:54
#25
Tusind tak :) Smid et svar
28. marts 2007 - 19:58
#26
Ingen point til mig, tak.
28. marts 2007 - 20:01
#27
Bare i orden, men tak for hjælpen.
Vi tilbyder markedets bedste kurser inden for webudvikling