Avatar billede benjaboy Nybegynder
22. januar 2009 - 20:46 Der er 27 kommentarer og
1 løsning

50 i forvejen?

Hej.

kan man lave en kode der indsætter "ja" i række user_forsteusers i tabellen users. Men den skal kun gøre det hvis der ikke er 50 der har det i forvejen?

Ved ikke om det kan laves?

Mvh benjamin
Avatar billede majbom Novice
22. januar 2009 - 20:57 #1
$res = mysql_query("SELECT COUNT(id) AS fifty FROM users WHERE user_forsteusers='ja'") or die(mysql_error());
$rows = mysql_fetch_assoc($res);

if($rows['fifty']<50){
  //indsæt "ja" ved den pågældende bruger
}else{
  //du kommer for sent
}
Avatar billede benjaboy Nybegynder
22. januar 2009 - 21:00 #2
Den kode tjekker kun om det allerede står ja?

Det skal være en kode der indsætter ja. hvis der ikke er 50 andre der har det.

Mvh Benjamin
Avatar billede benjaboy Nybegynder
22. januar 2009 - 21:04 #3
har forstået den nu ;)

Der hvor der stå  //indsæt "ja" ved den pågældende bruger
Der skal indsætte en kode der indsætter ja i tabellen? :)
Avatar billede benjaboy Nybegynder
22. januar 2009 - 21:06 #4
$res = mysql_query("SELECT COUNT(id) AS fifty FROM users WHERE user_forsteusers='ja'") or die(mysql_error());
$rows = mysql_fetch_assoc($res);

if($rows['fifty']<50){
mysql_query("INSERT INTO getpen7_users (user_forsteusers) values (ja)WHERE user_id=$pni") or die(mysql_error());
}else{
  //du kommer for sent
}

?
Avatar billede majbom Novice
22. januar 2009 - 21:24 #5
just præcis ;)
Avatar billede benjaboy Nybegynder
22. januar 2009 - 21:50 #6
kommer med denne fejl: Unknown column 'id' in 'field list'
Avatar billede lakridserne Nybegynder
22. januar 2009 - 22:06 #7
Sæt anførselstegn rundt om tabelnavnet

/lakridserne
Avatar billede benjaboy Nybegynder
22. januar 2009 - 22:11 #8
virkede :)

ny fejl:
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 'WHERE user_id=8' at line 1
Avatar billede lakridserne Nybegynder
22. januar 2009 - 22:15 #9
Har du sat enkelte eller dobbelte anførselstegn?

/lakridserne
Avatar billede benjaboy Nybegynder
22. januar 2009 - 22:16 #10
enkel :)'
Avatar billede benjaboy Nybegynder
22. januar 2009 - 22:17 #11
det er denne kode der ikke virker:
mysql_query("INSERT INTO getpen7_users (user_forsteusers) values ('ja') WHERE user_id=$pni ") or die(mysql_error());
Avatar billede benjaboy Nybegynder
22. januar 2009 - 22:24 #12
Denne kommer ikke med nolge fejl men den indsætter heller ikke noget:

$res = mysql_query("SELECT COUNT(user_forsteusers) AS fifty FROM getpen7_users WHERE user_forsteusers='ja'") or die(mysql_error());
$rows = mysql_fetch_assoc($res);

if($rows['fifty']<50){
mysql_query("INSERT INTO getpen7_users (user_forsteusers) values ('ja') WHERE user_id="$pni" ") or die(mysql_error());
}else{
mysql_query("INSERT INTO getpen7_users (user_forsteusers) values (nej) WHERE user_id=$pni") or die(mysql_error());
}
Avatar billede benjaboy Nybegynder
22. januar 2009 - 22:26 #13
$res = mysql_query("SELECT COUNT(user_forsteusers) AS fifty FROM getpen7_users WHERE user_forsteusers='ja'") or die(mysql_error());
$rows = mysql_fetch_assoc($res);

if($rows['fifty']<50){
mysql_query("INSERT INTO getpen7_users (user_forsteusers) values ('ja') WHERE user_id="$pni"") or die(mysql_error());
}else{
mysql_query("INSERT INTO getpen7_users (user_forsteusers) values ('nej') WHERE user_id="$pni"") or die(mysql_error());
}
Avatar billede lakridserne Nybegynder
22. januar 2009 - 22:31 #14
Har du prøvet at ændre til dobbelte anførselstegn?

/lakridserne
Avatar billede benjaboy Nybegynder
22. januar 2009 - 22:54 #15
Denne virker

Hent kilde  Kode
$res = mysql_query("SELECT COUNT(user_forsteusers) AS fifty FROM getpen7_users WHERE user_forsteusers='ja'") or die(mysql_error());
$rows = mysql_fetch_assoc($res);

if($rows['fifty']<50){
echo"ja";
}else{
echo"nej";
}




Men denne virker ikke:

