Avatar billede whyme Nybegynder
10. juni 2004 - 22:53 Der er 19 kommentarer og
1 løsning

Tabel bliver opdateret, men det skal den ikke, hjælp.

Hejsa.

Jeg har noget kodeværk, et par sider, men der er en del kodning, så det er svært at poste det m.v.

Jeg leder derfor efter en som vil hjælpe med lidt php og mysql fejlfinding via msn eller icq.

Det drejer sig om én tabel og ca. 1-5 php sider, og fejlen er at et felt i tabellen bliver opdateret forkert, og jeg kan ikke finde fejlen eller noget som helst, og det vil være meget lettere at forklare via msn eller icq.

Hvis der er nogen der kan hjælpe, vil jeg poste hvad vi finder frem til, her på eksperten.

På forhånd tak.
Avatar billede michael_stim Ekspert
10. juni 2004 - 23:02 #1
Er det kun en tabel og 4-5 sider kan vi nok klare det her, tror du ikke?
Avatar billede michael_stim Ekspert
10. juni 2004 - 23:03 #2
Du kan jo starte med at sige hvad det er for et felt, og sende alle sql-querys der indeholder update eller insert.
Avatar billede whyme Nybegynder
11. juni 2004 - 00:10 #3
Skal lige siges det er en chat, hvor man har sådanne små figurer, og problemet er når jeg rykker figurerne, så sker der sjove ting i mysql, eks. at jeg flytter en person til felt 33, så ryger han hen i nr. 31 i stedet.

