09. september 2005 - 22:18
Der er
34 kommentarer og 1 løsning
Give point til flere.
Hejsa. Har lavet en "boks" hvor man kan markere dem som har et kryds i "svar" i databasen. Men problemet er hvis jeg vælger 2 personer fx. så indsætter den ikke i databasen. Men hvis jeg kun gør det med én virker det fedt. Hvad gør jeg?? if ($_SESSION[brugernavn] == "$row[af]" && $row[status] != "lukket"){ mysql_query("UPDATE brugere SET point=point+$row[point] WHERE brugernavn = '$_POST[svar]'");
Annonceindlæg fra HP
09. september 2005 - 22:22
#1
Har en: <SELECT multiple size=1 name=svar>
09. september 2005 - 23:22
#2
Du kunne ændre din sql til: mysql_query("UPDATE brugere SET point=point+$row[point] WHERE brugernavn IN ('".implode(',',$_POST[svar])."')"); Men dine point skal vel også deles om de gives til 1 eller flere?
10. september 2005 - 11:32
#3
Vi siger $row[point] indholder 100. Så altså hvis nu man har valgt én person i $_POST[svar] skal han have 100. Hvis der er 2 valgte i $_POST[svar] skal de deles mellem de 2, dvs. 50 til hver. Hvis der er 3 valgte i $_POST[svar] skal de deles mellem de 3, dvs. 33 til hver. Forstår du?
10. september 2005 - 11:52
#4
Så skal vi lave: $pointPrBruger = $row['point'] / count($_POST['svar']); mysql_query("UPDATE brugere SET point=point+".$pointPrBruger." WHERE brugernavn IN ('".implode(',',$_POST[svar])."')");
10. september 2005 - 11:55
#5
Hm, virker da ikke :|?
10. september 2005 - 11:56
#6
Hvorfor ikke? Får du sql fejl?
10. september 2005 - 11:57
#7
Får ingen. Men der ligger en fejl isted, for prøvede at køre en javascript alert, og den kom ikke. Jeg testede på 2 brugere og ingen af os fik point.
10. september 2005 - 11:58
#8
Vis mig lige din kode?
10. september 2005 - 12:01
#9
<?php session_start(); include("inc/db.php"); $a = mysql_query("SELECT * FROM spm WHERE id = '$_GET[id]'"); $row = mysql_fetch_array($a); if ($_SESSION[brugernavn] == "$row[af]" && $row[status] != "lukket"){ $pointPrBruger = $row['point'] / count($_POST['svar']); mysql_query("UPDATE brugere SET point=point+".$pointPrBruger." WHERE brugernavn IN ('".implode(',',$_POST[svar])."')"); mysql_query("UPDATE spm SET status='lukket' WHERE id = '$_GET[id]'"); print "<script>location.href='?page=showSpm&id=$_GET[id]'; </script>"; } else { echo "<script>location.href='?page=fejl&fejlen=Du er ikke ejeren af dette spørgsmål!'; </script>"; } ?>
10. september 2005 - 12:03
#10
og kører med: <SELECT multiple size=1 name=svar> <OPTION value="ham" selected>ham</OPTION> OPTION value="hende" selected>HENDE</OPTION> OPTION value="test" selected>TEST</OPTION> OPTION value="a" selected>A</OPTION> </select> - html eksempel.
10. september 2005 - 12:08
#11
Test lige denne kode: <?php session_start(); include("inc/db.php"); $a = mysql_query("SELECT * FROM spm WHERE id = ".$_GET['id']." LIMIT 1"); $row = mysql_fetch_array($a); if ($_SESSION[brugernavn] == $row['af'] && $row['status'] != "lukket") { $pointPrBruger = $row['point'] / count($_POST['svar']); mysql_query("UPDATE brugere SET point=point+".$pointPrBruger." WHERE brugernavn IN ('".implode(',',$_POST[svar])."')"); if(mysql_affected_rows() == 0) { echo mysql_errno() . ": " . mysql_error() . "\n"; exit(); } mysql_query("UPDATE spm SET status='lukket' WHERE id = ".$_GET[id]." LIMIT 1"); if(mysql_affected_rows() == 0) { echo mysql_errno() . ": " . mysql_error() . "\n"; exit(); } print "<script>location.href='?page=showSpm&id=$_GET[id]'; </script>"; } else { echo "<script>location.href='?page=fejl&fejlen=Du er ikke ejeren af dette spørgsmål!'; </script>"; } ?>
10. september 2005 - 12:11
#12
Warning: implode(): Bad arguments. in /local/forum/accept.php on line 11 0:
10. september 2005 - 12:14
#13
Ret til: $pointPrBruger = $row['point'] / count($_POST['svar']); $brugere = "'".implode(",",$_POST[svar])."'"; mysql_query("UPDATE brugere SET point=point+".$pointPrBruger." WHERE brugernavn IN ('".$brugere."')");
10. september 2005 - 12:16
#14
Siger det samme? Warning: implode(): Bad arguments. in local/forum/accept.php on line 11 0:
10. september 2005 - 12:18
#15
Prøv lige at skriv: echo "<pre>"; print_r($_POST['svar']); echo "</pre>";
10. september 2005 - 12:18
#16
Prøv lige inden at ret: <SELECT multiple size=1 name=svar> <OPTION value="ham" selected>ham</OPTION> OPTION value="hende" selected>HENDE</OPTION> OPTION value="test" selected>TEST</OPTION> OPTION value="a" selected>A</OPTION> </select> til: <SELECT multiple size=1 name=svar[]> <OPTION value="ham" selected>ham</OPTION> OPTION value="hende" selected>HENDE</OPTION> OPTION value="test" selected>TEST</OPTION> OPTION value="a" selected>A</OPTION> </select> Bemærk: svar[]
10. september 2005 - 12:19
#17
hm... udskriver kun én selvom jeg har sat 2 på :|
10. september 2005 - 12:20
#18
Array ( [0] => testbruger [1] => EJER )
10. september 2005 - 12:21
#19
Array, var det efter: svar[] ?
10. september 2005 - 12:21
#20
Ja. også: echo "<pre>"; print_r($_POST['svar']); echo "</pre>";
10. september 2005 - 12:23
#21
Så test lige koden fra: 1208 med rettelsen fra 1214 igen!
10. september 2005 - 12:24
#22
Ingen af os får "point"
10. september 2005 - 12:26
#23
Og der kommer ingen fejl?
10. september 2005 - 12:26
#24
Nej, den går bare til ?page=showSpm
10. september 2005 - 12:27
#25
Jeg må kigge på det senere, skal ud af døren!
10. september 2005 - 12:28
#26
Helt iorden. Vi høres ved.
10. september 2005 - 14:27
#27
Kan det være fordi mit felt "point" er varchar og ikke int?
10. september 2005 - 16:47
#28
Uha! Point bør vel være int, da det altid er tal!
10. september 2005 - 17:03
#29
Fixer lige og tjekker
10. september 2005 - 17:05
#30
Virker desværre hellere ikke? - Hvad gør "vi"?
10. september 2005 - 17:12
#31
Kontakt mig på msn: jakobdo (at) hotmail (dot) com
10. september 2005 - 18:12
#32
Svar!
10. september 2005 - 18:12
#33
PS, du bør måske skrive din fulde kode herinde, så andre kan se det endelige svar!
10. september 2005 - 18:13
#34
Skal jeg huske ! :) Tak for svaret.
10. september 2005 - 18:17
#35
Takker for point!
Vi tilbyder markedets bedste kurser inden for webudvikling