Hent kilde  Kode
$res = mysql_query("SELECT COUNT(user_forsteusers) AS fifty FROM getpen7_users WHERE user_forsteusers='ja'") or die(mysql_error());
$rows = mysql_fetch_assoc($res);

if($rows['fifty']<50){
mysql_query("INSERT INTO getpen7_users (user_forsteusers) values ('ja') WHERE user_id="$pni"") or die(mysql_error());
}else{
mysql_query("INSERT INTO getpen7_users (user_forsteusers) values ('nej') WHERE user_id="$pni"") or die(mysql_error());
}




Så fejlen må ligge her:
Hent kilde  Kode

mysql_query("INSERT INTO getpen7_users (user_forsteusers) values ('ja') WHERE user_id="$pni"") or die(mysql_error());




Kan bare ikke se fejlenen?
Avatar billede lakridserne Nybegynder
22. januar 2009 - 23:01 #16
Du har lavet to slut anførselstegn om variablen

/lakridserne
Avatar billede benjaboy Nybegynder
23. januar 2009 - 07:17 #17
Der jo mange anførselstegn :)

Kan du ikke prøve og rette kode til som du(eller en anden) tror den skal se ud?
Mvh Benjamin
Avatar billede majbom Novice
23. januar 2009 - 07:46 #18
ret:

mysql_query("INSERT INTO getpen7_users (user_forsteusers) values ('nej') WHERE user_id="$pni"") or die(mysql_error());

til:

mysql_query("INSERT INTO getpen7_users (user_forsteusers) values ('nej') WHERE user_id='$pni'") or die(mysql_error());
Avatar billede benjaboy Nybegynder
23. januar 2009 - 09:33 #19
Virker heller ik.
Ja prøvet med denne:

$res = mysql_query("SELECT COUNT(user_forsteusers) AS fifty FROM getpen7_users WHERE user_forsteusers='ja'") or die(mysql_error());
$rows = mysql_fetch_assoc($res);

if($rows['fifty']<50){
mysql_query("UPDATE getpen7_users SET user_forsteusers='ja' WHERE user_id="$pni"") or die(mysql_error());
}else{
echo"nej";
}

Den virker heller ikk?

Det er virkelig mærkeligt
Avatar billede majbom Novice
23. januar 2009 - 10:52 #20
prøv lige

if($rows['fifty']<50){
//mysql_query("UPDATE getpen7_users SET user_forsteusers='ja' WHERE user_id="$pni"") or die(mysql_error());
echo "under 50";
}else{
echo "over 50";
}
Avatar billede benjaboy Nybegynder
24. januar 2009 - 00:33 #21
så skriver den under 50 :)
Avatar billede majbom Novice
24. januar 2009 - 08:49 #22
så burde den altså også indsætte hvis din query ser sådan her ud:

mysql_query("UPDATE getpen7_users SET user_forsteusers='ja' WHERE user_id='$pni'") or die(mysql_error());
Avatar billede benjaboy Nybegynder
24. januar 2009 - 14:53 #23
denne her virker har testet den.


$res = mysql_query("SELECT COUNT(user_forsteusers) AS fifty FROM getpen7_users WHERE user_forsteusers='ja'") or die(mysql_error());
$rows = mysql_fetch_assoc($res);

if($rows['fifty']<50){
mysql_query("UPDATE getpen7_users SET user_forsteusers='ja' WHERE user_id='$pni'") or die(mysql_error());
}else{
echo"nej";
}

tak for hjælpen splazz.
bare smid et svar :)
Avatar billede benjaboy Nybegynder
24. januar 2009 - 15:26 #24
jeg kom i tanke om at hvis man først har fået et ja så skal det ikke kunne laves om.
kan det lade sig gøre?
Avatar billede majbom Novice
24. januar 2009 - 15:38 #25
laves om? der er jo ingen steder hvor du opdaterer den til "nej", så du kan højest opdatere den til et "ja" igen...
Avatar billede benjaboy Nybegynder
24. januar 2009 - 15:48 #26
Nej det har du ret i.

Jeg havde bare lavet den om til:

$res = mysql_query("SELECT COUNT(user_forsteusers) AS fifty FROM getpen7_users WHERE user_forsteusers='ja'") or die(mysql_error());
$rows = mysql_fetch_assoc($res);

if($rows['fifty']<50){
mysql_query("UPDATE getpen7_users SET user_forsteusers='ja' WHERE user_id='$pni'") or die(mysql_error());
}else{
mysql_query("UPDATE getpen7_users SET user_forsteusers='nej' WHERE user_id='$pni'") or die(mysql_error());
}

Men hvis jeg lader være med det. Så er der faktisk ikke noget problem ;)

Tak for hjælpen endnu engang :)
Avatar billede majbom Novice
24. januar 2009 - 16:08 #27
det har du ret i :)
Avatar billede majbom Novice
24. januar 2009 - 16:08 #28
og selv tak
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