Jeg har en tabel, her er eksport:
brugerid = hvis en bruger er logget ind, og er i et felt, står brugerens id her.
chatid = hvilken chat man er i.
felt = definitionen af feltet
usable = ja - dette er bare til at jeg tænkte på at lave nogle felter man ikke kan gå hen i.
Det skal siges at chatid = 1, da jeg kun har 1 chat.
og i denne tabel er der 60 rækker (det er hvad der er plads til på det lille billede/baggrund, som figurer går rundt på.

CREATE TABLE `brugere_online` (
  `id` int(11) NOT NULL auto_increment,
  `brugerid` int(11) NOT NULL default '0',
  `chatid` int(11) NOT NULL default '0',
  `felt` int(11) NOT NULL default '0',
  `usable` enum('ja','nej') NOT NULL default 'ja',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=121 ;

Rækker:

INSERT INTO `brugere_online` VALUES (1, 0, 1, 1, 'ja');
INSERT INTO `brugere_online` VALUES (2, 0, 1, 2, 'ja');
INSERT INTO `brugere_online` VALUES (3, 0, 1, 3, 'ja');
INSERT INTO `brugere_online` VALUES (4, 0, 1, 4, 'ja');
INSERT INTO `brugere_online` VALUES (5, 0, 1, 5, 'ja');
INSERT INTO `brugere_online` VALUES (6, 0, 1, 6, 'ja');
INSERT INTO `brugere_online` VALUES (7, 0, 1, 7, 'ja');
INSERT INTO `brugere_online` VALUES (8, 0, 1, 8, 'ja');
INSERT INTO `brugere_online` VALUES (9, 0, 1, 9, 'ja');
INSERT INTO `brugere_online` VALUES (10, 0, 1, 10, 'ja');
INSERT INTO `brugere_online` VALUES (11, 0, 1, 11, 'ja');
INSERT INTO `brugere_online` VALUES (12, 0, 1, 12, 'ja');
INSERT INTO `brugere_online` VALUES (13, 0, 1, 13, 'ja');
INSERT INTO `brugere_online` VALUES (14, 0, 1, 14, 'ja');
INSERT INTO `brugere_online` VALUES (15, 0, 1, 15, 'ja');
INSERT INTO `brugere_online` VALUES (16, 0, 1, 16, 'ja');
INSERT INTO `brugere_online` VALUES (17, 0, 1, 17, 'ja');
INSERT INTO `brugere_online` VALUES (18, 0, 1, 18, 'ja');
INSERT INTO `brugere_online` VALUES (19, 0, 1, 19, 'ja');
INSERT INTO `brugere_online` VALUES (20, 0, 1, 20, 'ja');
INSERT INTO `brugere_online` VALUES (21, 0, 1, 21, 'ja');
INSERT INTO `brugere_online` VALUES (22, 0, 1, 22, 'ja');
INSERT INTO `brugere_online` VALUES (23, 0, 1, 23, 'ja');
INSERT INTO `brugere_online` VALUES (24, 0, 1, 24, 'ja');
INSERT INTO `brugere_online` VALUES (25, 0, 1, 25, 'ja');
INSERT INTO `brugere_online` VALUES (26, 0, 1, 26, 'ja');
INSERT INTO `brugere_online` VALUES (27, 0, 1, 27, 'ja');
INSERT INTO `brugere_online` VALUES (28, 0, 1, 28, 'ja');
INSERT INTO `brugere_online` VALUES (29, 0, 1, 29, 'ja');
INSERT INTO `brugere_online` VALUES (30, 0, 1, 30, 'ja');
INSERT INTO `brugere_online` VALUES (31, 0, 1, 31, 'ja');
INSERT INTO `brugere_online` VALUES (32, 0, 1, 32, 'ja');
INSERT INTO `brugere_online` VALUES (33, 0, 1, 33, 'ja');
INSERT INTO `brugere_online` VALUES (34, 0, 1, 34, 'ja');
INSERT INTO `brugere_online` VALUES (35, 0, 1, 35, 'ja');
INSERT INTO `brugere_online` VALUES (36, 0, 1, 36, 'ja');
INSERT INTO `brugere_online` VALUES (37, 0, 1, 37, 'ja');
INSERT INTO `brugere_online` VALUES (38, 0, 1, 38, 'ja');
INSERT INTO `brugere_online` VALUES (39, 0, 1, 39, 'ja');
INSERT INTO `brugere_online` VALUES (40, 0, 1, 40, 'ja');
INSERT INTO `brugere_online` VALUES (41, 0, 1, 41, 'ja');
INSERT INTO `brugere_online` VALUES (42, 0, 1, 42, 'ja');
INSERT INTO `brugere_online` VALUES (43, 0, 1, 43, 'ja');
INSERT INTO `brugere_online` VALUES (44, 0, 1, 44, 'ja');
INSERT INTO `brugere_online` VALUES (45, 0, 1, 45, 'ja');
INSERT INTO `brugere_online` VALUES (46, 0, 1, 46, 'ja');
INSERT INTO `brugere_online` VALUES (47, 0, 1, 47, 'ja');
INSERT INTO `brugere_online` VALUES (48, 0, 1, 48, 'ja');
INSERT INTO `brugere_online` VALUES (49, 0, 1, 49, 'ja');
INSERT INTO `brugere_online` VALUES (50, 0, 1, 50, 'ja');
INSERT INTO `brugere_online` VALUES (51, 0, 1, 51, 'ja');
INSERT INTO `brugere_online` VALUES (52, 0, 1, 52, 'ja');
INSERT INTO `brugere_online` VALUES (53, 0, 1, 53, 'ja');
INSERT INTO `brugere_online` VALUES (54, 0, 1, 54, 'ja');
INSERT INTO `brugere_online` VALUES (55, 0, 1, 55, 'ja');
INSERT INTO `brugere_online` VALUES (56, 0, 1, 56, 'ja');
INSERT INTO `brugere_online` VALUES (57, 0, 1, 57, 'ja');
INSERT INTO `brugere_online` VALUES (58, 0, 1, 58, 'ja');
INSERT INTO `brugere_online` VALUES (59, 0, 1, 59, 'ja');
INSERT INTO `brugere_online` VALUES (60, 0, 1, 60, 'ja');
Avatar billede whyme Nybegynder
11. juni 2004 - 00:11 #4
Når så en bruger "rykker" sig når de er logget inde, har jeg en fil. Som sætter brugerid = "ham som er logget ind" hvor felt = "det felt man har valgt".

Grundet til jeg har lavet det på denne måde, er for at kunne have hvert enkelt felt defineret, så det er muligt at lave nogle felter som man ikke kan gå hen i, eksempelvis.
Avatar billede whyme Nybegynder
11. juni 2004 - 00:15 #5
Jeg har en move.php som bliver brugt når man klikker på et felt, eksempelvis som:
min javascript som går hen til move.php:
<script language="javascript" type="text/javascript">
function mv(felt) {
parent.chat.location = 'move.php?chatid=<?php echo $_GET['chatid']; ?>&felt='+felt;
}
</script>

Dette er den kode som er i move.php:

<?php
if ($_GET['felt'] AND $_GET['chatid']) { // hvis variablerne findes
    include ("inc/mysql.inc.php"); // hent db connection
   
$tjek = mysql_query("SELECT * FROM brugere_online WHERE brugerid = '$_COOKIE[bruger]'"); // hent den bruger som skal flyttes
$row = mysql_fetch_array($tjek);

mysql_query("UPDATE brugere_online SET brugerid = '$_COOKIE[bruger]' WHERE felt = '$_GET[felt]' AND brugerid = '0' AND usable = 'ja' AND chatid = '$_GET[chatid]'") or die(mysql_error()); // ændre denne bruger, så han nu står i et andet felt.

if (mysql_affected_rows() > 0) { // hvis han kunne flytte det til felt, gå videre (kunne tænkes der allerede var en i feltet, og derfor kunne man ikke flytte
    mysql_query("UPDATE brugere_online SET brugerid = '0' WHERE felt = '$row[felt]' AND chatid = '$row[chatid]'") or die(mysql_error()); // slet der hvor figuren stod før
}

header ("Location: chat.php?chatid=$_GET[chatid]"); // går hen til chat igen, så man kan se den figur man lige har rykket.
}

?>
Avatar billede whyme Nybegynder
11. juni 2004 - 00:16 #6
Jeg har prøvet at skrive nogle kommentarer: //
for at prøve bedst muligt at forklare hvad det er jeg prøver på.
Avatar billede whyme Nybegynder
11. juni 2004 - 00:17 #7
Jeg har også:

INSERT INTO `brugere_online` VALUES (61, 0, 2, 1, 'ja');
INSERT INTO `brugere_online` VALUES (62, 0, 2, 2, 'ja');
INSERT INTO `brugere_online` VALUES (63, 0, 2, 3, 'ja');
INSERT INTO `brugere_online` VALUES (64, 0, 2, 4, 'ja');
INSERT INTO `brugere_online` VALUES (65, 0, 2, 5, 'ja');
INSERT INTO `brugere_online` VALUES (66, 0, 2, 6, 'ja');
INSERT INTO `brugere_online` VALUES (67, 0, 2, 7, 'ja');
INSERT INTO `brugere_online` VALUES (68, 0, 2, 8, 'ja');
INSERT INTO `brugere_online` VALUES (69, 0, 2, 9, 'ja');
INSERT INTO `brugere_online` VALUES (70, 0, 2, 10, 'ja');
INSERT INTO `brugere_online` VALUES (71, 0, 2, 11, 'ja');
INSERT INTO `brugere_online` VALUES (72, 0, 2, 12, 'ja');
INSERT INTO `brugere_online` VALUES (73, 0, 2, 13, 'ja');
INSERT INTO `brugere_online` VALUES (74, 0, 2, 14, 'ja');
INSERT INTO `brugere_online` VALUES (75, 0, 2, 15, 'ja');
INSERT INTO `brugere_online` VALUES (76, 0, 2, 16, 'ja');
INSERT INTO `brugere_online` VALUES (77, 0, 2, 17, 'ja');
INSERT INTO `brugere_online` VALUES (78, 0, 2, 18, 'ja');
INSERT INTO `brugere_online` VALUES (79, 0, 2, 19, 'ja');
INSERT INTO `brugere_online` VALUES (80, 0, 2, 20, 'ja');
INSERT INTO `brugere_online` VALUES (81, 0, 2, 21, 'ja');
INSERT INTO `brugere_online` VALUES (82, 0, 2, 22, 'ja');
INSERT INTO `brugere_online` VALUES (83, 0, 2, 23, 'ja');
INSERT INTO `brugere_online` VALUES (84, 0, 2, 24, 'ja');
INSERT INTO `brugere_online` VALUES (85, 0, 2, 25, 'ja');
INSERT INTO `brugere_online` VALUES (86, 0, 2, 26, 'ja');
INSERT INTO `brugere_online` VALUES (87, 0, 2, 27, 'ja');
INSERT INTO `brugere_online` VALUES (88, 0, 2, 28, 'ja');
INSERT INTO `brugere_online` VALUES (89, 0, 2, 29, 'ja');
INSERT INTO `brugere_online` VALUES (90, 0, 2, 30, 'ja');
INSERT INTO `brugere_online` VALUES (91, 0, 2, 31, 'ja');
INSERT INTO `brugere_online` VALUES (92, 0, 2, 32, 'ja');
INSERT INTO `brugere_online` VALUES (93, 0, 2, 33, 'ja');
INSERT INTO `brugere_online` VALUES (94, 0, 2, 34, 'ja');
INSERT INTO `brugere_online` VALUES (95, 0, 2, 35, 'ja');
INSERT INTO `brugere_online` VALUES (96, 0, 2, 36, 'ja');
INSERT INTO `brugere_online` VALUES (97, 0, 2, 37, 'ja');
INSERT INTO `brugere_online` VALUES (98, 0, 2, 38, 'ja');
INSERT INTO `brugere_online` VALUES (99, 0, 2, 39, 'ja');
INSERT INTO `brugere_online` VALUES (100, 0, 2, 40, 'ja');
INSERT INTO `brugere_online` VALUES (101, 0, 2, 41, 'ja');
INSERT INTO `brugere_online` VALUES (102, 0, 2, 42, 'ja');
INSERT INTO `brugere_online` VALUES (103, 0, 2, 43, 'ja');
INSERT INTO `brugere_online` VALUES (104, 0, 2, 44, 'ja');
INSERT INTO `brugere_online` VALUES (105, 0, 2, 45, 'ja');
INSERT INTO `brugere_online` VALUES (106, 0, 2, 46, 'ja');
INSERT INTO `brugere_online` VALUES (107, 0, 2, 47, 'ja');
INSERT INTO `brugere_online` VALUES (108, 0, 2, 48, 'ja');
INSERT INTO `brugere_online` VALUES (109, 0, 2, 49, 'ja');
INSERT INTO `brugere_online` VALUES (110, 0, 2, 50, 'ja');
INSERT INTO `brugere_online` VALUES (111, 0, 1, 51, 'ja');
INSERT INTO `brugere_online` VALUES (112, 0, 2, 52, 'ja');
INSERT INTO `brugere_online` VALUES (113, 0, 2, 53, 'ja');
INSERT INTO `brugere_online` VALUES (114, 0, 2, 54, 'ja');
INSERT INTO `brugere_online` VALUES (115, 0, 2, 55, 'ja');
INSERT INTO `brugere_online` VALUES (116, 0, 2, 56, 'ja');
INSERT INTO `brugere_online` VALUES (117, 0, 2, 57, 'ja');
INSERT INTO `brugere_online` VALUES (118, 0, 2, 58, 'ja');
INSERT INTO `brugere_online` VALUES (119, 0, 2, 59, 'ja');
INSERT INTO `brugere_online` VALUES (120, 0, 2, 60, 'ja');

altså en chat ved navn 2.

Dog bliver denne ikke brugt endnu, men den er der.
Avatar billede whyme Nybegynder
11. juni 2004 - 00:18 #8
Problemet er så, når jeg trykker på et felt, hvorefter figuren skal opdateres i databasen og fjernes fra gamle felt, så bliver det ikke opdateret med det felt som jeg har trykket på... nogle gange, jo, men andre gange bliver det i et andet felt figuren kommer til at stå, fordi mysql tabellen har forkerte oplysninger... men jeg synes min mysql query er god nok, kan ikke finde fejl.
Avatar billede whyme Nybegynder
11. juni 2004 - 00:19 #9
michael_stim: sig til hvis du vil have flere informationer.
Avatar billede michael_stim Ekspert
11. juni 2004 - 00:49 #10
Hvilken database bruger du?
Avatar billede michael_stim Ekspert
11. juni 2004 - 00:49 #11
MySQL så jeg nu.
Avatar billede michael_stim Ekspert
11. juni 2004 - 00:50 #12
Virker noget af det her?
Avatar billede michael_stim Ekspert
11. juni 2004 - 00:54 #13
Hvis du skal checke om varabler findes skal dette:
if ($_GET['felt'] AND $_GET['chatid']) { // hvis variablerne findes
byttes til dette:
if (isset($_GET['felt']) AND isset($_GET['chatid'])) { // hvis variablerne findes

Alle dine felter i tabellen er integer (nästen), der skal ikke '' rundt om i dine SQL-querys:
mysql_query("UPDATE brugere_online SET brugerid = 0 WHERE felt = $row[felt] AND chatid = $row[chatid]") or die(mysql_error()); // slet der hvor figuren stod før
Avatar billede michael_stim Ekspert
11. juni 2004 - 00:56 #14
Går i seng nu. Kikker videre på det imorgen.
Avatar billede michael_stim Ekspert
11. juni 2004 - 00:58 #15
if (isset($_GET['felt']) AND isset($_GET['chatid'])) { // hvis variablerne findes

if (isset($_GET['felt']) && isset($_GET['chatid'])) { // hvis variablerne findes
En fejl mere.
Avatar billede whyme Nybegynder
11. juni 2004 - 20:00 #16
De rettelser du skriver, er ting som kan skrives anderledes... det påvirker ikke resultatet desværre.
Avatar billede michael_stim Ekspert
12. juni 2004 - 02:56 #17
Jeg vil jo nok mene at det påvirker en del at du skriver med eller uden '. Databasen tolker det som en character hvis du skriver med '. Hvis du derimod skriver ` så påvirker det ikke noget at det er en integer.
Avatar billede whyme Nybegynder
12. juni 2004 - 09:00 #18
Jo, men så vil den skrive "0" hvis der var problemer i databasen..

men den skriver i et felt f.eks. "2" så det ser ud til at virke... det er bare forkert det den gør..
Avatar billede michael_stim Ekspert
12. juni 2004 - 12:23 #19
Nej, den vil ikke skrive "0", du burde få en fejl, det er det jeg ikke forstår.
Avatar billede whyme Nybegynder
18. juni 2004 - 18:35 #20
lukker... fandt ikke problemet..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester