Avatar billede zeiox Nybegynder
20. december 2003 - 19:52 Der er 6 kommentarer

Hvordan får jeg det til at virke ? Til 3D-Chat

Hej Eksperter

Jeg har et problem!

Jeg har et script så brugere på min 3D-Chat kan bestille en Lejlighed når de har 25 spir. Men jeg bruger rand() funktionen til at vælge et lejligheds nummer. Men jeg vil gerne have gjort så den ikke vælger de rum der eksisterer i Databasen...

-Script-

<? include("../inc/sql.php"); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<link rel="stylesheet" HREF="http://www.nss.frac.dk/style.css" type="text/css">
<meta name="generator" content="Namo WebEditor v5.0(Trial)">
</head>

<p align="center"><b><u><font size="4" face="Tahoma">Bestil Lejlighed</font></u></b></p>
<p align="center">
<?
$result = mysql_query("SELECT * FROM users WHERE id ='$id'") or die(mysql_error());
$row = mysql_fetch_array($result);
$pris = 25;
$rum = rand(150,350);

if ($row[spir] <= $pris) {
echo "Du har ikke råd til en Lejlighed. Du har ikke 25 coinz.";

} else {
mysql_query("INSERT INTO users (room, roomname) values ('$rum','$row[username]')") or die(mysql_error());
mysql_query("UPDATE users SET spir=spir-$pris where id='$id'") or die(mysql_error());
}
?>
</body>
</html>

-/Script-
Avatar billede zeiox Nybegynder
20. december 2003 - 20:02 #1
har lige rettet:

} else {
mysql_query("INSERT INTO users (room, roomname) values ('$rum','$row[username]')") or die(mysql_error());
mysql_query("UPDATE users SET spir=spir-$pris where id='$id'") or die(mysql_error());
}

til

} else {
mysql_query("UPDATE users SET room='$rum',roomname=$row[username] WHERE(id='$id')");
mysql_query("UPDATE users SET spir=spir-$pris where id='$id'") or die(mysql_error());
echo "Du har nu fået Lejlighed."
}
Avatar billede rzj Nybegynder
20. december 2003 - 23:19 #2
det behøver du ikke at bruge php til. Du kan gøre det med sql:
SELECT DISTINCT room FROM users
  WHERE NOT EXISTS (SELECT room FROM users
                    WHERE room>150 AND room<350 ORDER BY room LIMIT 0,1);

ovenstående udtrækker rum nr. mellem 150 til 350 og vælger det første tal.
Du skulle få fortløbende tal.
Håber det virker....
/raz
Avatar billede rzj Nybegynder
20. december 2003 - 23:21 #3
alternativt kan du udtrække et tal med php (som du allerede gør i ovenstående) og så tjekke om tallet er brugt i forvejen.
Men det vil være fornemt bare at udtrække det fra databasen...direkte
Avatar billede zeiox Nybegynder
21. december 2003 - 09:30 #4
Kan i ikke lige kode det ind i mit ?
Avatar billede zeiox Nybegynder
21. december 2003 - 09:32 #5
Jeg vil jo gerne have så det samme nummer ikke bliver valgt
Avatar billede zeiox Nybegynder
21. december 2003 - 11:37 #6
Det jeg skal bruge scriptet til er  at jeg ikke altid vil til at uploade de ting jeg tester
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

IT-JOB

Netcompany A/S

IT Consultant

Roskilde Universitet

AV Tekniker

BEC Financial Technologies

Development Manager for Core Banking

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger sektionschef til Systemafdelingen i Hvidovre