Avatar billede inctor Nybegynder
11. november 2005 - 23:02 Der er 20 kommentarer og
1 løsning

Hvad er fejlen ? den vil ikk opdatere ?

Haii , jeg har en kode som ikke vil opdatere i min database ..  ?

<? include("inc/sql.php"); ?>
<?
if($action=="opret") {
$select_info = mysql_query("SELECT * FROM users WHERE(username='$_POST[usr]')");
$rows = mysql_fetch_array($select_info);

mysql_query("UPDATE users SET spir=spir-100 , room=room+1 WHERE username='".$_POST[usr]."'");

print "Lejligheden eR oprettet uden fejl...<br><br>";
}
?>
<table width="100%">
<form action="opretlej.php?action=opret" method="post">

<tr>
<td>Dit Brugernavn</td>
<td><input name="usr"></td>
</tr>

<tr>
<td>Rum Navnet</td>
<td><input name="navn"></td>
</tr>

<td colspan=2><input type="submit" value="opret"></td>
</tr>
</form>
</table>

Hvis jeg skriver den tekst^^^^^^^^ så opdatere den , men så snart jeg sætter    roomname=$_POST[navn]    så koden ser sån her ud:

<? include("inc/sql.php"); ?>
<?
if($action=="opret") {
$select_info = mysql_query("SELECT * FROM users WHERE(username='$_POST[usr]')");
$rows = mysql_fetch_array($select_info);

mysql_query("UPDATE users SET spir=spir-100 , room=room+1 , roomname=$_POST[navn] WHERE username='".$_POST[usr]."'");

print "Lejligheden eR oprettet uden fejl...<br><br>";
}
?>
<table width="100%">
<form action="opretlej.php?action=opret" method="post">

<tr>
<td>Dit Brugernavn</td>
<td><input name="usr"></td>
</tr>

<tr>
<td>Rum Navnet</td>
<td><input name="navn"></td>
</tr>

<td colspan=2><input type="submit" value="opret"></td>
</tr>
</form>
</table>

Såå opdatere den ikke min Database med de ting jeg har skrevet i input felterne , hvordan kan det være ??? vil helst gerne have et hurtigt svar .. :D

C'Ya ... !
Avatar billede erikjacobsen Ekspert
11. november 2005 - 23:04 #1
Formentlig

mysql_query("UPDATE users SET spir=spir-100 , room=room+1 , roomname='$_POST[navn]' WHERE username='".$_POST[usr]."'");

men husk at sætte en  or die(mysql_error())    efter, så du kan få en fejlbesked.
Avatar billede erikjacobsen Ekspert
11. november 2005 - 23:05 #2
Altså, noget i retning af:

  mysql_query("..noget sql..") or die(mysql_error());
Avatar billede inctor Nybegynder
11. november 2005 - 23:09 #3
undskyld jeg er lidt krævende nu, men hvorn får jeg den til altid at lave et lej nummer over 150 ? lej nummeret er room .. har flere spg endnu men tar et ad gangeN ..
Avatar billede inctor Nybegynder
11. november 2005 - 23:12 #4
og TaaK , de virkede .. :D hehe .. skal jeg bare have ' ' rundt om hver $_POST[ ] ?
Avatar billede erikjacobsen Ekspert
11. november 2005 - 23:16 #5
Du skal have '....' omkring værdier til tekstfelter/varchar/char. Ellers kan det ikke se det er tekst. Du kan have '...' omkring talværdier også, men kun i mysql.

