Avatar billede kane Juniormester
25. juni 2004 - 21:50 Der er 26 kommentarer og
2 løsninger

En led sql

Hej
jeg har 2 felter som skal checke om de passer sammen med 2 andre felter i en anden tabel plus at det skal være det rigtige Id.

jeg skriver det på dansk, så håber jeg der er en der kan oversætte til sql'elsk.

SELECT * FROM resultat where Id = '$_GET[Id]' <------her kommer det----> home og out = slut_home og slut_out i table spil.

hvis begge passer skal det kunne skrive...Du vandt.
Avatar billede erikjacobsen Ekspert
25. juni 2004 - 21:53 #1
Er der flere rækker i slut_home/slut_out tabellen, og i givet fald, hvordan ser du
så hvilken det skal være?
Avatar billede styless Nybegynder
25. juni 2004 - 21:53 #2
" where Id = ' . $_GET[Id] . ' out = slut_home AND out = slut_out"

??? Sådan?
Avatar billede jaw Nybegynder
25. juni 2004 - 21:56 #3
$row_table1 = mysql_fetch_array(mysql_query("SELECT resultat FROM tabel1 WHERE Id = '$_GET[Id] AND home = 'slut_home' AND out = 'slut_out'));
$row_table2 = mysql_fetch_array(mysql_query("SELECT resultat FROM tabel2 WHERE Id = '$_GET[Id] AND home = 'slut_home' AND out = 'slut_out'));

if($row_table1[resultat] == $row_table2[resultat]) {
  echo "Du vandt";
} else {
  echo "Du tabte";
}

Er det sådan du mener? Og det kan garanteret gøres nemmere hvis det er...
Avatar billede korup Nybegynder
25. juni 2004 - 21:59 #4
SELECT * FROM resultat, spil WHERE resultat.id = '$_GET[Id]' AND resultat.home = spil.slut_home AND resultat.slut = spil.slut_out;

Skulle jeg mene ville virke..

/korup
Avatar billede kane Juniormester
26. juni 2004 - 12:11 #5
Prøvede med denne her (fik rettet dem til så de hedder det rigtige.)

$row_table1 = mysql_fetch_array(mysql_query("SELECT * from resultat  WHERE Id = '$_GET[id] AND home = 'home' AND out = 'out'"));
$row_table2 = mysql_fetch_array(mysql_query("SELECT * from spil WHERE Id = '$_GET[id] AND Slut_home = 'Slut_home' AND slut_out = 'slut_out'"));

if ( ($row_table1["resultat"] == ($row_table2["spil"])))
  echo "Du vandt" ;
else
  echo "Du tabte";
}

<--------får denne fejl------->

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /server/www/cid100472/kagetips.dk/wwwroot/Se2.php on line 191

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /server/www/cid100472/kagetips.dk/wwwroot/Se2.php on line 192
Avatar billede kane Juniormester
26. juni 2004 - 12:15 #6
erikjacobsen.
slut_home og slut_out er ikke en tabel, men en row i tabelen spil. slut_home og slut_out er slut scorre på den given kamp.

home og out er row i tabelen resultat som hver bruger kan tippe på hvad de tror kampen bliver.

når den bruger der har oprettet kampen, skriver slut scorren, skal den checke med de andre brugers resultat og skrive hvem der har vundet.
Avatar billede erikjacobsen Ekspert
26. juni 2004 - 13:11 #7
Det er også det jeg mener, tabellen med slut_home og slut/out ;)
Hvordan ser du så hvilke resultater der hører til hvilke kampe?
Avatar billede kane Juniormester
26. juni 2004 - 13:13 #8
ved hjælp af Id........hvert spil har sit eget Id
Avatar billede erikjacobsen Ekspert
26. juni 2004 - 13:17 #9
Men den 'Id' du har, er det ikke brugerens id?  Du må hellere vise os alt om
de 2 tabeller.
Avatar billede kane Juniormester
26. juni 2004 - 13:26 #10
Spil Tabellen
Id----Spillets ID
Game-------kampen (kunne være Danmark - Tjekkiet)
Spiller_Id---------Brugerens Id
Spil_Lukker--------en dato hvor man lukker for spillet.
Luk-------1 hvis spillet er lukket.
Slut_home---------slut score for hjemme holdet.
Slut_out----------slut score for ude holdet.

<----------------------------------------------------------------------------------->

Resultat tabellen.

Id--------spillets Id
game-------kampen
Spiller_Id--------brugeren
home-------hvad man tipper på hjemme holdet.
out--------hvad man tipper på ude holdet.
Godkend-------------1 hvis bruger har betalt.

<----------------------------------------------------------------------------------->

Det jeg ønsker er så at når ham der har oprettet spillet gemmer slut scoren i Slut_home og Slut_out, når man så kigger på den side hvor spillet er på, skal den skrive ud for den spiller der har den samme score. Du har vundet.
Avatar billede erikjacobsen Ekspert
26. juni 2004 - 13:33 #11
Jeg forstår ikke hvorfor game og spillerid står begge steder?
Avatar billede kane Juniormester
26. juni 2004 - 13:35 #12
game er hvad kampen hedder og Spiller_Id er brugerens Id
Avatar billede kane Juniormester
26. juni 2004 - 13:36 #13
hvorfor de står der begge steder er, jeg skal jo vide hvem der har oprettet kampen (tabel spil) og hvad kampen hedder.
Avatar billede kane Juniormester
26. juni 2004 - 13:39 #14
men det er kun Slut_home og Slut_out(i spil tabel)  som skal sammenlignes men home og out i resultat Tabel. hvis home og out i resultat passer med Slut_home og slut_out i spil tabel, skal den skrive.....du har vundet
Avatar billede erikjacobsen Ekspert
26. juni 2004 - 13:41 #15
Hvis du i resultat tabellen har stående spillets id i spil tabellen, så kan du jo få navnet via denne (en join). Men ok, de er så ens for samme kamp.

Spiller_Id siger du så i den ene er den, der har oprettet kampen (i spil tabellen?),
men i den anden den der har tippet et resultat. Er det korrekt?
Avatar billede kane Juniormester
26. juni 2004 - 13:44 #16
det er rigtigt ja
Avatar billede erikjacobsen Ekspert
26. juni 2004 - 13:48 #17
Det kunne du jo bare have sagt i går, så havde vi en chance for at hjælper dig ;)
Prøv (ganske utestet):

$id=$_GET['id];
$sql="select resultat.Spiller_Id from resultat,spil where spil.Id='$id' and spil.Id=resultat.Id and resultat.home=spil.Slut_home and resultat.out=resultat.Slut_out and spil.Luk=1 and resultat.Godkend=1"

Så får du id-erne på dem der har vundet - jeg tog lidt ekstra betingelser med, nemlig
om kampen er afsluttet og brugeren har betalt.
Avatar billede kane Juniormester
26. juni 2004 - 13:55 #18
ummm hvad skal jeg så skrive der hvor der skal stå...."du har vundet"

hvilken felt eller hvad skal den skrive?
Avatar billede erikjacobsen Ekspert
26. juni 2004 - 14:06 #19
Du skal udføre sql-en, og så får du id-erne på de personer, der har ramt rigtigt.
Det skal du gøre i PHP.
Avatar billede kane Juniormester
26. juni 2004 - 14:32 #20
<?php
$Id=$_GET['id'];
$sql="select resultat.Spiller_Id from resultat,spil where spil.Id='$id' and spil.Id=resultat.Id and resultat.home=spil.Slut_home and resultat.out=resultat.slut_out"

?>

sådan her ikk?
Avatar billede erikjacobsen Ekspert
26. juni 2004 - 14:51 #21
Det er noget af det, men du skal også udføre sql-sætningen.
Avatar billede kane Juniormester
26. juni 2004 - 15:07 #22
ummm der er jeg lidt lost.
Avatar billede erikjacobsen Ekspert
26. juni 2004 - 15:09 #23
Øh, jeg forstår slet ikke noget som helst. Du har et system, der kan putte
data ind i de to tabeller, med PHP og mysql, men ved ikke hvordan man udfører
en sql-sætning?
Avatar billede kane Juniormester
26. juni 2004 - 15:23 #24
ikke når du siger det på den måde.

tænker du ala sådan her

$query = mysql_query("SELECT * FROM resultat where Id = '$_GET[id]'") or die(mysql_error()); 
while($row = mysql_fetch_array($query))  {
Avatar billede erikjacobsen Ekspert
26. juni 2004 - 15:29 #25
ja
Avatar billede kane Juniormester
11. august 2004 - 20:12 #26
erik<-----
kan du smide et svar så du kan få nogle point
Avatar billede erikjacobsen Ekspert
11. august 2004 - 20:15 #27
Nej tak, jeg samler ikke på point.
Avatar billede kane Juniormester
11. august 2004 - 20:18 #28
ok
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