Avatar billede jonasst Nybegynder
26. februar 2004 - 12:55 Der er 6 kommentarer

2 x mysql_query der driller

Er (stadig) igang med et billetsystem men det driller. Så jeg vil være meget taknemmelig hvis nogen gider at hjælpe mig.
Problemet er min 2 x mysql_query som jeg ikke kan få slået
sammen eller få til at arbejde med hinanden. Det der nu sker er at $antal ikke er relateret til en forestilling.ID og derfor regner den samme værdi ud til alle forestillingerne. Jeg har prøvet at lave de to mysql_query om til en men får så følgende fejl: "Warning: mysql_result(): supplied argument is not a valid MySQL result resource"
Her er min fil jeg håber i kan forstå hvad det er jeg prøver at lave:

$forestillinger = mysql_query("SELECT Forestilling.ID, Tid, Titel, Gruppe, Spillested, Pladser
FROM Forestilling, Titel, Gruppe, Spillested
WHERE TitelID=Titel.ID
AND GruppeID=Gruppe.ID");

$antal = mysql_result(mysql_query("SELECT SUM(Reservationer) FROM Reservationer
WHERE RID=Reservationer.ID AND FID=Forestilling.ID"),0);

while ($forestilling = mysql_fetch_array($forestillinger)) {
$id = $forestilling["ID"];
$tid = $forestilling["Tid"];
$titel = $forestilling["Titel"];
$gruppe = $forestilling["Gruppe"];
$spillested = $forestilling["Spillested"];
$pladser = $forestilling["Pladser"];
$now = ( date("Y-m-d H:i:s"));
if ($now < $tid and $pladser > $antal) {
echo("$tid $titel $gruppe $spillested $pladser $antal <a href='bestil.php?id=$id'>Bestil billet $now</a>'<br>");
} else {
echo("$tid $titel $gruppe $spillested $pladser $antal Du kan desværre ikke bestille billet til denne forestilling<br>");   
    }
}
Avatar billede chries Nybegynder
26. februar 2004 - 13:04 #1
prøv:
$result = mysql_query("SELECT SUM(Reservationer) AS antal FROM Reservationer
WHERE RID=Reservationer.ID AND FID=Forestilling.ID");

if( $antal = mysql_fetch_array($result) ) {
$total = $antal['antal'];
}
Avatar billede jakoba Nybegynder
26. februar 2004 - 13:12 #2
du skal have joinet dine mange tabeller så de hænger sammen.

Forestilling, Titel, Gruppe, Spillested, Reservationer

dr må være et felt i tabellen forestilling der kan bruges til at hitte ud af hvilket spillested det er en reservation til. Den info er vigtig. alle 5 tabeller skal 'joines sammen' hvis du vil lave det i een query.
  Kan du fortælle hvad felter der er i diverse tabeller ?

Du skriver
    SELECT SUM(Reservationer) FROM Reservationer
og det er gylle. parameteren til SUM funktionen skal være navnet på et felt. ikke navnet på en tabel. Jeg vil gætte på du mener:
    SELECT COUNT(*) FROM Reservationer
det tæller hvormange rækker der blev funder der overholder WHERE betingelsen.

mvh JakobA
Avatar billede jonasst Nybegynder
26. februar 2004 - 13:22 #3
Til Chries
Jeg har prøvet at følge dit råd men ved ikke hvor du vil have jeg skal placere if sætningen. Har prøvet til sidst, efter og før den anden if sætning men får at vide at det ikke er en gyldig resource
Avatar billede jonasst Nybegynder
26. februar 2004 - 13:33 #4
Til Jakoba
Reservationer er navnet på feltet det har bare samme navn som tabellen. Det vil jeg ændre så det hedder antal istedet. SELECT SUM(Antal) skal ikke tælle rækker men de værdier der står i rækkerne.
Da det skulle være muligt at bestille billetter til mange forestillinger har jeg lavet en Rlookup tabel (WHERE RID=Reservationer.ID AND FID=Forestilling.ID)
Avatar billede jakoba Nybegynder
26. februar 2004 - 14:02 #5
Når du får beskeden "ikke en gyldig resource" betyder det at den SQL kommando du prøvede at få udført ikke kunne udføres (fx pga syntaxfejl, fejlstavet tabelnavn eller feltnavn, manglende connection til databasen, etc)

God ide at omdøbe feltet 'Reservationer' til et navn der ikke sådan kan forveksles med noget andet :-) Og ja, når det er et felt med et tal i er SUM den rigtige funktion at bruge.

Kan du fortælle hvad felter der er i diverse tabeller ?
Avatar billede jonasst Nybegynder
26. februar 2004 - 14:25 #6
Her kommer en list over de fire vigtige tabeller der har betydning for mit ptoblem
Forestilling:   
ID
Tid
TitelID
GruppeID
SpillestedID
InstruktørID

Spillested:
ID
Navn
Adresse
Pladser

Rlookup:
FID
RID

Reservationer:
ID
Antal
Navn
Tlf
Email
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