"lej nummer over 150" - jeg forstår ikke hvad du spørger om.
Avatar billede inctor Nybegynder
11. november 2005 - 23:20 #6
altså nu opretter den bare room=room+1 , og room er som standard 0, det står den til når man opretter bruger, men med room+1 ligger den jo bare 0+1 sammen .. kan skrives som ligning : y=x+1 .. tror jeg nok .. :D men den skal være over 150 , altså den første oprettede lej nummer skal være over 150, og den næste 151 osv .. men der er ikke 2 brugere som må få det samme lej nummer .. så den skal altid +1 på det højeste lej nummer .. altså tjekke hvad det højeste er, ligge +1 til og opdatere i ens profil når man så trykker Opret.. forstår duH ? hehe
Avatar billede erikjacobsen Ekspert
11. november 2005 - 23:24 #7
Hvis 2 brugere ikke må få det samme nummer rum, skal du have en tabel med rum. Nummeret på et rum kan være et autoincrement felt, så du altid får et nyt. Så har du brugere ved siden af rummene, så du skal lave felter, der giver den sammenhæng mellem brugere og rum  som du ønsker - og som jeg ikke forstår ;)
Avatar billede inctor Nybegynder
11. november 2005 - 23:27 #8
det vil kræve mega meget om kodning da jeg har samlet alle felter i tabellen users .. altså alt som hører til selve chatten .. findes der ikk en kode som selv kan tjekke det ? eller kan man lave en kode som kan det ? den skal bare finde det højeste room nummer og så lægge 1 til .. det burde ikk være svært .. :)
Avatar billede erikjacobsen Ekspert
11. november 2005 - 23:41 #9
"samlet alle felter i tabellen users" - det er dårlig taktik. Du er selvfølgelig velkommen til at prøve at lave noget selv, men godt databasedesign kræver typisk lidt flere tabeller end man lige går og tror. Prøv at tage et kursus engang ;)    Jeg vil ikke hjælpe dig med en halvdårlig løsning.
Avatar billede inctor Nybegynder
11. november 2005 - 23:42 #10
Men har du ikk en midlertidig løsning ? det fordi jeg har en deadline .. hehe .. Såå .. har brug for en hurtig løsning .. Vil duH ikk nok ? Be Be .. Please .. :D
Avatar billede erikjacobsen Ekspert
12. november 2005 - 08:18 #11
Egentlig ikke. Men hvis du en gang får tid til at kigge på en "rigtigere" løsning, så sig til.
Avatar billede inctor Nybegynder
12. november 2005 - 10:38 #12
har tid til det, har udskudt min deadline lidt . såå men hvilken løsning er mest rigtigt ?? har tid nu til at kunne omkode alle filer nu , har fået til Januar nu ..
hehe ..
Avatar billede erikjacobsen Ekspert
12. november 2005 - 11:39 #13
En tabel med rum, og en tabel med brugere. Det er i hvert fald udgangspunktet.
Man skal li'som have en tabel til hver tingest, der er i systemet.
Avatar billede inctor Nybegynder
12. november 2005 - 11:43 #14
mit dumb for users tabellen ser sån ud ? hvor mange tabeller er det klogest at ligge det ud i ?

CREATE TABLE users (
  id int(5) NOT NULL auto_increment,
  username varchar(15) NOT NULL default '',
  kryppassword varchar(32) NOT NULL default '',
  x int(3) NOT NULL default '0',
  y int(3) NOT NULL default '0',
  spir decimal(19,15) NOT NULL default '0.000000000000000',
  onlinetid int(10) NOT NULL default '0',
  onlinechat int(10) NOT NULL default '0',
  logins int(4) NOT NULL default '0',
  figur varchar(120) NOT NULL default '',
  room int(4) NOT NULL default '0',
  roomname varchar(50) NOT NULL default '',
  roombg varchar(15) NOT NULL default '#A0BEBF',
  roombgpic varchar(50) NOT NULL default '',
  roommax int(2) NOT NULL default '0',
  roomlukind enum('ja','nej') NOT NULL default 'ja',
  roomstatus tinyint(1) NOT NULL default '0',
  usernamecolor varchar(30) NOT NULL default '',
  rum int(4) NOT NULL default '0',
  status tinyint(1) NOT NULL default '0',
  alder int(2) NOT NULL default '0',
  email varchar(50) NOT NULL default '',
  sex char(3) NOT NULL default '',
  answer int(10) NOT NULL default '0',
  emote varchar(15) NOT NULL default '',
  startfrom int(6) NOT NULL default '0',
  botmes varchar(200) NOT NULL default '',
  roomvisits int(4) NOT NULL default '0',
  oprettet int(10) NOT NULL default '0',
  fisk int(3) NOT NULL default '0',
  PRIMARY KEY  (id),
  UNIQUE KEY id (id,username)
) TYPE=MyISAM;



???
Avatar billede erikjacobsen Ekspert
12. november 2005 - 11:52 #15
Hvor skulle jeg vide det fra ;)  ?

Det kommer an på hvad du har i dine felter. Men prøv som jeg siger de 2 tabeller. Det der har med rummene at gøre i een tabel, og det der har med users at gøre i en anden tabel.
Avatar billede inctor Nybegynder
12. november 2005 - 11:54 #16
okay , men tror det vil kræve ekstremt meget om kodning , men jeg har fået et svar på at den opdatere Room oZz .. hehe ..
Avatar billede erikjacobsen Ekspert
12. november 2005 - 11:55 #17
"hehe" ... grin nu, græd senere. Det er ikke en god løsning. Du kan få 2 brugere med samme rum i den løsning.
Avatar billede inctor Nybegynder
12. november 2005 - 11:57 #18
men tror jeg ikk sker , der kommer ikk mange på den chat , den blir ikk spc populær .. Såå , men når vi laver update så laver jeg tabellerne om .. men ikke nu , det for meget arbejde med det samme ..
Avatar billede inctor Nybegynder
16. november 2005 - 22:19 #19
Hmm .. er lidt forvirret , fik godt nok svar på mit spg , men fik ikk en løsning ? Såå ? skal jeg bare lukke ellR skal du have pointene for svaret ?
Avatar billede erikjacobsen Ekspert
16. november 2005 - 22:37 #20
Jeg samler slet ikke på point, tak.
Avatar billede inctor Nybegynder
16. november 2005 - 22:37 #21
okey , så lukker jeg det bare ..
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